; LLVM IR from aws/s2n-tls :: tests/unit (s2n_early_data_io_api_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_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_blob = type { ptr, i32, i32, i8 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_result = type { i32 }
%struct.s2n_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }

@s2n_use_color_in_output = external dso_local global i8, align 1
@s2n_allowed_reads = external dso_local global i8, align 1
@s2n_allowed_writes = external dso_local global i8, align 1
@test_count = external dso_local global i32, align 4
@stdout = external global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [85 x i8], align 1
@stderr = external global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@__const.main.malformed_record = external hidden unnamed_addr constant [9 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [94 x i8], align 1
@__const.main.large_data = external hidden unnamed_addr constant [16174 x i8], align 16
@.str.115 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [670 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [2001 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [102 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local i32 @main(i32 noundef %0, ptr noundef %1) #0 {
  %3 = alloca i32, align 4
  %4 = alloca i32, align 4
  %5 = alloca ptr, align 8
  %6 = alloca i32, align 4
  %7 = alloca i32, align 4
  %8 = alloca i32, align 4
  %9 = alloca i32, align 4
  %10 = alloca i32, align 4
  %11 = alloca [12 x i8], align 1
  %12 = alloca [9 x i8], align 1
  %13 = alloca ptr, align 8
  %14 = alloca i32, align 4
  %15 = alloca i32, align 4
  %16 = alloca i32, align 4
  %17 = alloca ptr, align 8
  %18 = alloca i32, align 4
  %19 = alloca i32, align 4
  %20 = alloca ptr, align 8
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = alloca %struct.s2n_connection, align 8
  %26 = alloca i32, align 4
  %27 = alloca i64, align 8
  %28 = alloca i8, align 1
  %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 i32, align 4
  %35 = alloca i32, align 4
  %36 = alloca i32, align 4
  %37 = alloca i32, align 4
  %38 = alloca i32, align 4
  %39 = alloca i32, align 4
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca i32, align 4
  %43 = alloca i32, align 4
  %44 = alloca i32, align 4
  %45 = alloca %struct.s2n_stuffer, align 8
  %46 = alloca %struct.s2n_stuffer, align 8
  %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 i64, align 8
  %53 = alloca i32, align 4
  %54 = alloca i32, align 4
  %55 = alloca i32, align 4
  %56 = alloca i32, align 4
  %57 = alloca i32, align 4
  %58 = alloca i32, align 4
  %59 = alloca i32, align 4
  %60 = alloca i32, align 4
  %61 = alloca ptr, align 8
  %62 = alloca i32, align 4
  %63 = alloca i32, align 4
  %64 = alloca i32, align 4
  %65 = alloca %struct.s2n_stuffer, align 8
  %66 = alloca %struct.s2n_stuffer, align 8
  %67 = alloca i32, align 4
  %68 = alloca i32, align 4
  %69 = alloca i32, align 4
  %70 = alloca i64, align 8
  %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 i32, align 4
  %78 = alloca %struct.s2n_connection, align 8
  %79 = alloca i32, align 4
  %80 = alloca i64, align 8
  %81 = alloca i8, align 1
  %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 ptr, align 8
  %95 = alloca i32, align 4
  %96 = alloca i32, align 4
  %97 = alloca i32, align 4
  %98 = alloca i32, align 4
  %99 = alloca %struct.s2n_stuffer, align 8
  %100 = alloca %struct.s2n_stuffer, align 8
  %101 = alloca i32, align 4
  %102 = alloca i32, align 4
  %103 = alloca i32, align 4
  %104 = alloca [100 x i8], align 16
  %105 = alloca i32, align 4
  %106 = alloca i64, align 8
  %107 = alloca i32, align 4
  %108 = alloca i32, align 4
  %109 = alloca i32, align 4
  %110 = alloca i32, align 4
  %111 = alloca i32, align 4
  %112 = alloca i32, align 4
  %113 = alloca i32, align 4
  %114 = alloca ptr, align 8
  %115 = alloca ptr, align 8
  %116 = alloca %struct.s2n_test_io_pair, align 4
  %117 = alloca %struct.s2n_result, align 4
  %118 = alloca i32, align 4
  %119 = alloca i32, align 4
  %120 = alloca i32, align 4
  %121 = alloca [100 x i8], align 16
  %122 = alloca i32, align 4
  %123 = alloca i64, align 8
  %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 i32, align 4
  %133 = alloca i32, align 4
  %134 = alloca i32, align 4
  %135 = alloca i32, align 4
  %136 = alloca ptr, align 8
  %137 = alloca ptr, align 8
  %138 = alloca %struct.s2n_test_io_pair, align 4
  %139 = alloca %struct.s2n_result, align 4
  %140 = alloca i32, align 4
  %141 = alloca i32, align 4
  %142 = alloca i32, align 4
  %143 = alloca i32, align 4
  %144 = alloca i64, align 8
  %145 = alloca i32, align 4
  %146 = alloca i32, align 4
  %147 = alloca i32, align 4
  %148 = alloca i32, align 4
  %149 = alloca i32, align 4
  %150 = alloca i32, align 4
  %151 = alloca i32, align 4
  %152 = alloca i32, align 4
  %153 = alloca i32, align 4
  %154 = alloca i32, align 4
  %155 = alloca i32, align 4
  %156 = alloca i32, align 4
  %157 = alloca i32, align 4
  %158 = alloca i32, align 4
  %159 = alloca i32, align 4
  %160 = alloca i32, align 4
  %161 = alloca i32, align 4
  %162 = alloca i32, align 4
  %163 = alloca i32, align 4
  %164 = alloca i32, align 4
  %165 = alloca ptr, align 8
  %166 = alloca ptr, align 8
  %167 = alloca %struct.s2n_test_io_pair, align 4
  %168 = alloca %struct.s2n_result, align 4
  %169 = alloca i32, align 4
  %170 = alloca i32, align 4
  %171 = alloca i32, align 4
  %172 = alloca [100 x i8], align 16
  %173 = alloca i32, align 4
  %174 = alloca i64, align 8
  %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 i32, align 4
  %183 = alloca i32, align 4
  %184 = alloca i32, align 4
  %185 = alloca i32, align 4
  %186 = alloca i32, align 4
  %187 = alloca i32, align 4
  %188 = alloca i32, align 4
  %189 = alloca i32, align 4
  %190 = alloca 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 ptr, align 8
  %197 = alloca ptr, align 8
  %198 = alloca %struct.s2n_test_io_pair, align 4
  %199 = alloca %struct.s2n_result, align 4
  %200 = alloca i32, align 4
  %201 = alloca i32, align 4
  %202 = alloca i32, align 4
  %203 = alloca [100 x i8], align 16
  %204 = alloca i32, align 4
  %205 = alloca i64, align 8
  %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 i32, align 4
  %217 = alloca i32, align 4
  %218 = alloca i32, align 4
  %219 = alloca i32, align 4
  %220 = alloca i32, 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 ptr, align 8
  %237 = alloca ptr, align 8
  %238 = alloca %struct.s2n_test_io_pair, align 4
  %239 = alloca %struct.s2n_result, align 4
  %240 = alloca i32, align 4
  %241 = alloca i32, align 4
  %242 = alloca i32, align 4
  %243 = alloca [100 x i8], align 16
  %244 = alloca i32, align 4
  %245 = alloca i64, align 8
  %246 = alloca i32, align 4
  %247 = alloca i32, align 4
  %248 = alloca i32, align 4
  %249 = alloca i32, align 4
  %250 = alloca i32, align 4
  %251 = alloca i32, align 4
  %252 = alloca i32, align 4
  %253 = alloca i32, align 4
  %254 = alloca i32, align 4
  %255 = alloca i32, align 4
  %256 = alloca i32, align 4
  %257 = alloca i32, align 4
  %258 = alloca i32, align 4
  %259 = alloca i64, align 8
  %260 = alloca i32, align 4
  %261 = alloca i32, align 4
  %262 = alloca i32, align 4
  %263 = alloca i32, align 4
  %264 = alloca i32, align 4
  %265 = alloca i32, align 4
  %266 = alloca i32, align 4
  %267 = alloca i32, align 4
  %268 = alloca i32, align 4
  %269 = alloca i32, align 4
  %270 = alloca i32, align 4
  %271 = alloca i32, align 4
  %272 = alloca i32, align 4
  %273 = alloca i32, align 4
  %274 = alloca ptr, align 8
  %275 = alloca ptr, align 8
  %276 = alloca %struct.s2n_test_io_pair, align 4
  %277 = alloca %struct.s2n_result, align 4
  %278 = alloca i32, align 4
  %279 = alloca i32, align 4
  %280 = alloca i32, align 4
  %281 = alloca [100 x i8], align 16
  %282 = alloca i32, align 4
  %283 = alloca i64, align 8
  %284 = alloca i64, align 8
  %285 = alloca i64, align 8
  %286 = alloca i32, align 4
  %287 = alloca i32, align 4
  %288 = alloca i32, align 4
  %289 = alloca i32, align 4
  %290 = alloca i32, align 4
  %291 = alloca i32, align 4
  %292 = alloca i32, align 4
  %293 = alloca i32, align 4
  %294 = alloca i32, align 4
  %295 = alloca i32, align 4
  %296 = alloca i32, align 4
  %297 = alloca i32, align 4
  %298 = alloca %struct.s2n_blob, align 8
  %299 = alloca %struct.s2n_stuffer, align 8
  %300 = alloca i32, align 4
  %301 = alloca i32, align 4
  %302 = alloca i32, align 4
  %303 = alloca [12 x i8], align 1
  %304 = alloca i64, align 8
  %305 = alloca i32, align 4
  %306 = alloca i32, align 4
  %307 = alloca i32, align 4
  %308 = alloca i32, align 4
  %309 = alloca i32, align 4
  %310 = alloca i32, align 4
  %311 = alloca ptr, align 8
  %312 = alloca ptr, align 8
  %313 = alloca %struct.s2n_test_io_pair, align 4
  %314 = alloca %struct.s2n_result, align 4
  %315 = alloca i32, align 4
  %316 = alloca i32, align 4
  %317 = alloca i32, align 4
  %318 = alloca [100 x i8], align 16
  %319 = alloca i32, align 4
  %320 = alloca i64, align 8
  %321 = alloca i32, align 4
  %322 = alloca i32, align 4
  %323 = alloca i32, align 4
  %324 = alloca i32, align 4
  %325 = alloca i32, align 4
  %326 = alloca i32, align 4
  %327 = alloca i32, align 4
  %328 = alloca i32, align 4
  %329 = alloca i32, align 4
  %330 = alloca i32, align 4
  %331 = alloca i32, align 4
  %332 = alloca i32, align 4
  %333 = alloca i32, align 4
  %334 = alloca i32, align 4
  %335 = alloca i32, align 4
  %336 = alloca i32, align 4
  %337 = alloca ptr, align 8
  %338 = alloca ptr, align 8
  %339 = alloca %struct.s2n_test_io_pair, align 4
  %340 = alloca %struct.s2n_result, align 4
  %341 = alloca i32, align 4
  %342 = alloca i32, align 4
  %343 = alloca i32, align 4
  %344 = alloca [100 x i8], align 16
  %345 = alloca i32, align 4
  %346 = alloca i64, align 8
  %347 = alloca i32, align 4
  %348 = alloca i32, align 4
  %349 = alloca i32, align 4
  %350 = alloca i32, align 4
  %351 = alloca i32, align 4
  %352 = alloca i32, align 4
  %353 = alloca i32, align 4
  %354 = alloca i32, align 4
  %355 = alloca i32, align 4
  %356 = alloca i32, align 4
  %357 = alloca i32, align 4
  %358 = alloca i32, align 4
  %359 = alloca i32, align 4
  %360 = alloca i32, align 4
  %361 = alloca i32, align 4
  %362 = alloca i32, align 4
  %363 = alloca i32, align 4
  %364 = alloca i32, align 4
  %365 = alloca i32, align 4
  %366 = alloca i32, align 4
  %367 = alloca i32, align 4
  %368 = alloca i32, align 4
  %369 = alloca i32, align 4
  %370 = alloca i32, align 4
  %371 = alloca i8, align 1
  %372 = alloca ptr, align 8
  %373 = alloca i32, align 4
  %374 = alloca i32, align 4
  %375 = alloca i32, align 4
  %376 = alloca ptr, align 8
  %377 = alloca i32, align 4
  %378 = alloca i32, align 4
  %379 = alloca i32, align 4
  %380 = alloca i32, align 4
  %381 = alloca %struct.s2n_stuffer, align 8
  %382 = alloca %struct.s2n_stuffer, align 8
  %383 = alloca %struct.s2n_result, align 4
  %384 = alloca i32, align 4
  %385 = alloca [100 x i8], align 16
  %386 = alloca i32, align 4
  %387 = alloca i64, align 8
  %388 = alloca i32, align 4
  %389 = alloca i32, align 4
  %390 = alloca i32, align 4
  %391 = alloca i32, align 4
  %392 = alloca i32, align 4
  %393 = alloca i32, align 4
  %394 = alloca i32, align 4
  %395 = alloca i32, align 4
  %396 = alloca i32, align 4
  %397 = alloca i32, align 4
  %398 = alloca i32, align 4
  %399 = alloca i32, align 4
  %400 = alloca i32, align 4
  %401 = alloca i32, align 4
  %402 = alloca i32, align 4
  %403 = alloca i32, align 4
  %404 = alloca i32, align 4
  %405 = alloca i32, align 4
  %406 = alloca i32, align 4
  %407 = alloca i32, align 4
  %408 = alloca i32, align 4
  %409 = alloca i32, align 4
  %410 = alloca i32, align 4
  %411 = alloca i32, align 4
  %412 = alloca i32, align 4
  %413 = alloca i32, align 4
  %414 = alloca i32, align 4
  %415 = alloca i32, align 4
  %416 = alloca i32, align 4
  %417 = alloca i32, align 4
  %418 = alloca i32, align 4
  %419 = alloca i32, align 4
  %420 = alloca i32, align 4
  %421 = alloca i32, align 4
  %422 = alloca i32, align 4
  %423 = alloca i32, align 4
  %424 = alloca i32, align 4
  %425 = alloca i32, align 4
  %426 = alloca i32, align 4
  %427 = alloca i32, align 4
  %428 = alloca i32, align 4
  %429 = alloca i32, align 4
  %430 = alloca i32, align 4
  %431 = alloca i32, align 4
  %432 = alloca i32, align 4
  %433 = alloca i32, align 4
  %434 = alloca i32, align 4
  %435 = alloca i32, align 4
  %436 = alloca i32, align 4
  %437 = alloca i32, align 4
  %438 = alloca i32, align 4
  %439 = alloca i32, align 4
  %440 = alloca i32, align 4
  %441 = alloca i32, align 4
  %442 = alloca i32, align 4
  %443 = alloca i32, align 4
  %444 = alloca i32, align 4
  %445 = alloca i32, align 4
  %446 = alloca i32, align 4
  %447 = alloca i32, align 4
  %448 = alloca i32, align 4
  %449 = alloca i32, align 4
  %450 = alloca i32, align 4
  %451 = alloca i32, align 4
  %452 = alloca i32, align 4
  %453 = alloca i32, align 4
  %454 = alloca i32, align 4
  %455 = alloca i32, align 4
  %456 = alloca ptr, align 8
  %457 = alloca i32, align 4
  %458 = alloca i32, align 4
  %459 = alloca i32, align 4
  %460 = alloca ptr, align 8
  %461 = alloca i32, align 4
  %462 = alloca i32, align 4
  %463 = alloca i32, align 4
  %464 = alloca ptr, align 8
  %465 = alloca i32, align 4
  %466 = alloca i32, align 4
  %467 = alloca i32, align 4
  %468 = alloca %struct.s2n_stuffer, align 8
  %469 = alloca %struct.s2n_stuffer, align 8
  %470 = alloca %struct.s2n_result, align 4
  %471 = alloca i32, align 4
  %472 = alloca [16174 x i8], align 16
  %473 = alloca i32, align 4
  %474 = alloca i64, align 8
  %475 = alloca i64, align 8
  %476 = alloca i64, align 8
  %477 = alloca i32, align 4
  %478 = alloca i32, align 4
  %479 = alloca i32, align 4
  %480 = alloca i32, align 4
  %481 = alloca i32, align 4
  %482 = alloca i32, align 4
  %483 = alloca i32, align 4
  %484 = alloca i32, align 4
  %485 = alloca i32, align 4
  %486 = alloca %struct.s2n_result, align 4
  %487 = alloca %struct.s2n_result, align 4
  %488 = alloca %struct.s2n_psk, align 8
  %489 = alloca %struct.s2n_result, align 4
  %490 = alloca i32, align 4
  %491 = alloca ptr, align 8
  %492 = alloca %struct.s2n_blob, align 8
  %493 = alloca %struct.s2n_result, align 4
  %494 = alloca i32, align 4
  %495 = alloca i32, align 4
  %496 = alloca %struct.s2n_blob, align 8
  %497 = alloca %struct.s2n_result, align 4
  %498 = alloca i32, align 4
  %499 = alloca i32, align 4
  %500 = alloca i32, align 4
  %501 = alloca %struct.s2n_blob, align 8
  %502 = alloca %struct.s2n_result, align 4
  %503 = alloca %struct.s2n_blob, align 8
  %504 = alloca %struct.s2n_result, align 4
  %505 = alloca %struct.s2n_blob, align 8
  %506 = alloca %struct.s2n_result, align 4
  %507 = alloca %struct.s2n_blob, align 8
  %508 = alloca %struct.s2n_result, align 4
  %509 = alloca ptr, align 8
  %510 = alloca i32, align 4
  %511 = alloca i32, align 4
  %512 = alloca i32, align 4
  %513 = alloca i32, align 4
  %514 = alloca i32, align 4
  %515 = alloca %struct.s2n_stuffer, align 8
  %516 = alloca %struct.s2n_stuffer, align 8
  %517 = alloca i32, align 4
  %518 = alloca i32, align 4
  %519 = alloca i32, align 4
  %520 = alloca i32, align 4
  %521 = alloca i32, align 4
  %522 = alloca i32, align 4
  %523 = alloca [100 x i8], align 16
  %524 = alloca i32, align 4
  %525 = alloca i64, align 8
  %526 = alloca i32, align 4
  %527 = alloca i32, align 4
  %528 = alloca i32, align 4
  %529 = alloca i32, align 4
  %530 = alloca i32, align 4
  %531 = alloca i32, align 4
  %532 = alloca i32, align 4
  %533 = alloca i32, align 4
  %534 = alloca i32, align 4
  %535 = alloca i64, align 8
  %536 = alloca ptr, align 8
  %537 = alloca i32, align 4
  %538 = alloca i32, align 4
  %539 = alloca i32, align 4
  %540 = alloca i32, align 4
  %541 = alloca i32, align 4
  %542 = alloca %struct.s2n_stuffer, align 8
  %543 = alloca %struct.s2n_stuffer, align 8
  %544 = alloca i32, align 4
  %545 = alloca i32, align 4
  %546 = alloca [100 x i8], align 16
  %547 = alloca i32, align 4
  %548 = alloca i64, align 8
  %549 = alloca i64, align 8
  %550 = alloca i32, align 4
  %551 = alloca i32, align 4
  %552 = alloca i32, align 4
  %553 = alloca i32, align 4
  %554 = alloca i32, align 4
  %555 = alloca i32, align 4
  %556 = alloca i32, align 4
  %557 = alloca i64, align 8
  %558 = alloca i32, align 4
  %559 = alloca i32, align 4
  %560 = alloca i32, align 4
  %561 = alloca i32, align 4
  %562 = alloca i32, align 4
  %563 = alloca i32, align 4
  %564 = alloca i32, align 4
  %565 = alloca i64, align 8
  %566 = alloca i32, align 4
  %567 = alloca i32, align 4
  %568 = alloca i32, align 4
  %569 = alloca i32, align 4
  %570 = alloca i32, align 4
  %571 = alloca i32, align 4
  %572 = alloca i32, align 4
  %573 = alloca i32, align 4
  %574 = alloca i32, align 4
  %575 = alloca i32, align 4
  %576 = alloca i32, align 4
  %577 = alloca i32, align 4
  %578 = alloca i32, align 4
  %579 = alloca i32, align 4
  %580 = alloca i32, align 4
  %581 = alloca i64, align 8
  %582 = alloca i32, align 4
  %583 = alloca i32, align 4
  %584 = alloca i32, align 4
  %585 = alloca i32, align 4
  %586 = alloca i32, align 4
  %587 = alloca i32, align 4
  %588 = alloca i32, align 4
  %589 = alloca i32, align 4
  %590 = alloca i64, align 8
  %591 = alloca i32, align 4
  %592 = alloca i32, align 4
  %593 = alloca i32, align 4
  %594 = alloca i32, align 4
  %595 = alloca i32, align 4
  %596 = alloca i32, align 4
  %597 = alloca i32, align 4
  %598 = alloca i32, align 4
  %599 = alloca i32, align 4
  %600 = alloca i32, align 4
  %601 = alloca i32, align 4
  %602 = alloca i32, align 4
  %603 = alloca i32, align 4
  %604 = alloca i32, align 4
  %605 = alloca %struct.s2n_psk, align 8
  %606 = alloca i32, align 4
  %607 = alloca ptr, align 8
  %608 = alloca ptr, align 8
  %609 = alloca i32, align 4
  %610 = alloca i32, align 4
  %611 = alloca i32, align 4
  %612 = alloca i32, align 4
  %613 = alloca i32, align 4
  %614 = alloca %struct.s2n_stuffer, align 8
  %615 = alloca %struct.s2n_stuffer, align 8
  %616 = alloca i32, align 4
  %617 = alloca i32, align 4
  %618 = alloca i32, align 4
  %619 = alloca i32, align 4
  %620 = alloca i32, align 4
  %621 = alloca i32, align 4
  %622 = alloca [100 x i8], align 16
  %623 = alloca i32, align 4
  %624 = alloca i64, align 8
  %625 = alloca i32, align 4
  %626 = alloca i32, align 4
  %627 = alloca i32, align 4
  %628 = alloca i32, align 4
  %629 = alloca i32, align 4
  %630 = alloca i32, align 4
  %631 = alloca i32, align 4
  %632 = alloca i32, align 4
  %633 = alloca i32, align 4
  %634 = alloca i32, align 4
  %635 = alloca i32, align 4
  %636 = alloca i32, align 4
  %637 = alloca i32, align 4
  %638 = alloca %struct.s2n_psk, align 8
  %639 = alloca i32, align 4
  %640 = alloca ptr, align 8
  %641 = alloca ptr, align 8
  %642 = alloca i32, align 4
  %643 = alloca i32, align 4
  %644 = alloca i32, align 4
  %645 = alloca i32, align 4
  %646 = alloca i32, align 4
  %647 = alloca %struct.s2n_stuffer, align 8
  %648 = alloca %struct.s2n_stuffer, align 8
  %649 = alloca i32, align 4
  %650 = alloca i32, align 4
  %651 = alloca i32, align 4
  %652 = alloca i32, align 4
  %653 = alloca i32, align 4
  %654 = alloca i32, align 4
  %655 = alloca [100 x i8], align 16
  %656 = alloca i32, align 4
  %657 = alloca i64, align 8
  %658 = alloca i32, align 4
  %659 = alloca i32, align 4
  %660 = alloca i32, align 4
  %661 = alloca i32, align 4
  %662 = alloca i32, align 4
  %663 = alloca i32, align 4
  %664 = alloca i32, align 4
  %665 = alloca i32, align 4
  %666 = alloca %struct.s2n_result, align 4
  %667 = alloca i32, align 4
  %668 = alloca i32, align 4
  store i32 0, ptr %3, align 4
  store i32 %0, ptr %4, align 4, !tbaa !5
  store ptr %1, ptr %5, align 8, !tbaa !9
  br label %669

669:                                              ; preds = %2
  br label %670

670:                                              ; preds = %669
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %671 = load ptr, ptr @stdout, align 8, !tbaa !9
  %672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %671, ptr noundef @.str, ptr noundef @.str.1) #11
  %673 = load ptr, ptr @stdout, align 8, !tbaa !9
  %674 = call i32 @fflush(ptr noundef %673)
  br label %675

675:                                              ; preds = %670
  %676 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext true)
  %677 = icmp eq i32 %676, -1
  br i1 %677, label %678, label %729

678:                                              ; preds = %675
  br label %679

679:                                              ; preds = %678
  br label %680

680:                                              ; preds = %679
  call void @llvm.lifetime.start.p0(i64 4, ptr %6) #11
  %681 = call ptr @__errno_location() #12
  %682 = load i32, ptr %681, align 4, !tbaa !5
  store i32 %682, ptr %6, 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 %6, 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.4)
  %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.4)
  %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.2, i32 noundef %696, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 101, ptr noundef %699, ptr noundef %702, ptr noundef %705, i32 noundef %707) #11
  br label %726

709:                                              ; preds = %687, %680
  %710 = load i32, ptr %6, 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.4)
  %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.4)
  %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.5, i32 noundef %713, ptr noundef @.str.3, ptr noundef @.str.1, i32 noundef 101, 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 %6) #11
  br label %727

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

728:                                              ; No predecessors!
  br label %729

729:                                              ; preds = %728, %675
  br label %730

730:                                              ; preds = %729
  br label %731

731:                                              ; preds = %730
  %732 = load i32, ptr @test_count, align 4, !tbaa !5
  %733 = add nsw i32 %732, 1
  store i32 %733, ptr @test_count, align 4, !tbaa !5
  %734 = call i32 @s2n_enable_atexit()
  %735 = icmp eq i32 %734, -1
  br i1 %735, label %736, label %787

736:                                              ; preds = %731
  br label %737

737:                                              ; preds = %736
  br label %738

738:                                              ; preds = %737
  call void @llvm.lifetime.start.p0(i64 4, ptr %7) #11
  %739 = call ptr @__errno_location() #12
  %740 = load i32, ptr %739, align 4, !tbaa !5
  store i32 %740, ptr %7, align 4, !tbaa !5
  %741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %742 = call i32 @s2n_print_stacktrace(ptr noundef %741)
  %743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %744 = trunc i8 %743 to i1
  br i1 %744, label %745, label %767

745:                                              ; preds = %738
  %746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %747 = call i32 @fileno(ptr noundef %746) #11
  %748 = call i32 @isatty(i32 noundef %747) #11
  %749 = icmp ne i32 %748, 0
  br i1 %749, label %750, label %767

750:                                              ; preds = %745
  %751 = load i32, ptr %7, align 4, !tbaa !5
  %752 = call ptr @__errno_location() #12
  store i32 %751, ptr %752, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = load i32, ptr @test_count, align 4, !tbaa !5
  %755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %756 = load i32, ptr %755, align 4, !tbaa !5
  %757 = call ptr @s2n_strerror(i32 noundef %756, ptr noundef @.str.4)
  %758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %759 = load i32, ptr %758, align 4, !tbaa !5
  %760 = call ptr @s2n_strerror_debug(i32 noundef %759, ptr noundef @.str.4)
  %761 = call ptr @__errno_location() #12
  %762 = load i32, ptr %761, align 4, !tbaa !5
  %763 = call ptr @strerror(i32 noundef %762) #11
  %764 = call ptr @__errno_location() #12
  %765 = load i32, ptr %764, align 4, !tbaa !5
  %766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %753, ptr noundef @.str.2, i32 noundef %754, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 101, ptr noundef %757, ptr noundef %760, ptr noundef %763, i32 noundef %765) #11
  br label %784

767:                                              ; preds = %745, %738
  %768 = load i32, ptr %7, align 4, !tbaa !5
  %769 = call ptr @__errno_location() #12
  store i32 %768, ptr %769, align 4, !tbaa !5
  %770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %771 = load i32, ptr @test_count, align 4, !tbaa !5
  %772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %773 = load i32, ptr %772, align 4, !tbaa !5
  %774 = call ptr @s2n_strerror(i32 noundef %773, ptr noundef @.str.4)
  %775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %776 = load i32, ptr %775, align 4, !tbaa !5
  %777 = call ptr @s2n_strerror_debug(i32 noundef %776, ptr noundef @.str.4)
  %778 = call ptr @__errno_location() #12
  %779 = load i32, ptr %778, align 4, !tbaa !5
  %780 = call ptr @strerror(i32 noundef %779) #11
  %781 = call ptr @__errno_location() #12
  %782 = load i32, ptr %781, align 4, !tbaa !5
  %783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %770, ptr noundef @.str.5, i32 noundef %771, ptr noundef @.str.6, ptr noundef @.str.1, i32 noundef 101, ptr noundef %774, ptr noundef %777, ptr noundef %780, i32 noundef %782) #11
  br label %784

784:                                              ; preds = %767, %750
  call void @llvm.lifetime.end.p0(i64 4, ptr %7) #11
  br label %785

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

786:                                              ; No predecessors!
  br label %787

787:                                              ; preds = %786, %731
  br label %788

788:                                              ; preds = %787
  br label %789

789:                                              ; preds = %788
  br label %790

790:                                              ; preds = %789
  %791 = call i32 @s2n_init()
  %792 = icmp eq i32 %791, -1
  br i1 %792, label %793, label %844

793:                                              ; preds = %790
  br label %794

794:                                              ; preds = %793
  br label %795

795:                                              ; preds = %794
  call void @llvm.lifetime.start.p0(i64 4, ptr %8) #11
  %796 = call ptr @__errno_location() #12
  %797 = load i32, ptr %796, align 4, !tbaa !5
  store i32 %797, ptr %8, align 4, !tbaa !5
  %798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %799 = call i32 @s2n_print_stacktrace(ptr noundef %798)
  %800 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %801 = trunc i8 %800 to i1
  br i1 %801, label %802, label %824

802:                                              ; preds = %795
  %803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %804 = call i32 @fileno(ptr noundef %803) #11
  %805 = call i32 @isatty(i32 noundef %804) #11
  %806 = icmp ne i32 %805, 0
  br i1 %806, label %807, label %824

807:                                              ; preds = %802
  %808 = load i32, ptr %8, align 4, !tbaa !5
  %809 = call ptr @__errno_location() #12
  store i32 %808, ptr %809, align 4, !tbaa !5
  %810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %811 = load i32, ptr @test_count, align 4, !tbaa !5
  %812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %813 = load i32, ptr %812, align 4, !tbaa !5
  %814 = call ptr @s2n_strerror(i32 noundef %813, ptr noundef @.str.4)
  %815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %816 = load i32, ptr %815, align 4, !tbaa !5
  %817 = call ptr @s2n_strerror_debug(i32 noundef %816, ptr noundef @.str.4)
  %818 = call ptr @__errno_location() #12
  %819 = load i32, ptr %818, align 4, !tbaa !5
  %820 = call ptr @strerror(i32 noundef %819) #11
  %821 = call ptr @__errno_location() #12
  %822 = load i32, ptr %821, align 4, !tbaa !5
  %823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %810, ptr noundef @.str.2, i32 noundef %811, ptr noundef @.str.7, ptr noundef @.str.1, i32 noundef 101, ptr noundef %814, ptr noundef %817, ptr noundef %820, i32 noundef %822) #11
  br label %841

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

841:                                              ; preds = %824, %807
  call void @llvm.lifetime.end.p0(i64 4, ptr %8) #11
  br label %842

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

843:                                              ; No predecessors!
  br label %844

844:                                              ; preds = %843, %790
  br label %845

845:                                              ; preds = %844
  br label %846

846:                                              ; preds = %845
  %847 = call zeroext i1 (...) @s2n_is_tls13_fully_supported()
  br i1 %847, label %995, label %848

848:                                              ; preds = %846
  br label %849

849:                                              ; preds = %848
  br label %850

850:                                              ; preds = %849
  %851 = call i32 @s2n_cleanup()
  %852 = icmp eq i32 %851, -1
  br i1 %852, label %853, label %904

853:                                              ; preds = %850
  br label %854

854:                                              ; preds = %853
  br label %855

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

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

867:                                              ; preds = %862
  %868 = load i32, ptr %9, align 4, !tbaa !5
  %869 = call ptr @__errno_location() #12
  store i32 %868, ptr %869, align 4, !tbaa !5
  %870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %871 = load i32, ptr @test_count, align 4, !tbaa !5
  %872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %873 = load i32, ptr %872, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror(i32 noundef %873, ptr noundef @.str.4)
  %875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %876 = load i32, ptr %875, align 4, !tbaa !5
  %877 = call ptr @s2n_strerror_debug(i32 noundef %876, ptr noundef @.str.4)
  %878 = call ptr @__errno_location() #12
  %879 = load i32, ptr %878, align 4, !tbaa !5
  %880 = call ptr @strerror(i32 noundef %879) #11
  %881 = call ptr @__errno_location() #12
  %882 = load i32, ptr %881, align 4, !tbaa !5
  %883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %870, ptr noundef @.str.2, i32 noundef %871, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 104, ptr noundef %874, ptr noundef %877, ptr noundef %880, i32 noundef %882) #11
  br label %901

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

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

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

903:                                              ; No predecessors!
  br label %904

904:                                              ; preds = %903, %850
  br label %905

905:                                              ; preds = %904
  br label %906

906:                                              ; preds = %905
  br label %907

907:                                              ; preds = %906
  %908 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %909 = icmp eq i32 %908, -1
  br i1 %909, label %910, label %961

910:                                              ; preds = %907
  br label %911

911:                                              ; preds = %910
  br label %912

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

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

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

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

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

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

960:                                              ; No predecessors!
  br label %961

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

962:                                              ; preds = %961
  %963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %964 = trunc i8 %963 to i1
  br i1 %964, label %965, label %981

965:                                              ; preds = %962
  %966 = load ptr, ptr @stdout, align 8, !tbaa !9
  %967 = call i32 @fileno(ptr noundef %966) #11
  %968 = call i32 @isatty(i32 noundef %967) #11
  %969 = icmp ne i32 %968, 0
  br i1 %969, label %970, label %981

970:                                              ; preds = %965
  %971 = load i32, ptr @test_count, align 4, !tbaa !5
  %972 = icmp ne i32 %971, 0
  br i1 %972, label %973, label %977

973:                                              ; preds = %970
  %974 = load ptr, ptr @stdout, align 8, !tbaa !9
  %975 = load i32, ptr @test_count, align 4, !tbaa !5
  %976 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %974, ptr noundef @.str.10, i32 noundef %975) #11
  br label %980

977:                                              ; preds = %970
  %978 = load ptr, ptr @stdout, align 8, !tbaa !9
  %979 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %978, ptr noundef @.str.11) #11
  br label %980

980:                                              ; preds = %977, %973
  br label %992

981:                                              ; preds = %965, %962
  %982 = load i32, ptr @test_count, align 4, !tbaa !5
  %983 = icmp ne i32 %982, 0
  br i1 %983, label %984, label %988

984:                                              ; preds = %981
  %985 = load ptr, ptr @stdout, align 8, !tbaa !9
  %986 = load i32, ptr @test_count, align 4, !tbaa !5
  %987 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %985, ptr noundef @.str.12, i32 noundef %986) #11
  br label %991

988:                                              ; preds = %981
  %989 = load ptr, ptr @stdout, align 8, !tbaa !9
  %990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %989, ptr noundef @.str.13) #11
  br label %991

991:                                              ; preds = %988, %984
  br label %992

992:                                              ; preds = %991, %980
  store i32 0, ptr %3, align 4
  br label %32115

993:                                              ; No predecessors!
  br label %994

994:                                              ; preds = %993
  br label %995

995:                                              ; preds = %994, %846
  call void @llvm.lifetime.start.p0(i64 12, ptr %11) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %11, ptr align 1 @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr %12) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 1 %12, ptr align 1 @__const.main.malformed_record, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %13) #11
  %996 = call ptr @s2n_external_psk_new()
  store ptr %996, ptr %13, align 8, !tbaa !9
  br label %997

997:                                              ; preds = %995
  %998 = load i32, ptr @test_count, align 4, !tbaa !5
  %999 = add nsw i32 %998, 1
  store i32 %999, ptr @test_count, align 4, !tbaa !5
  %1000 = load ptr, ptr %13, align 8, !tbaa !9
  %1001 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1002 = call i32 @s2n_psk_set_identity(ptr noundef %1000, ptr noundef %1001, i16 noundef zeroext 12)
  %1003 = icmp eq i32 %1002, -1
  br i1 %1003, label %1004, label %1057

1004:                                             ; preds = %997
  br label %1005

1005:                                             ; preds = %1004
  br label %1006

1006:                                             ; preds = %1005
  call void @llvm.lifetime.start.p0(i64 4, ptr %14) #11
  %1007 = call ptr @__errno_location() #12
  %1008 = load i32, ptr %1007, align 4, !tbaa !5
  store i32 %1008, ptr %14, align 4, !tbaa !5
  %1009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1010 = call i32 @s2n_print_stacktrace(ptr noundef %1009)
  %1011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1012 = trunc i8 %1011 to i1
  br i1 %1012, label %1013, label %1035

1013:                                             ; preds = %1006
  %1014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1015 = call i32 @fileno(ptr noundef %1014) #11
  %1016 = call i32 @isatty(i32 noundef %1015) #11
  %1017 = icmp ne i32 %1016, 0
  br i1 %1017, label %1018, label %1035

1018:                                             ; preds = %1013
  %1019 = load i32, ptr %14, align 4, !tbaa !5
  %1020 = call ptr @__errno_location() #12
  store i32 %1019, ptr %1020, align 4, !tbaa !5
  %1021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1022 = load i32, ptr @test_count, align 4, !tbaa !5
  %1023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1024 = load i32, ptr %1023, align 4, !tbaa !5
  %1025 = call ptr @s2n_strerror(i32 noundef %1024, ptr noundef @.str.4)
  %1026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1027 = load i32, ptr %1026, align 4, !tbaa !5
  %1028 = call ptr @s2n_strerror_debug(i32 noundef %1027, ptr noundef @.str.4)
  %1029 = call ptr @__errno_location() #12
  %1030 = load i32, ptr %1029, align 4, !tbaa !5
  %1031 = call ptr @strerror(i32 noundef %1030) #11
  %1032 = call ptr @__errno_location() #12
  %1033 = load i32, ptr %1032, align 4, !tbaa !5
  %1034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1021, ptr noundef @.str.2, i32 noundef %1022, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 116, ptr noundef %1025, ptr noundef %1028, ptr noundef %1031, i32 noundef %1033) #11
  br label %1052

1035:                                             ; preds = %1013, %1006
  %1036 = load i32, ptr %14, align 4, !tbaa !5
  %1037 = call ptr @__errno_location() #12
  store i32 %1036, ptr %1037, align 4, !tbaa !5
  %1038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1039 = load i32, ptr @test_count, align 4, !tbaa !5
  %1040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1041 = load i32, ptr %1040, align 4, !tbaa !5
  %1042 = call ptr @s2n_strerror(i32 noundef %1041, ptr noundef @.str.4)
  %1043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1044 = load i32, ptr %1043, align 4, !tbaa !5
  %1045 = call ptr @s2n_strerror_debug(i32 noundef %1044, ptr noundef @.str.4)
  %1046 = call ptr @__errno_location() #12
  %1047 = load i32, ptr %1046, align 4, !tbaa !5
  %1048 = call ptr @strerror(i32 noundef %1047) #11
  %1049 = call ptr @__errno_location() #12
  %1050 = load i32, ptr %1049, align 4, !tbaa !5
  %1051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1038, ptr noundef @.str.5, i32 noundef %1039, ptr noundef @.str.14, ptr noundef @.str.1, i32 noundef 116, ptr noundef %1042, ptr noundef %1045, ptr noundef %1048, i32 noundef %1050) #11
  br label %1052

1052:                                             ; preds = %1035, %1018
  call void @llvm.lifetime.end.p0(i64 4, ptr %14) #11
  br label %1053

1053:                                             ; preds = %1052
  br label %1054

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

1055:                                             ; No predecessors!
  br label %1056

1056:                                             ; preds = %1055
  br label %1057

1057:                                             ; preds = %1056, %997
  br label %1058

1058:                                             ; preds = %1057
  br label %1059

1059:                                             ; preds = %1058
  br label %1060

1060:                                             ; preds = %1059
  %1061 = load i32, ptr @test_count, align 4, !tbaa !5
  %1062 = add nsw i32 %1061, 1
  store i32 %1062, ptr @test_count, align 4, !tbaa !5
  %1063 = load ptr, ptr %13, align 8, !tbaa !9
  %1064 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1065 = call i32 @s2n_psk_set_secret(ptr noundef %1063, ptr noundef %1064, i16 noundef zeroext 12)
  %1066 = icmp eq i32 %1065, -1
  br i1 %1066, label %1067, label %1120

1067:                                             ; preds = %1060
  br label %1068

1068:                                             ; preds = %1067
  br label %1069

1069:                                             ; preds = %1068
  call void @llvm.lifetime.start.p0(i64 4, ptr %15) #11
  %1070 = call ptr @__errno_location() #12
  %1071 = load i32, ptr %1070, align 4, !tbaa !5
  store i32 %1071, ptr %15, align 4, !tbaa !5
  %1072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1073 = call i32 @s2n_print_stacktrace(ptr noundef %1072)
  %1074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1075 = trunc i8 %1074 to i1
  br i1 %1075, label %1076, label %1098

1076:                                             ; preds = %1069
  %1077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1078 = call i32 @fileno(ptr noundef %1077) #11
  %1079 = call i32 @isatty(i32 noundef %1078) #11
  %1080 = icmp ne i32 %1079, 0
  br i1 %1080, label %1081, label %1098

1081:                                             ; preds = %1076
  %1082 = load i32, ptr %15, align 4, !tbaa !5
  %1083 = call ptr @__errno_location() #12
  store i32 %1082, ptr %1083, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = load i32, ptr @test_count, align 4, !tbaa !5
  %1086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1087 = load i32, ptr %1086, align 4, !tbaa !5
  %1088 = call ptr @s2n_strerror(i32 noundef %1087, ptr noundef @.str.4)
  %1089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1090 = load i32, ptr %1089, align 4, !tbaa !5
  %1091 = call ptr @s2n_strerror_debug(i32 noundef %1090, ptr noundef @.str.4)
  %1092 = call ptr @__errno_location() #12
  %1093 = load i32, ptr %1092, align 4, !tbaa !5
  %1094 = call ptr @strerror(i32 noundef %1093) #11
  %1095 = call ptr @__errno_location() #12
  %1096 = load i32, ptr %1095, align 4, !tbaa !5
  %1097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1084, ptr noundef @.str.2, i32 noundef %1085, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 117, ptr noundef %1088, ptr noundef %1091, ptr noundef %1094, i32 noundef %1096) #11
  br label %1115

1098:                                             ; preds = %1076, %1069
  %1099 = load i32, ptr %15, align 4, !tbaa !5
  %1100 = call ptr @__errno_location() #12
  store i32 %1099, ptr %1100, align 4, !tbaa !5
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = load i32, ptr @test_count, align 4, !tbaa !5
  %1103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1104 = load i32, ptr %1103, align 4, !tbaa !5
  %1105 = call ptr @s2n_strerror(i32 noundef %1104, ptr noundef @.str.4)
  %1106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1107 = load i32, ptr %1106, align 4, !tbaa !5
  %1108 = call ptr @s2n_strerror_debug(i32 noundef %1107, ptr noundef @.str.4)
  %1109 = call ptr @__errno_location() #12
  %1110 = load i32, ptr %1109, align 4, !tbaa !5
  %1111 = call ptr @strerror(i32 noundef %1110) #11
  %1112 = call ptr @__errno_location() #12
  %1113 = load i32, ptr %1112, align 4, !tbaa !5
  %1114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1101, ptr noundef @.str.5, i32 noundef %1102, ptr noundef @.str.15, ptr noundef @.str.1, i32 noundef 117, ptr noundef %1105, ptr noundef %1108, ptr noundef %1111, i32 noundef %1113) #11
  br label %1115

1115:                                             ; preds = %1098, %1081
  call void @llvm.lifetime.end.p0(i64 4, ptr %15) #11
  br label %1116

1116:                                             ; preds = %1115
  br label %1117

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

1118:                                             ; No predecessors!
  br label %1119

1119:                                             ; preds = %1118
  br label %1120

1120:                                             ; preds = %1119, %1060
  br label %1121

1121:                                             ; preds = %1120
  br label %1122

1122:                                             ; preds = %1121
  br label %1123

1123:                                             ; preds = %1122
  %1124 = load i32, ptr @test_count, align 4, !tbaa !5
  %1125 = add nsw i32 %1124, 1
  store i32 %1125, ptr @test_count, align 4, !tbaa !5
  %1126 = load ptr, ptr %13, align 8, !tbaa !9
  %1127 = call i32 @s2n_psk_configure_early_data(ptr noundef %1126, i32 noundef -1, i8 noundef zeroext 19, i8 noundef zeroext 1)
  %1128 = icmp eq i32 %1127, -1
  br i1 %1128, label %1129, label %1182

1129:                                             ; preds = %1123
  br label %1130

1130:                                             ; preds = %1129
  br label %1131

1131:                                             ; preds = %1130
  call void @llvm.lifetime.start.p0(i64 4, ptr %16) #11
  %1132 = call ptr @__errno_location() #12
  %1133 = load i32, ptr %1132, align 4, !tbaa !5
  store i32 %1133, ptr %16, align 4, !tbaa !5
  %1134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1135 = call i32 @s2n_print_stacktrace(ptr noundef %1134)
  %1136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1137 = trunc i8 %1136 to i1
  br i1 %1137, label %1138, label %1160

1138:                                             ; preds = %1131
  %1139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1140 = call i32 @fileno(ptr noundef %1139) #11
  %1141 = call i32 @isatty(i32 noundef %1140) #11
  %1142 = icmp ne i32 %1141, 0
  br i1 %1142, label %1143, label %1160

1143:                                             ; preds = %1138
  %1144 = load i32, ptr %16, align 4, !tbaa !5
  %1145 = call ptr @__errno_location() #12
  store i32 %1144, ptr %1145, align 4, !tbaa !5
  %1146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1147 = load i32, ptr @test_count, align 4, !tbaa !5
  %1148 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1149 = load i32, ptr %1148, align 4, !tbaa !5
  %1150 = call ptr @s2n_strerror(i32 noundef %1149, ptr noundef @.str.4)
  %1151 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1152 = load i32, ptr %1151, align 4, !tbaa !5
  %1153 = call ptr @s2n_strerror_debug(i32 noundef %1152, ptr noundef @.str.4)
  %1154 = call ptr @__errno_location() #12
  %1155 = load i32, ptr %1154, align 4, !tbaa !5
  %1156 = call ptr @strerror(i32 noundef %1155) #11
  %1157 = call ptr @__errno_location() #12
  %1158 = load i32, ptr %1157, align 4, !tbaa !5
  %1159 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1146, ptr noundef @.str.2, i32 noundef %1147, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 118, ptr noundef %1150, ptr noundef %1153, ptr noundef %1156, i32 noundef %1158) #11
  br label %1177

1160:                                             ; preds = %1138, %1131
  %1161 = load i32, ptr %16, align 4, !tbaa !5
  %1162 = call ptr @__errno_location() #12
  store i32 %1161, ptr %1162, align 4, !tbaa !5
  %1163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1164 = load i32, ptr @test_count, align 4, !tbaa !5
  %1165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1166 = load i32, ptr %1165, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror(i32 noundef %1166, ptr noundef @.str.4)
  %1168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1169 = load i32, ptr %1168, align 4, !tbaa !5
  %1170 = call ptr @s2n_strerror_debug(i32 noundef %1169, ptr noundef @.str.4)
  %1171 = call ptr @__errno_location() #12
  %1172 = load i32, ptr %1171, align 4, !tbaa !5
  %1173 = call ptr @strerror(i32 noundef %1172) #11
  %1174 = call ptr @__errno_location() #12
  %1175 = load i32, ptr %1174, align 4, !tbaa !5
  %1176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1163, ptr noundef @.str.5, i32 noundef %1164, ptr noundef @.str.16, ptr noundef @.str.1, i32 noundef 118, ptr noundef %1167, ptr noundef %1170, ptr noundef %1173, i32 noundef %1175) #11
  br label %1177

1177:                                             ; preds = %1160, %1143
  call void @llvm.lifetime.end.p0(i64 4, ptr %16) #11
  br label %1178

1178:                                             ; preds = %1177
  br label %1179

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

1180:                                             ; No predecessors!
  br label %1181

1181:                                             ; preds = %1180
  br label %1182

1182:                                             ; preds = %1181, %1123
  br label %1183

1183:                                             ; preds = %1182
  br label %1184

1184:                                             ; preds = %1183
  call void @llvm.lifetime.start.p0(i64 8, ptr %17) #11
  %1185 = call ptr @s2n_external_psk_new()
  store ptr %1185, ptr %17, align 8, !tbaa !9
  br label %1186

1186:                                             ; preds = %1184
  %1187 = load i32, ptr @test_count, align 4, !tbaa !5
  %1188 = add nsw i32 %1187, 1
  store i32 %1188, ptr @test_count, align 4, !tbaa !5
  %1189 = load ptr, ptr %17, align 8, !tbaa !9
  %1190 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1191 = call i32 @s2n_psk_set_identity(ptr noundef %1189, ptr noundef %1190, i16 noundef zeroext 12)
  %1192 = icmp eq i32 %1191, -1
  br i1 %1192, label %1193, label %1246

1193:                                             ; preds = %1186
  br label %1194

1194:                                             ; preds = %1193
  br label %1195

1195:                                             ; preds = %1194
  call void @llvm.lifetime.start.p0(i64 4, ptr %18) #11
  %1196 = call ptr @__errno_location() #12
  %1197 = load i32, ptr %1196, align 4, !tbaa !5
  store i32 %1197, ptr %18, align 4, !tbaa !5
  %1198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1199 = call i32 @s2n_print_stacktrace(ptr noundef %1198)
  %1200 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1201 = trunc i8 %1200 to i1
  br i1 %1201, label %1202, label %1224

1202:                                             ; preds = %1195
  %1203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1204 = call i32 @fileno(ptr noundef %1203) #11
  %1205 = call i32 @isatty(i32 noundef %1204) #11
  %1206 = icmp ne i32 %1205, 0
  br i1 %1206, label %1207, label %1224

1207:                                             ; preds = %1202
  %1208 = load i32, ptr %18, align 4, !tbaa !5
  %1209 = call ptr @__errno_location() #12
  store i32 %1208, ptr %1209, align 4, !tbaa !5
  %1210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1211 = load i32, ptr @test_count, align 4, !tbaa !5
  %1212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1213 = load i32, ptr %1212, align 4, !tbaa !5
  %1214 = call ptr @s2n_strerror(i32 noundef %1213, ptr noundef @.str.4)
  %1215 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1216 = load i32, ptr %1215, align 4, !tbaa !5
  %1217 = call ptr @s2n_strerror_debug(i32 noundef %1216, ptr noundef @.str.4)
  %1218 = call ptr @__errno_location() #12
  %1219 = load i32, ptr %1218, align 4, !tbaa !5
  %1220 = call ptr @strerror(i32 noundef %1219) #11
  %1221 = call ptr @__errno_location() #12
  %1222 = load i32, ptr %1221, align 4, !tbaa !5
  %1223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1210, ptr noundef @.str.2, i32 noundef %1211, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 121, ptr noundef %1214, ptr noundef %1217, ptr noundef %1220, i32 noundef %1222) #11
  br label %1241

1224:                                             ; preds = %1202, %1195
  %1225 = load i32, ptr %18, align 4, !tbaa !5
  %1226 = call ptr @__errno_location() #12
  store i32 %1225, ptr %1226, align 4, !tbaa !5
  %1227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1228 = load i32, ptr @test_count, align 4, !tbaa !5
  %1229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1230 = load i32, ptr %1229, align 4, !tbaa !5
  %1231 = call ptr @s2n_strerror(i32 noundef %1230, ptr noundef @.str.4)
  %1232 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1233 = load i32, ptr %1232, align 4, !tbaa !5
  %1234 = call ptr @s2n_strerror_debug(i32 noundef %1233, ptr noundef @.str.4)
  %1235 = call ptr @__errno_location() #12
  %1236 = load i32, ptr %1235, align 4, !tbaa !5
  %1237 = call ptr @strerror(i32 noundef %1236) #11
  %1238 = call ptr @__errno_location() #12
  %1239 = load i32, ptr %1238, align 4, !tbaa !5
  %1240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1227, ptr noundef @.str.5, i32 noundef %1228, ptr noundef @.str.17, ptr noundef @.str.1, i32 noundef 121, ptr noundef %1231, ptr noundef %1234, ptr noundef %1237, i32 noundef %1239) #11
  br label %1241

1241:                                             ; preds = %1224, %1207
  call void @llvm.lifetime.end.p0(i64 4, ptr %18) #11
  br label %1242

1242:                                             ; preds = %1241
  br label %1243

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

1244:                                             ; No predecessors!
  br label %1245

1245:                                             ; preds = %1244
  br label %1246

1246:                                             ; preds = %1245, %1186
  br label %1247

1247:                                             ; preds = %1246
  br label %1248

1248:                                             ; preds = %1247
  br label %1249

1249:                                             ; preds = %1248
  %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 = load ptr, ptr %17, align 8, !tbaa !9
  %1253 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1254 = call i32 @s2n_psk_set_secret(ptr noundef %1252, ptr noundef %1253, i16 noundef zeroext 12)
  %1255 = icmp eq i32 %1254, -1
  br i1 %1255, label %1256, label %1309

1256:                                             ; preds = %1249
  br label %1257

1257:                                             ; preds = %1256
  br label %1258

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

1265:                                             ; preds = %1258
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = call i32 @fileno(ptr noundef %1266) #11
  %1268 = call i32 @isatty(i32 noundef %1267) #11
  %1269 = icmp ne i32 %1268, 0
  br i1 %1269, label %1270, label %1287

1270:                                             ; preds = %1265
  %1271 = load i32, ptr %19, align 4, !tbaa !5
  %1272 = call ptr @__errno_location() #12
  store i32 %1271, ptr %1272, align 4, !tbaa !5
  %1273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1274 = load i32, ptr @test_count, align 4, !tbaa !5
  %1275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1276 = load i32, ptr %1275, align 4, !tbaa !5
  %1277 = call ptr @s2n_strerror(i32 noundef %1276, ptr noundef @.str.4)
  %1278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1279 = load i32, ptr %1278, align 4, !tbaa !5
  %1280 = call ptr @s2n_strerror_debug(i32 noundef %1279, ptr noundef @.str.4)
  %1281 = call ptr @__errno_location() #12
  %1282 = load i32, ptr %1281, align 4, !tbaa !5
  %1283 = call ptr @strerror(i32 noundef %1282) #11
  %1284 = call ptr @__errno_location() #12
  %1285 = load i32, ptr %1284, align 4, !tbaa !5
  %1286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1273, ptr noundef @.str.2, i32 noundef %1274, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1277, ptr noundef %1280, ptr noundef %1283, i32 noundef %1285) #11
  br label %1304

1287:                                             ; preds = %1265, %1258
  %1288 = load i32, ptr %19, align 4, !tbaa !5
  %1289 = call ptr @__errno_location() #12
  store i32 %1288, ptr %1289, align 4, !tbaa !5
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = load i32, ptr @test_count, align 4, !tbaa !5
  %1292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1293 = load i32, ptr %1292, align 4, !tbaa !5
  %1294 = call ptr @s2n_strerror(i32 noundef %1293, ptr noundef @.str.4)
  %1295 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1296 = load i32, ptr %1295, align 4, !tbaa !5
  %1297 = call ptr @s2n_strerror_debug(i32 noundef %1296, ptr noundef @.str.4)
  %1298 = call ptr @__errno_location() #12
  %1299 = load i32, ptr %1298, align 4, !tbaa !5
  %1300 = call ptr @strerror(i32 noundef %1299) #11
  %1301 = call ptr @__errno_location() #12
  %1302 = load i32, ptr %1301, align 4, !tbaa !5
  %1303 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1290, ptr noundef @.str.5, i32 noundef %1291, ptr noundef @.str.18, ptr noundef @.str.1, i32 noundef 122, ptr noundef %1294, ptr noundef %1297, ptr noundef %1300, i32 noundef %1302) #11
  br label %1304

1304:                                             ; preds = %1287, %1270
  call void @llvm.lifetime.end.p0(i64 4, ptr %19) #11
  br label %1305

1305:                                             ; preds = %1304
  br label %1306

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

1307:                                             ; No predecessors!
  br label %1308

1308:                                             ; preds = %1307
  br label %1309

1309:                                             ; preds = %1308, %1249
  br label %1310

1310:                                             ; preds = %1309
  br label %1311

1311:                                             ; preds = %1310
  call void @llvm.lifetime.start.p0(i64 8, ptr %20) #11
  %1312 = call ptr @s2n_external_psk_new()
  store ptr %1312, ptr %20, align 8, !tbaa !9
  br label %1313

1313:                                             ; preds = %1311
  %1314 = load i32, ptr @test_count, align 4, !tbaa !5
  %1315 = add nsw i32 %1314, 1
  store i32 %1315, ptr @test_count, align 4, !tbaa !5
  %1316 = load ptr, ptr %20, align 8, !tbaa !9
  %1317 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1318 = call i32 @s2n_psk_set_identity(ptr noundef %1316, ptr noundef %1317, i16 noundef zeroext 12)
  %1319 = icmp eq i32 %1318, -1
  br i1 %1319, label %1320, label %1373

1320:                                             ; preds = %1313
  br label %1321

1321:                                             ; preds = %1320
  br label %1322

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

1329:                                             ; preds = %1322
  %1330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1331 = call i32 @fileno(ptr noundef %1330) #11
  %1332 = call i32 @isatty(i32 noundef %1331) #11
  %1333 = icmp ne i32 %1332, 0
  br i1 %1333, label %1334, label %1351

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

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

1368:                                             ; preds = %1351, %1334
  call void @llvm.lifetime.end.p0(i64 4, ptr %21) #11
  br label %1369

1369:                                             ; preds = %1368
  br label %1370

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

1371:                                             ; No predecessors!
  br label %1372

1372:                                             ; preds = %1371
  br label %1373

1373:                                             ; preds = %1372, %1313
  br label %1374

1374:                                             ; preds = %1373
  br label %1375

1375:                                             ; preds = %1374
  br label %1376

1376:                                             ; preds = %1375
  %1377 = load i32, ptr @test_count, align 4, !tbaa !5
  %1378 = add nsw i32 %1377, 1
  store i32 %1378, ptr @test_count, align 4, !tbaa !5
  %1379 = load ptr, ptr %20, align 8, !tbaa !9
  %1380 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1381 = call i32 @s2n_psk_set_secret(ptr noundef %1379, ptr noundef %1380, i16 noundef zeroext 12)
  %1382 = icmp eq i32 %1381, -1
  br i1 %1382, label %1383, label %1436

1383:                                             ; preds = %1376
  br label %1384

1384:                                             ; preds = %1383
  br label %1385

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

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

1397:                                             ; preds = %1392
  %1398 = load i32, ptr %22, align 4, !tbaa !5
  %1399 = call ptr @__errno_location() #12
  store i32 %1398, ptr %1399, align 4, !tbaa !5
  %1400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1401 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %1403, ptr noundef @.str.4)
  %1405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1406 = load i32, ptr %1405, align 4, !tbaa !5
  %1407 = call ptr @s2n_strerror_debug(i32 noundef %1406, ptr noundef @.str.4)
  %1408 = call ptr @__errno_location() #12
  %1409 = load i32, ptr %1408, align 4, !tbaa !5
  %1410 = call ptr @strerror(i32 noundef %1409) #11
  %1411 = call ptr @__errno_location() #12
  %1412 = load i32, ptr %1411, align 4, !tbaa !5
  %1413 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1400, ptr noundef @.str.2, i32 noundef %1401, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1404, ptr noundef %1407, ptr noundef %1410, i32 noundef %1412) #11
  br label %1431

1414:                                             ; preds = %1392, %1385
  %1415 = load i32, ptr %22, align 4, !tbaa !5
  %1416 = call ptr @__errno_location() #12
  store i32 %1415, ptr %1416, align 4, !tbaa !5
  %1417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1418 = load i32, ptr @test_count, align 4, !tbaa !5
  %1419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1420 = load i32, ptr %1419, align 4, !tbaa !5
  %1421 = call ptr @s2n_strerror(i32 noundef %1420, ptr noundef @.str.4)
  %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.4)
  %1425 = call ptr @__errno_location() #12
  %1426 = load i32, ptr %1425, align 4, !tbaa !5
  %1427 = call ptr @strerror(i32 noundef %1426) #11
  %1428 = call ptr @__errno_location() #12
  %1429 = load i32, ptr %1428, align 4, !tbaa !5
  %1430 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1417, ptr noundef @.str.5, i32 noundef %1418, ptr noundef @.str.20, ptr noundef @.str.1, i32 noundef 126, ptr noundef %1421, ptr noundef %1424, ptr noundef %1427, i32 noundef %1429) #11
  br label %1431

1431:                                             ; preds = %1414, %1397
  call void @llvm.lifetime.end.p0(i64 4, ptr %22) #11
  br label %1432

1432:                                             ; preds = %1431
  br label %1433

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

1434:                                             ; No predecessors!
  br label %1435

1435:                                             ; preds = %1434
  br label %1436

1436:                                             ; preds = %1435, %1376
  br label %1437

1437:                                             ; preds = %1436
  br label %1438

1438:                                             ; preds = %1437
  br label %1439

1439:                                             ; preds = %1438
  %1440 = load i32, ptr @test_count, align 4, !tbaa !5
  %1441 = add nsw i32 %1440, 1
  store i32 %1441, ptr @test_count, align 4, !tbaa !5
  %1442 = load ptr, ptr %20, align 8, !tbaa !9
  %1443 = call i32 @s2n_psk_configure_early_data(ptr noundef %1442, i32 noundef -1, i8 noundef zeroext 19, i8 noundef zeroext 3)
  %1444 = icmp eq i32 %1443, -1
  br i1 %1444, label %1445, label %1498

1445:                                             ; preds = %1439
  br label %1446

1446:                                             ; preds = %1445
  br label %1447

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

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

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

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

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

1494:                                             ; preds = %1493
  br label %1495

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

1496:                                             ; No predecessors!
  br label %1497

1497:                                             ; preds = %1496
  br label %1498

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

1499:                                             ; preds = %1498
  br label %1500

1500:                                             ; preds = %1499
  br label %1501

1501:                                             ; preds = %1500
  %1502 = load i32, ptr @test_count, align 4, !tbaa !5
  %1503 = add nsw i32 %1502, 1
  store i32 %1503, ptr @test_count, align 4, !tbaa !5
  %1504 = load ptr, ptr %20, align 8, !tbaa !9
  %1505 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %1506 = call i32 @s2n_psk_set_application_protocol(ptr noundef %1504, ptr noundef %1505, i8 noundef zeroext 12)
  %1507 = icmp eq i32 %1506, -1
  br i1 %1507, label %1508, label %1561

1508:                                             ; preds = %1501
  br label %1509

1509:                                             ; preds = %1508
  br label %1510

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

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

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

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

1556:                                             ; preds = %1539, %1522
  call void @llvm.lifetime.end.p0(i64 4, ptr %24) #11
  br label %1557

1557:                                             ; preds = %1556
  br label %1558

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

1559:                                             ; No predecessors!
  br label %1560

1560:                                             ; preds = %1559
  br label %1561

1561:                                             ; preds = %1560, %1501
  br label %1562

1562:                                             ; preds = %1561
  br label %1563

1563:                                             ; preds = %1562
  call void @llvm.lifetime.start.p0(i64 4184, ptr %25) #11
  call void @llvm.memset.p0.i64(ptr align 8 %25, i8 0, i64 4184, i1 false)
  %1564 = getelementptr inbounds %struct.s2n_connection, ptr %25, i32 0, i32 13
  store i32 1, ptr %1564, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr %26) #11
  store i32 0, ptr %26, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %27) #11
  store i64 0, ptr %27, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 1, ptr %28) #11
  store i8 0, ptr %28, align 1, !tbaa !43
  br label %1565

1565:                                             ; preds = %1563
  br label %1566

1566:                                             ; preds = %1565
  br label %1567

1567:                                             ; preds = %1566
  %1568 = load i32, ptr @test_count, align 4, !tbaa !5
  %1569 = add nsw i32 %1568, 1
  store i32 %1569, ptr @test_count, align 4, !tbaa !5
  %1570 = call i32 @s2n_send_early_data(ptr noundef null, ptr noundef %28, i64 noundef 1, ptr noundef %27, ptr noundef %26)
  %1571 = icmp eq i32 %1570, -1
  br i1 %1571, label %1625, label %1572

1572:                                             ; preds = %1567
  br label %1573

1573:                                             ; preds = %1572
  br label %1574

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

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

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

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

1620:                                             ; preds = %1603, %1586
  call void @llvm.lifetime.end.p0(i64 4, ptr %29) #11
  br label %1621

1621:                                             ; preds = %1620
  br label %1622

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

1623:                                             ; No predecessors!
  br label %1624

1624:                                             ; preds = %1623
  br label %1625

1625:                                             ; preds = %1624, %1567
  br label %1626

1626:                                             ; preds = %1625
  br label %1627

1627:                                             ; preds = %1626
  br label %1628

1628:                                             ; preds = %1627
  %1629 = load i32, ptr @test_count, align 4, !tbaa !5
  %1630 = add nsw i32 %1629, 1
  store i32 %1630, ptr @test_count, align 4, !tbaa !5
  %1631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1632 = load i32, ptr %1631, align 4, !tbaa !5
  %1633 = icmp eq i32 %1632, 402653193
  br i1 %1633, label %1687, label %1634

1634:                                             ; preds = %1628
  br label %1635

1635:                                             ; preds = %1634
  br label %1636

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

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

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

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

1682:                                             ; preds = %1665, %1648
  call void @llvm.lifetime.end.p0(i64 4, ptr %30) #11
  br label %1683

1683:                                             ; preds = %1682
  br label %1684

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

1685:                                             ; No predecessors!
  br label %1686

1686:                                             ; preds = %1685
  br label %1687

1687:                                             ; preds = %1686, %1628
  br label %1688

1688:                                             ; preds = %1687
  br label %1689

1689:                                             ; preds = %1688
  br label %1690

1690:                                             ; preds = %1689
  %1691 = load i32, ptr @test_count, align 4, !tbaa !5
  %1692 = add nsw i32 %1691, 1
  store i32 %1692, ptr @test_count, align 4, !tbaa !5
  %1693 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1694 = load i32, ptr %1693, align 4, !tbaa !5
  %1695 = call ptr @s2n_strerror_debug(i32 noundef %1694, ptr noundef @.str.4)
  %1696 = icmp eq ptr %1695, null
  br i1 %1696, label %1697, label %1750

1697:                                             ; preds = %1690
  br label %1698

1698:                                             ; preds = %1697
  br label %1699

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

1706:                                             ; preds = %1699
  %1707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1708 = call i32 @fileno(ptr noundef %1707) #11
  %1709 = call i32 @isatty(i32 noundef %1708) #11
  %1710 = icmp ne i32 %1709, 0
  br i1 %1710, label %1711, label %1728

1711:                                             ; preds = %1706
  %1712 = load i32, ptr %31, align 4, !tbaa !5
  %1713 = call ptr @__errno_location() #12
  store i32 %1712, ptr %1713, align 4, !tbaa !5
  %1714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1717 = load i32, ptr %1716, align 4, !tbaa !5
  %1718 = call ptr @s2n_strerror(i32 noundef %1717, ptr noundef @.str.4)
  %1719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1720 = load i32, ptr %1719, align 4, !tbaa !5
  %1721 = call ptr @s2n_strerror_debug(i32 noundef %1720, ptr noundef @.str.4)
  %1722 = call ptr @__errno_location() #12
  %1723 = load i32, ptr %1722, align 4, !tbaa !5
  %1724 = call ptr @strerror(i32 noundef %1723) #11
  %1725 = call ptr @__errno_location() #12
  %1726 = load i32, ptr %1725, align 4, !tbaa !5
  %1727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1714, ptr noundef @.str.2, i32 noundef %1715, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1718, ptr noundef %1721, ptr noundef %1724, i32 noundef %1726) #11
  br label %1745

1728:                                             ; preds = %1706, %1699
  %1729 = load i32, ptr %31, align 4, !tbaa !5
  %1730 = call ptr @__errno_location() #12
  store i32 %1729, ptr %1730, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1734 = load i32, ptr %1733, align 4, !tbaa !5
  %1735 = call ptr @s2n_strerror(i32 noundef %1734, ptr noundef @.str.4)
  %1736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1737 = load i32, ptr %1736, align 4, !tbaa !5
  %1738 = call ptr @s2n_strerror_debug(i32 noundef %1737, ptr noundef @.str.4)
  %1739 = call ptr @__errno_location() #12
  %1740 = load i32, ptr %1739, align 4, !tbaa !5
  %1741 = call ptr @strerror(i32 noundef %1740) #11
  %1742 = call ptr @__errno_location() #12
  %1743 = load i32, ptr %1742, align 4, !tbaa !5
  %1744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef @.str.5, i32 noundef %1732, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 139, ptr noundef %1735, ptr noundef %1738, ptr noundef %1741, i32 noundef %1743) #11
  br label %1745

1745:                                             ; preds = %1728, %1711
  call void @llvm.lifetime.end.p0(i64 4, ptr %31) #11
  br label %1746

1746:                                             ; preds = %1745
  br label %1747

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

1748:                                             ; No predecessors!
  br label %1749

1749:                                             ; preds = %1748
  br label %1750

1750:                                             ; preds = %1749, %1690
  br label %1751

1751:                                             ; preds = %1750
  br label %1752

1752:                                             ; preds = %1751
  br label %1753

1753:                                             ; preds = %1752
  br label %1754

1754:                                             ; preds = %1753
  br label %1755

1755:                                             ; preds = %1754
  %1756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1756, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1757 = call ptr @__errno_location() #12
  store i32 0, ptr %1757, align 4, !tbaa !5
  br label %1758

1758:                                             ; preds = %1755
  br label %1759

1759:                                             ; preds = %1758
  br label %1760

1760:                                             ; preds = %1759
  br label %1761

1761:                                             ; preds = %1760
  br label %1762

1762:                                             ; preds = %1761
  br label %1763

1763:                                             ; preds = %1762
  br label %1764

1764:                                             ; preds = %1763
  %1765 = load i32, ptr @test_count, align 4, !tbaa !5
  %1766 = add nsw i32 %1765, 1
  store i32 %1766, ptr @test_count, align 4, !tbaa !5
  %1767 = call i32 @s2n_send_early_data(ptr noundef %25, ptr noundef %28, i64 noundef 1, ptr noundef null, ptr noundef %26)
  %1768 = icmp eq i32 %1767, -1
  br i1 %1768, label %1822, label %1769

1769:                                             ; preds = %1764
  br label %1770

1770:                                             ; preds = %1769
  br label %1771

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

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

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

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

1817:                                             ; preds = %1800, %1783
  call void @llvm.lifetime.end.p0(i64 4, ptr %32) #11
  br label %1818

1818:                                             ; preds = %1817
  br label %1819

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

1820:                                             ; No predecessors!
  br label %1821

1821:                                             ; preds = %1820
  br label %1822

1822:                                             ; preds = %1821, %1764
  br label %1823

1823:                                             ; preds = %1822
  br label %1824

1824:                                             ; preds = %1823
  br label %1825

1825:                                             ; preds = %1824
  %1826 = load i32, ptr @test_count, align 4, !tbaa !5
  %1827 = add nsw i32 %1826, 1
  store i32 %1827, ptr @test_count, align 4, !tbaa !5
  %1828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1829 = load i32, ptr %1828, align 4, !tbaa !5
  %1830 = icmp eq i32 %1829, 402653193
  br i1 %1830, label %1884, label %1831

1831:                                             ; preds = %1825
  br label %1832

1832:                                             ; preds = %1831
  br label %1833

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

1840:                                             ; preds = %1833
  %1841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1842 = call i32 @fileno(ptr noundef %1841) #11
  %1843 = call i32 @isatty(i32 noundef %1842) #11
  %1844 = icmp ne i32 %1843, 0
  br i1 %1844, label %1845, label %1862

1845:                                             ; preds = %1840
  %1846 = load i32, ptr %33, align 4, !tbaa !5
  %1847 = call ptr @__errno_location() #12
  store i32 %1846, ptr %1847, align 4, !tbaa !5
  %1848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1849 = load i32, ptr @test_count, align 4, !tbaa !5
  %1850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1851 = load i32, ptr %1850, align 4, !tbaa !5
  %1852 = call ptr @s2n_strerror(i32 noundef %1851, ptr noundef @.str.4)
  %1853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1854 = load i32, ptr %1853, align 4, !tbaa !5
  %1855 = call ptr @s2n_strerror_debug(i32 noundef %1854, ptr noundef @.str.4)
  %1856 = call ptr @__errno_location() #12
  %1857 = load i32, ptr %1856, align 4, !tbaa !5
  %1858 = call ptr @strerror(i32 noundef %1857) #11
  %1859 = call ptr @__errno_location() #12
  %1860 = load i32, ptr %1859, align 4, !tbaa !5
  %1861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1848, ptr noundef @.str.2, i32 noundef %1849, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 140, ptr noundef %1852, ptr noundef %1855, ptr noundef %1858, i32 noundef %1860) #11
  br label %1879

1862:                                             ; preds = %1840, %1833
  %1863 = load i32, ptr %33, align 4, !tbaa !5
  %1864 = call ptr @__errno_location() #12
  store i32 %1863, ptr %1864, align 4, !tbaa !5
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = load i32, ptr @test_count, align 4, !tbaa !5
  %1867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1868 = load i32, ptr %1867, align 4, !tbaa !5
  %1869 = call ptr @s2n_strerror(i32 noundef %1868, ptr noundef @.str.4)
  %1870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1871 = load i32, ptr %1870, align 4, !tbaa !5
  %1872 = call ptr @s2n_strerror_debug(i32 noundef %1871, ptr noundef @.str.4)
  %1873 = call ptr @__errno_location() #12
  %1874 = load i32, ptr %1873, align 4, !tbaa !5
  %1875 = call ptr @strerror(i32 noundef %1874) #11
  %1876 = call ptr @__errno_location() #12
  %1877 = load i32, ptr %1876, align 4, !tbaa !5
  %1878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1865, ptr noundef @.str.5, i32 noundef %1866, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 140, ptr noundef %1869, ptr noundef %1872, ptr noundef %1875, i32 noundef %1877) #11
  br label %1879

1879:                                             ; preds = %1862, %1845
  call void @llvm.lifetime.end.p0(i64 4, ptr %33) #11
  br label %1880

1880:                                             ; preds = %1879
  br label %1881

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

1882:                                             ; No predecessors!
  br label %1883

1883:                                             ; preds = %1882
  br label %1884

1884:                                             ; preds = %1883, %1825
  br label %1885

1885:                                             ; preds = %1884
  br label %1886

1886:                                             ; preds = %1885
  br label %1887

1887:                                             ; preds = %1886
  %1888 = load i32, ptr @test_count, align 4, !tbaa !5
  %1889 = add nsw i32 %1888, 1
  store i32 %1889, ptr @test_count, align 4, !tbaa !5
  %1890 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1891 = load i32, ptr %1890, align 4, !tbaa !5
  %1892 = call ptr @s2n_strerror_debug(i32 noundef %1891, ptr noundef @.str.4)
  %1893 = icmp eq ptr %1892, null
  br i1 %1893, label %1894, label %1947

1894:                                             ; preds = %1887
  br label %1895

1895:                                             ; preds = %1894
  br label %1896

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

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

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

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

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

1943:                                             ; preds = %1942
  br label %1944

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

1945:                                             ; No predecessors!
  br label %1946

1946:                                             ; preds = %1945
  br label %1947

1947:                                             ; preds = %1946, %1887
  br label %1948

1948:                                             ; preds = %1947
  br label %1949

1949:                                             ; preds = %1948
  br label %1950

1950:                                             ; preds = %1949
  br label %1951

1951:                                             ; preds = %1950
  br label %1952

1952:                                             ; preds = %1951
  %1953 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %1953, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %1954 = call ptr @__errno_location() #12
  store i32 0, ptr %1954, align 4, !tbaa !5
  br label %1955

1955:                                             ; preds = %1952
  br label %1956

1956:                                             ; preds = %1955
  br label %1957

1957:                                             ; preds = %1956
  br label %1958

1958:                                             ; preds = %1957
  br label %1959

1959:                                             ; preds = %1958
  br label %1960

1960:                                             ; preds = %1959
  br label %1961

1961:                                             ; preds = %1960
  %1962 = load i32, ptr @test_count, align 4, !tbaa !5
  %1963 = add nsw i32 %1962, 1
  store i32 %1963, ptr @test_count, align 4, !tbaa !5
  %1964 = call i32 @s2n_send_early_data(ptr noundef %25, ptr noundef %28, i64 noundef 1, ptr noundef %27, ptr noundef null)
  %1965 = icmp eq i32 %1964, -1
  br i1 %1965, label %2019, label %1966

1966:                                             ; preds = %1961
  br label %1967

1967:                                             ; preds = %1966
  br label %1968

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

1975:                                             ; preds = %1968
  %1976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1977 = call i32 @fileno(ptr noundef %1976) #11
  %1978 = call i32 @isatty(i32 noundef %1977) #11
  %1979 = icmp ne i32 %1978, 0
  br i1 %1979, label %1980, label %1997

1980:                                             ; preds = %1975
  %1981 = load i32, ptr %35, align 4, !tbaa !5
  %1982 = call ptr @__errno_location() #12
  store i32 %1981, ptr %1982, align 4, !tbaa !5
  %1983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1984 = load i32, ptr @test_count, align 4, !tbaa !5
  %1985 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1986 = load i32, ptr %1985, align 4, !tbaa !5
  %1987 = call ptr @s2n_strerror(i32 noundef %1986, ptr noundef @.str.4)
  %1988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %1989 = load i32, ptr %1988, align 4, !tbaa !5
  %1990 = call ptr @s2n_strerror_debug(i32 noundef %1989, ptr noundef @.str.4)
  %1991 = call ptr @__errno_location() #12
  %1992 = load i32, ptr %1991, align 4, !tbaa !5
  %1993 = call ptr @strerror(i32 noundef %1992) #11
  %1994 = call ptr @__errno_location() #12
  %1995 = load i32, ptr %1994, align 4, !tbaa !5
  %1996 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1983, ptr noundef @.str.2, i32 noundef %1984, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 141, ptr noundef %1987, ptr noundef %1990, ptr noundef %1993, i32 noundef %1995) #11
  br label %2014

1997:                                             ; preds = %1975, %1968
  %1998 = load i32, ptr %35, align 4, !tbaa !5
  %1999 = call ptr @__errno_location() #12
  store i32 %1998, ptr %1999, align 4, !tbaa !5
  %2000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2001 = load i32, ptr @test_count, align 4, !tbaa !5
  %2002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2003 = load i32, ptr %2002, align 4, !tbaa !5
  %2004 = call ptr @s2n_strerror(i32 noundef %2003, ptr noundef @.str.4)
  %2005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2006 = load i32, ptr %2005, align 4, !tbaa !5
  %2007 = call ptr @s2n_strerror_debug(i32 noundef %2006, ptr noundef @.str.4)
  %2008 = call ptr @__errno_location() #12
  %2009 = load i32, ptr %2008, align 4, !tbaa !5
  %2010 = call ptr @strerror(i32 noundef %2009) #11
  %2011 = call ptr @__errno_location() #12
  %2012 = load i32, ptr %2011, align 4, !tbaa !5
  %2013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2000, ptr noundef @.str.5, i32 noundef %2001, ptr noundef @.str.27, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2004, ptr noundef %2007, ptr noundef %2010, i32 noundef %2012) #11
  br label %2014

2014:                                             ; preds = %1997, %1980
  call void @llvm.lifetime.end.p0(i64 4, ptr %35) #11
  br label %2015

2015:                                             ; preds = %2014
  br label %2016

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

2017:                                             ; No predecessors!
  br label %2018

2018:                                             ; preds = %2017
  br label %2019

2019:                                             ; preds = %2018, %1961
  br label %2020

2020:                                             ; preds = %2019
  br label %2021

2021:                                             ; preds = %2020
  br label %2022

2022:                                             ; preds = %2021
  %2023 = load i32, ptr @test_count, align 4, !tbaa !5
  %2024 = add nsw i32 %2023, 1
  store i32 %2024, ptr @test_count, align 4, !tbaa !5
  %2025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2026 = load i32, ptr %2025, align 4, !tbaa !5
  %2027 = icmp eq i32 %2026, 402653193
  br i1 %2027, label %2081, label %2028

2028:                                             ; preds = %2022
  br label %2029

2029:                                             ; preds = %2028
  br label %2030

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

2037:                                             ; preds = %2030
  %2038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2039 = call i32 @fileno(ptr noundef %2038) #11
  %2040 = call i32 @isatty(i32 noundef %2039) #11
  %2041 = icmp ne i32 %2040, 0
  br i1 %2041, label %2042, label %2059

2042:                                             ; preds = %2037
  %2043 = load i32, ptr %36, align 4, !tbaa !5
  %2044 = call ptr @__errno_location() #12
  store i32 %2043, ptr %2044, align 4, !tbaa !5
  %2045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2046 = load i32, ptr @test_count, align 4, !tbaa !5
  %2047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2048 = load i32, ptr %2047, align 4, !tbaa !5
  %2049 = call ptr @s2n_strerror(i32 noundef %2048, ptr noundef @.str.4)
  %2050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2051 = load i32, ptr %2050, align 4, !tbaa !5
  %2052 = call ptr @s2n_strerror_debug(i32 noundef %2051, ptr noundef @.str.4)
  %2053 = call ptr @__errno_location() #12
  %2054 = load i32, ptr %2053, align 4, !tbaa !5
  %2055 = call ptr @strerror(i32 noundef %2054) #11
  %2056 = call ptr @__errno_location() #12
  %2057 = load i32, ptr %2056, align 4, !tbaa !5
  %2058 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2045, ptr noundef @.str.2, i32 noundef %2046, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2049, ptr noundef %2052, ptr noundef %2055, i32 noundef %2057) #11
  br label %2076

2059:                                             ; preds = %2037, %2030
  %2060 = load i32, ptr %36, align 4, !tbaa !5
  %2061 = call ptr @__errno_location() #12
  store i32 %2060, ptr %2061, align 4, !tbaa !5
  %2062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2063 = load i32, ptr @test_count, align 4, !tbaa !5
  %2064 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2065 = load i32, ptr %2064, align 4, !tbaa !5
  %2066 = call ptr @s2n_strerror(i32 noundef %2065, ptr noundef @.str.4)
  %2067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2068 = load i32, ptr %2067, align 4, !tbaa !5
  %2069 = call ptr @s2n_strerror_debug(i32 noundef %2068, ptr noundef @.str.4)
  %2070 = call ptr @__errno_location() #12
  %2071 = load i32, ptr %2070, align 4, !tbaa !5
  %2072 = call ptr @strerror(i32 noundef %2071) #11
  %2073 = call ptr @__errno_location() #12
  %2074 = load i32, ptr %2073, align 4, !tbaa !5
  %2075 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2062, ptr noundef @.str.5, i32 noundef %2063, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 141, ptr noundef %2066, ptr noundef %2069, ptr noundef %2072, i32 noundef %2074) #11
  br label %2076

2076:                                             ; preds = %2059, %2042
  call void @llvm.lifetime.end.p0(i64 4, ptr %36) #11
  br label %2077

2077:                                             ; preds = %2076
  br label %2078

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

2079:                                             ; No predecessors!
  br label %2080

2080:                                             ; preds = %2079
  br label %2081

2081:                                             ; preds = %2080, %2022
  br label %2082

2082:                                             ; preds = %2081
  br label %2083

2083:                                             ; preds = %2082
  br label %2084

2084:                                             ; preds = %2083
  %2085 = load i32, ptr @test_count, align 4, !tbaa !5
  %2086 = add nsw i32 %2085, 1
  store i32 %2086, ptr @test_count, align 4, !tbaa !5
  %2087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2088 = load i32, ptr %2087, align 4, !tbaa !5
  %2089 = call ptr @s2n_strerror_debug(i32 noundef %2088, ptr noundef @.str.4)
  %2090 = icmp eq ptr %2089, null
  br i1 %2090, label %2091, label %2144

2091:                                             ; preds = %2084
  br label %2092

2092:                                             ; preds = %2091
  br label %2093

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

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

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

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

2139:                                             ; preds = %2122, %2105
  call void @llvm.lifetime.end.p0(i64 4, ptr %37) #11
  br label %2140

2140:                                             ; preds = %2139
  br label %2141

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

2142:                                             ; No predecessors!
  br label %2143

2143:                                             ; preds = %2142
  br label %2144

2144:                                             ; preds = %2143, %2084
  br label %2145

2145:                                             ; preds = %2144
  br label %2146

2146:                                             ; preds = %2145
  br label %2147

2147:                                             ; preds = %2146
  br label %2148

2148:                                             ; preds = %2147
  br label %2149

2149:                                             ; preds = %2148
  %2150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2150, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2151 = call ptr @__errno_location() #12
  store i32 0, ptr %2151, align 4, !tbaa !5
  br label %2152

2152:                                             ; preds = %2149
  br label %2153

2153:                                             ; preds = %2152
  br label %2154

2154:                                             ; preds = %2153
  br label %2155

2155:                                             ; preds = %2154
  %2156 = getelementptr inbounds %struct.s2n_connection, ptr %25, i32 0, i32 13
  store i32 0, ptr %2156, align 4, !tbaa !15
  br label %2157

2157:                                             ; preds = %2155
  br label %2158

2158:                                             ; preds = %2157
  br label %2159

2159:                                             ; preds = %2158
  %2160 = load i32, ptr @test_count, align 4, !tbaa !5
  %2161 = add nsw i32 %2160, 1
  store i32 %2161, ptr @test_count, align 4, !tbaa !5
  %2162 = call i32 @s2n_send_early_data(ptr noundef %25, ptr noundef %28, i64 noundef 1, ptr noundef %27, ptr noundef %26)
  %2163 = icmp eq i32 %2162, -1
  br i1 %2163, label %2217, label %2164

2164:                                             ; preds = %2159
  br label %2165

2165:                                             ; preds = %2164
  br label %2166

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

2173:                                             ; preds = %2166
  %2174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2175 = call i32 @fileno(ptr noundef %2174) #11
  %2176 = call i32 @isatty(i32 noundef %2175) #11
  %2177 = icmp ne i32 %2176, 0
  br i1 %2177, label %2178, label %2195

2178:                                             ; preds = %2173
  %2179 = load i32, ptr %38, align 4, !tbaa !5
  %2180 = call ptr @__errno_location() #12
  store i32 %2179, ptr %2180, align 4, !tbaa !5
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = load i32, ptr @test_count, align 4, !tbaa !5
  %2183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2184 = load i32, ptr %2183, align 4, !tbaa !5
  %2185 = call ptr @s2n_strerror(i32 noundef %2184, ptr noundef @.str.4)
  %2186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2187 = load i32, ptr %2186, align 4, !tbaa !5
  %2188 = call ptr @s2n_strerror_debug(i32 noundef %2187, ptr noundef @.str.4)
  %2189 = call ptr @__errno_location() #12
  %2190 = load i32, ptr %2189, align 4, !tbaa !5
  %2191 = call ptr @strerror(i32 noundef %2190) #11
  %2192 = call ptr @__errno_location() #12
  %2193 = load i32, ptr %2192, align 4, !tbaa !5
  %2194 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2181, ptr noundef @.str.2, i32 noundef %2182, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2185, ptr noundef %2188, ptr noundef %2191, i32 noundef %2193) #11
  br label %2212

2195:                                             ; preds = %2173, %2166
  %2196 = load i32, ptr %38, align 4, !tbaa !5
  %2197 = call ptr @__errno_location() #12
  store i32 %2196, ptr %2197, align 4, !tbaa !5
  %2198 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2199 = load i32, ptr @test_count, align 4, !tbaa !5
  %2200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2201 = load i32, ptr %2200, align 4, !tbaa !5
  %2202 = call ptr @s2n_strerror(i32 noundef %2201, ptr noundef @.str.4)
  %2203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2204 = load i32, ptr %2203, align 4, !tbaa !5
  %2205 = call ptr @s2n_strerror_debug(i32 noundef %2204, ptr noundef @.str.4)
  %2206 = call ptr @__errno_location() #12
  %2207 = load i32, ptr %2206, align 4, !tbaa !5
  %2208 = call ptr @strerror(i32 noundef %2207) #11
  %2209 = call ptr @__errno_location() #12
  %2210 = load i32, ptr %2209, align 4, !tbaa !5
  %2211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2198, ptr noundef @.str.5, i32 noundef %2199, ptr noundef @.str.28, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2202, ptr noundef %2205, ptr noundef %2208, i32 noundef %2210) #11
  br label %2212

2212:                                             ; preds = %2195, %2178
  call void @llvm.lifetime.end.p0(i64 4, ptr %38) #11
  br label %2213

2213:                                             ; preds = %2212
  br label %2214

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

2215:                                             ; No predecessors!
  br label %2216

2216:                                             ; preds = %2215
  br label %2217

2217:                                             ; preds = %2216, %2159
  br label %2218

2218:                                             ; preds = %2217
  br label %2219

2219:                                             ; preds = %2218
  br label %2220

2220:                                             ; preds = %2219
  %2221 = load i32, ptr @test_count, align 4, !tbaa !5
  %2222 = add nsw i32 %2221, 1
  store i32 %2222, ptr @test_count, align 4, !tbaa !5
  %2223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2224 = load i32, ptr %2223, align 4, !tbaa !5
  %2225 = icmp eq i32 %2224, 469762049
  br i1 %2225, label %2279, label %2226

2226:                                             ; preds = %2220
  br label %2227

2227:                                             ; preds = %2226
  br label %2228

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

2235:                                             ; preds = %2228
  %2236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2237 = call i32 @fileno(ptr noundef %2236) #11
  %2238 = call i32 @isatty(i32 noundef %2237) #11
  %2239 = icmp ne i32 %2238, 0
  br i1 %2239, label %2240, label %2257

2240:                                             ; preds = %2235
  %2241 = load i32, ptr %39, align 4, !tbaa !5
  %2242 = call ptr @__errno_location() #12
  store i32 %2241, ptr %2242, align 4, !tbaa !5
  %2243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2244 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2246, ptr noundef @.str.4)
  %2248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2249 = load i32, ptr %2248, align 4, !tbaa !5
  %2250 = call ptr @s2n_strerror_debug(i32 noundef %2249, ptr noundef @.str.4)
  %2251 = call ptr @__errno_location() #12
  %2252 = load i32, ptr %2251, align 4, !tbaa !5
  %2253 = call ptr @strerror(i32 noundef %2252) #11
  %2254 = call ptr @__errno_location() #12
  %2255 = load i32, ptr %2254, align 4, !tbaa !5
  %2256 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2243, ptr noundef @.str.2, i32 noundef %2244, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2247, ptr noundef %2250, ptr noundef %2253, i32 noundef %2255) #11
  br label %2274

2257:                                             ; preds = %2235, %2228
  %2258 = load i32, ptr %39, align 4, !tbaa !5
  %2259 = call ptr @__errno_location() #12
  store i32 %2258, ptr %2259, align 4, !tbaa !5
  %2260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2261 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %2263, ptr noundef @.str.4)
  %2265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2266 = load i32, ptr %2265, align 4, !tbaa !5
  %2267 = call ptr @s2n_strerror_debug(i32 noundef %2266, ptr noundef @.str.4)
  %2268 = call ptr @__errno_location() #12
  %2269 = load i32, ptr %2268, align 4, !tbaa !5
  %2270 = call ptr @strerror(i32 noundef %2269) #11
  %2271 = call ptr @__errno_location() #12
  %2272 = load i32, ptr %2271, align 4, !tbaa !5
  %2273 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2260, ptr noundef @.str.5, i32 noundef %2261, ptr noundef @.str.29, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2264, ptr noundef %2267, ptr noundef %2270, i32 noundef %2272) #11
  br label %2274

2274:                                             ; preds = %2257, %2240
  call void @llvm.lifetime.end.p0(i64 4, ptr %39) #11
  br label %2275

2275:                                             ; preds = %2274
  br label %2276

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

2277:                                             ; No predecessors!
  br label %2278

2278:                                             ; preds = %2277
  br label %2279

2279:                                             ; preds = %2278, %2220
  br label %2280

2280:                                             ; preds = %2279
  br label %2281

2281:                                             ; preds = %2280
  br label %2282

2282:                                             ; preds = %2281
  %2283 = load i32, ptr @test_count, align 4, !tbaa !5
  %2284 = add nsw i32 %2283, 1
  store i32 %2284, ptr @test_count, align 4, !tbaa !5
  %2285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2286 = load i32, ptr %2285, align 4, !tbaa !5
  %2287 = call ptr @s2n_strerror_debug(i32 noundef %2286, ptr noundef @.str.4)
  %2288 = icmp eq ptr %2287, null
  br i1 %2288, label %2289, label %2342

2289:                                             ; preds = %2282
  br label %2290

2290:                                             ; preds = %2289
  br label %2291

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

2298:                                             ; preds = %2291
  %2299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2300 = call i32 @fileno(ptr noundef %2299) #11
  %2301 = call i32 @isatty(i32 noundef %2300) #11
  %2302 = icmp ne i32 %2301, 0
  br i1 %2302, label %2303, label %2320

2303:                                             ; preds = %2298
  %2304 = load i32, ptr %40, align 4, !tbaa !5
  %2305 = call ptr @__errno_location() #12
  store i32 %2304, ptr %2305, align 4, !tbaa !5
  %2306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2307 = load i32, ptr @test_count, align 4, !tbaa !5
  %2308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2309 = load i32, ptr %2308, align 4, !tbaa !5
  %2310 = call ptr @s2n_strerror(i32 noundef %2309, ptr noundef @.str.4)
  %2311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2312 = load i32, ptr %2311, align 4, !tbaa !5
  %2313 = call ptr @s2n_strerror_debug(i32 noundef %2312, ptr noundef @.str.4)
  %2314 = call ptr @__errno_location() #12
  %2315 = load i32, ptr %2314, align 4, !tbaa !5
  %2316 = call ptr @strerror(i32 noundef %2315) #11
  %2317 = call ptr @__errno_location() #12
  %2318 = load i32, ptr %2317, align 4, !tbaa !5
  %2319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2306, ptr noundef @.str.2, i32 noundef %2307, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2310, ptr noundef %2313, ptr noundef %2316, i32 noundef %2318) #11
  br label %2337

2320:                                             ; preds = %2298, %2291
  %2321 = load i32, ptr %40, align 4, !tbaa !5
  %2322 = call ptr @__errno_location() #12
  store i32 %2321, ptr %2322, align 4, !tbaa !5
  %2323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2324 = load i32, ptr @test_count, align 4, !tbaa !5
  %2325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2326 = load i32, ptr %2325, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror(i32 noundef %2326, ptr noundef @.str.4)
  %2328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2329 = load i32, ptr %2328, align 4, !tbaa !5
  %2330 = call ptr @s2n_strerror_debug(i32 noundef %2329, ptr noundef @.str.4)
  %2331 = call ptr @__errno_location() #12
  %2332 = load i32, ptr %2331, align 4, !tbaa !5
  %2333 = call ptr @strerror(i32 noundef %2332) #11
  %2334 = call ptr @__errno_location() #12
  %2335 = load i32, ptr %2334, align 4, !tbaa !5
  %2336 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2323, ptr noundef @.str.5, i32 noundef %2324, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 144, ptr noundef %2327, ptr noundef %2330, ptr noundef %2333, i32 noundef %2335) #11
  br label %2337

2337:                                             ; preds = %2320, %2303
  call void @llvm.lifetime.end.p0(i64 4, ptr %40) #11
  br label %2338

2338:                                             ; preds = %2337
  br label %2339

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

2340:                                             ; No predecessors!
  br label %2341

2341:                                             ; preds = %2340
  br label %2342

2342:                                             ; preds = %2341, %2282
  br label %2343

2343:                                             ; preds = %2342
  br label %2344

2344:                                             ; preds = %2343
  br label %2345

2345:                                             ; preds = %2344
  br label %2346

2346:                                             ; preds = %2345
  br label %2347

2347:                                             ; preds = %2346
  %2348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %2348, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %2349 = call ptr @__errno_location() #12
  store i32 0, ptr %2349, align 4, !tbaa !5
  br label %2350

2350:                                             ; preds = %2347
  br label %2351

2351:                                             ; preds = %2350
  br label %2352

2352:                                             ; preds = %2351
  br label %2353

2353:                                             ; preds = %2352
  call void @llvm.lifetime.end.p0(i64 1, ptr %28) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %27) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %26) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %25) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %41) #11
  %2354 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %2354, ptr %41, align 8, !tbaa !9
  br label %2355

2355:                                             ; preds = %2353
  %2356 = load i32, ptr @test_count, align 4, !tbaa !5
  %2357 = add nsw i32 %2356, 1
  store i32 %2357, ptr @test_count, align 4, !tbaa !5
  %2358 = load ptr, ptr %41, align 8, !tbaa !9
  %2359 = icmp eq ptr %2358, null
  br i1 %2359, label %2360, label %2413

2360:                                             ; preds = %2355
  br label %2361

2361:                                             ; preds = %2360
  br label %2362

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

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

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

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

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

2409:                                             ; preds = %2408
  br label %2410

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

2411:                                             ; No predecessors!
  br label %2412

2412:                                             ; preds = %2411
  br label %2413

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

2414:                                             ; preds = %2413
  br label %2415

2415:                                             ; preds = %2414
  br label %2416

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

2422:                                             ; preds = %2416
  br label %2423

2423:                                             ; preds = %2422
  br label %2424

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

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

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

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

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

2471:                                             ; preds = %2470
  br label %2472

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

2473:                                             ; No predecessors!
  br label %2474

2474:                                             ; preds = %2473
  br label %2475

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

2476:                                             ; preds = %2475
  br label %2477

2477:                                             ; preds = %2476
  br label %2478

2478:                                             ; preds = %2477
  %2479 = load i32, ptr @test_count, align 4, !tbaa !5
  %2480 = add nsw i32 %2479, 1
  store i32 %2480, ptr @test_count, align 4, !tbaa !5
  %2481 = load ptr, ptr %41, align 8, !tbaa !9
  %2482 = load ptr, ptr %13, align 8, !tbaa !9
  %2483 = call i32 @s2n_connection_append_psk(ptr noundef %2481, ptr noundef %2482)
  %2484 = icmp eq i32 %2483, -1
  br i1 %2484, label %2485, label %2538

2485:                                             ; preds = %2478
  br label %2486

2486:                                             ; preds = %2485
  br label %2487

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

2494:                                             ; preds = %2487
  %2495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2496 = call i32 @fileno(ptr noundef %2495) #11
  %2497 = call i32 @isatty(i32 noundef %2496) #11
  %2498 = icmp ne i32 %2497, 0
  br i1 %2498, label %2499, label %2516

2499:                                             ; preds = %2494
  %2500 = load i32, ptr %44, align 4, !tbaa !5
  %2501 = call ptr @__errno_location() #12
  store i32 %2500, ptr %2501, align 4, !tbaa !5
  %2502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2503 = load i32, ptr @test_count, align 4, !tbaa !5
  %2504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2505 = load i32, ptr %2504, align 4, !tbaa !5
  %2506 = call ptr @s2n_strerror(i32 noundef %2505, ptr noundef @.str.4)
  %2507 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2508 = load i32, ptr %2507, align 4, !tbaa !5
  %2509 = call ptr @s2n_strerror_debug(i32 noundef %2508, ptr noundef @.str.4)
  %2510 = call ptr @__errno_location() #12
  %2511 = load i32, ptr %2510, align 4, !tbaa !5
  %2512 = call ptr @strerror(i32 noundef %2511) #11
  %2513 = call ptr @__errno_location() #12
  %2514 = load i32, ptr %2513, align 4, !tbaa !5
  %2515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2502, ptr noundef @.str.2, i32 noundef %2503, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 152, ptr noundef %2506, ptr noundef %2509, ptr noundef %2512, i32 noundef %2514) #11
  br label %2533

2516:                                             ; preds = %2494, %2487
  %2517 = load i32, ptr %44, align 4, !tbaa !5
  %2518 = call ptr @__errno_location() #12
  store i32 %2517, ptr %2518, align 4, !tbaa !5
  %2519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2520 = load i32, ptr @test_count, align 4, !tbaa !5
  %2521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2522 = load i32, ptr %2521, align 4, !tbaa !5
  %2523 = call ptr @s2n_strerror(i32 noundef %2522, ptr noundef @.str.4)
  %2524 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2525 = load i32, ptr %2524, align 4, !tbaa !5
  %2526 = call ptr @s2n_strerror_debug(i32 noundef %2525, ptr noundef @.str.4)
  %2527 = call ptr @__errno_location() #12
  %2528 = load i32, ptr %2527, align 4, !tbaa !5
  %2529 = call ptr @strerror(i32 noundef %2528) #11
  %2530 = call ptr @__errno_location() #12
  %2531 = load i32, ptr %2530, align 4, !tbaa !5
  %2532 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2519, ptr noundef @.str.5, i32 noundef %2520, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 152, ptr noundef %2523, ptr noundef %2526, ptr noundef %2529, i32 noundef %2531) #11
  br label %2533

2533:                                             ; preds = %2516, %2499
  call void @llvm.lifetime.end.p0(i64 4, ptr %44) #11
  br label %2534

2534:                                             ; preds = %2533
  br label %2535

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

2536:                                             ; No predecessors!
  br label %2537

2537:                                             ; preds = %2536
  br label %2538

2538:                                             ; preds = %2537, %2478
  br label %2539

2539:                                             ; preds = %2538
  br label %2540

2540:                                             ; preds = %2539
  call void @llvm.lifetime.start.p0(i64 40, ptr %45) #11
  call void @llvm.memset.p0.i64(ptr align 8 %45, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %46) #11
  call void @llvm.memset.p0.i64(ptr align 8 %46, i8 0, i64 40, i1 false)
  br label %2541

2541:                                             ; preds = %2540
  %2542 = load i32, ptr @test_count, align 4, !tbaa !5
  %2543 = add nsw i32 %2542, 1
  store i32 %2543, ptr @test_count, align 4, !tbaa !5
  %2544 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %45, i32 noundef 8092)
  %2545 = icmp eq i32 %2544, -1
  br i1 %2545, label %2546, label %2599

2546:                                             ; preds = %2541
  br label %2547

2547:                                             ; preds = %2546
  br label %2548

2548:                                             ; preds = %2547
  call void @llvm.lifetime.start.p0(i64 4, ptr %47) #11
  %2549 = call ptr @__errno_location() #12
  %2550 = load i32, ptr %2549, align 4, !tbaa !5
  store i32 %2550, ptr %47, align 4, !tbaa !5
  %2551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2552 = call i32 @s2n_print_stacktrace(ptr noundef %2551)
  %2553 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2554 = trunc i8 %2553 to i1
  br i1 %2554, label %2555, label %2577

2555:                                             ; preds = %2548
  %2556 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2557 = call i32 @fileno(ptr noundef %2556) #11
  %2558 = call i32 @isatty(i32 noundef %2557) #11
  %2559 = icmp ne i32 %2558, 0
  br i1 %2559, label %2560, label %2577

2560:                                             ; preds = %2555
  %2561 = load i32, ptr %47, align 4, !tbaa !5
  %2562 = call ptr @__errno_location() #12
  store i32 %2561, ptr %2562, align 4, !tbaa !5
  %2563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2564 = load i32, ptr @test_count, align 4, !tbaa !5
  %2565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2566 = load i32, ptr %2565, align 4, !tbaa !5
  %2567 = call ptr @s2n_strerror(i32 noundef %2566, ptr noundef @.str.4)
  %2568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2569 = load i32, ptr %2568, align 4, !tbaa !5
  %2570 = call ptr @s2n_strerror_debug(i32 noundef %2569, ptr noundef @.str.4)
  %2571 = call ptr @__errno_location() #12
  %2572 = load i32, ptr %2571, align 4, !tbaa !5
  %2573 = call ptr @strerror(i32 noundef %2572) #11
  %2574 = call ptr @__errno_location() #12
  %2575 = load i32, ptr %2574, align 4, !tbaa !5
  %2576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2563, ptr noundef @.str.2, i32 noundef %2564, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2567, ptr noundef %2570, ptr noundef %2573, i32 noundef %2575) #11
  br label %2594

2577:                                             ; preds = %2555, %2548
  %2578 = load i32, ptr %47, align 4, !tbaa !5
  %2579 = call ptr @__errno_location() #12
  store i32 %2578, ptr %2579, align 4, !tbaa !5
  %2580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2581 = load i32, ptr @test_count, align 4, !tbaa !5
  %2582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2583 = load i32, ptr %2582, align 4, !tbaa !5
  %2584 = call ptr @s2n_strerror(i32 noundef %2583, ptr noundef @.str.4)
  %2585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2586 = load i32, ptr %2585, align 4, !tbaa !5
  %2587 = call ptr @s2n_strerror_debug(i32 noundef %2586, ptr noundef @.str.4)
  %2588 = call ptr @__errno_location() #12
  %2589 = load i32, ptr %2588, align 4, !tbaa !5
  %2590 = call ptr @strerror(i32 noundef %2589) #11
  %2591 = call ptr @__errno_location() #12
  %2592 = load i32, ptr %2591, align 4, !tbaa !5
  %2593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2580, ptr noundef @.str.5, i32 noundef %2581, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 156, ptr noundef %2584, ptr noundef %2587, ptr noundef %2590, i32 noundef %2592) #11
  br label %2594

2594:                                             ; preds = %2577, %2560
  call void @llvm.lifetime.end.p0(i64 4, ptr %47) #11
  br label %2595

2595:                                             ; preds = %2594
  br label %2596

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

2597:                                             ; No predecessors!
  br label %2598

2598:                                             ; preds = %2597
  br label %2599

2599:                                             ; preds = %2598, %2541
  br label %2600

2600:                                             ; preds = %2599
  br label %2601

2601:                                             ; preds = %2600
  br label %2602

2602:                                             ; preds = %2601
  %2603 = load i32, ptr @test_count, align 4, !tbaa !5
  %2604 = add nsw i32 %2603, 1
  store i32 %2604, ptr @test_count, align 4, !tbaa !5
  %2605 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %46, i32 noundef 8092)
  %2606 = icmp eq i32 %2605, -1
  br i1 %2606, label %2607, label %2660

2607:                                             ; preds = %2602
  br label %2608

2608:                                             ; preds = %2607
  br label %2609

2609:                                             ; preds = %2608
  call void @llvm.lifetime.start.p0(i64 4, ptr %48) #11
  %2610 = call ptr @__errno_location() #12
  %2611 = load i32, ptr %2610, align 4, !tbaa !5
  store i32 %2611, ptr %48, align 4, !tbaa !5
  %2612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2613 = call i32 @s2n_print_stacktrace(ptr noundef %2612)
  %2614 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2615 = trunc i8 %2614 to i1
  br i1 %2615, label %2616, label %2638

2616:                                             ; preds = %2609
  %2617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2618 = call i32 @fileno(ptr noundef %2617) #11
  %2619 = call i32 @isatty(i32 noundef %2618) #11
  %2620 = icmp ne i32 %2619, 0
  br i1 %2620, label %2621, label %2638

2621:                                             ; preds = %2616
  %2622 = load i32, ptr %48, align 4, !tbaa !5
  %2623 = call ptr @__errno_location() #12
  store i32 %2622, ptr %2623, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2627 = load i32, ptr %2626, align 4, !tbaa !5
  %2628 = call ptr @s2n_strerror(i32 noundef %2627, ptr noundef @.str.4)
  %2629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2630 = load i32, ptr %2629, align 4, !tbaa !5
  %2631 = call ptr @s2n_strerror_debug(i32 noundef %2630, ptr noundef @.str.4)
  %2632 = call ptr @__errno_location() #12
  %2633 = load i32, ptr %2632, align 4, !tbaa !5
  %2634 = call ptr @strerror(i32 noundef %2633) #11
  %2635 = call ptr @__errno_location() #12
  %2636 = load i32, ptr %2635, align 4, !tbaa !5
  %2637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef @.str.2, i32 noundef %2625, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2628, ptr noundef %2631, ptr noundef %2634, i32 noundef %2636) #11
  br label %2655

2638:                                             ; preds = %2616, %2609
  %2639 = load i32, ptr %48, align 4, !tbaa !5
  %2640 = call ptr @__errno_location() #12
  store i32 %2639, ptr %2640, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = load i32, ptr @test_count, align 4, !tbaa !5
  %2643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2644 = load i32, ptr %2643, align 4, !tbaa !5
  %2645 = call ptr @s2n_strerror(i32 noundef %2644, ptr noundef @.str.4)
  %2646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2647 = load i32, ptr %2646, align 4, !tbaa !5
  %2648 = call ptr @s2n_strerror_debug(i32 noundef %2647, ptr noundef @.str.4)
  %2649 = call ptr @__errno_location() #12
  %2650 = load i32, ptr %2649, align 4, !tbaa !5
  %2651 = call ptr @strerror(i32 noundef %2650) #11
  %2652 = call ptr @__errno_location() #12
  %2653 = load i32, ptr %2652, align 4, !tbaa !5
  %2654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2641, ptr noundef @.str.5, i32 noundef %2642, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 157, ptr noundef %2645, ptr noundef %2648, ptr noundef %2651, i32 noundef %2653) #11
  br label %2655

2655:                                             ; preds = %2638, %2621
  call void @llvm.lifetime.end.p0(i64 4, ptr %48) #11
  br label %2656

2656:                                             ; preds = %2655
  br label %2657

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

2658:                                             ; No predecessors!
  br label %2659

2659:                                             ; preds = %2658
  br label %2660

2660:                                             ; preds = %2659, %2602
  br label %2661

2661:                                             ; preds = %2660
  br label %2662

2662:                                             ; preds = %2661
  br label %2663

2663:                                             ; preds = %2662
  %2664 = load i32, ptr @test_count, align 4, !tbaa !5
  %2665 = add nsw i32 %2664, 1
  store i32 %2665, ptr @test_count, align 4, !tbaa !5
  %2666 = load ptr, ptr %41, align 8, !tbaa !9
  %2667 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %45, ptr noundef %46, ptr noundef %2666)
  %2668 = icmp eq i32 %2667, -1
  br i1 %2668, label %2669, label %2722

2669:                                             ; preds = %2663
  br label %2670

2670:                                             ; preds = %2669
  br label %2671

2671:                                             ; preds = %2670
  call void @llvm.lifetime.start.p0(i64 4, ptr %49) #11
  %2672 = call ptr @__errno_location() #12
  %2673 = load i32, ptr %2672, align 4, !tbaa !5
  store i32 %2673, ptr %49, align 4, !tbaa !5
  %2674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2675 = call i32 @s2n_print_stacktrace(ptr noundef %2674)
  %2676 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2677 = trunc i8 %2676 to i1
  br i1 %2677, label %2678, label %2700

2678:                                             ; preds = %2671
  %2679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2680 = call i32 @fileno(ptr noundef %2679) #11
  %2681 = call i32 @isatty(i32 noundef %2680) #11
  %2682 = icmp ne i32 %2681, 0
  br i1 %2682, label %2683, label %2700

2683:                                             ; preds = %2678
  %2684 = load i32, ptr %49, align 4, !tbaa !5
  %2685 = call ptr @__errno_location() #12
  store i32 %2684, ptr %2685, align 4, !tbaa !5
  %2686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2687 = load i32, ptr @test_count, align 4, !tbaa !5
  %2688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2689 = load i32, ptr %2688, align 4, !tbaa !5
  %2690 = call ptr @s2n_strerror(i32 noundef %2689, ptr noundef @.str.4)
  %2691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2692 = load i32, ptr %2691, align 4, !tbaa !5
  %2693 = call ptr @s2n_strerror_debug(i32 noundef %2692, ptr noundef @.str.4)
  %2694 = call ptr @__errno_location() #12
  %2695 = load i32, ptr %2694, align 4, !tbaa !5
  %2696 = call ptr @strerror(i32 noundef %2695) #11
  %2697 = call ptr @__errno_location() #12
  %2698 = load i32, ptr %2697, align 4, !tbaa !5
  %2699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2686, ptr noundef @.str.2, i32 noundef %2687, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2690, ptr noundef %2693, ptr noundef %2696, i32 noundef %2698) #11
  br label %2717

2700:                                             ; preds = %2678, %2671
  %2701 = load i32, ptr %49, align 4, !tbaa !5
  %2702 = call ptr @__errno_location() #12
  store i32 %2701, ptr %2702, align 4, !tbaa !5
  %2703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2704 = load i32, ptr @test_count, align 4, !tbaa !5
  %2705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2706 = load i32, ptr %2705, align 4, !tbaa !5
  %2707 = call ptr @s2n_strerror(i32 noundef %2706, ptr noundef @.str.4)
  %2708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2709 = load i32, ptr %2708, align 4, !tbaa !5
  %2710 = call ptr @s2n_strerror_debug(i32 noundef %2709, ptr noundef @.str.4)
  %2711 = call ptr @__errno_location() #12
  %2712 = load i32, ptr %2711, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #11
  %2714 = call ptr @__errno_location() #12
  %2715 = load i32, ptr %2714, align 4, !tbaa !5
  %2716 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2703, ptr noundef @.str.5, i32 noundef %2704, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 158, ptr noundef %2707, ptr noundef %2710, ptr noundef %2713, i32 noundef %2715) #11
  br label %2717

2717:                                             ; preds = %2700, %2683
  call void @llvm.lifetime.end.p0(i64 4, ptr %49) #11
  br label %2718

2718:                                             ; preds = %2717
  br label %2719

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

2720:                                             ; No predecessors!
  br label %2721

2721:                                             ; preds = %2720
  br label %2722

2722:                                             ; preds = %2721, %2663
  br label %2723

2723:                                             ; preds = %2722
  br label %2724

2724:                                             ; preds = %2723
  br label %2725

2725:                                             ; preds = %2724
  %2726 = load i32, ptr @test_count, align 4, !tbaa !5
  %2727 = add nsw i32 %2726, 1
  store i32 %2727, ptr @test_count, align 4, !tbaa !5
  %2728 = getelementptr inbounds [9 x i8], ptr %12, i64 0, i64 0
  %2729 = call i32 @s2n_stuffer_write_bytes(ptr noundef %45, ptr noundef %2728, i32 noundef 9)
  %2730 = icmp eq i32 %2729, -1
  br i1 %2730, label %2731, label %2784

2731:                                             ; preds = %2725
  br label %2732

2732:                                             ; preds = %2731
  br label %2733

2733:                                             ; preds = %2732
  call void @llvm.lifetime.start.p0(i64 4, ptr %50) #11
  %2734 = call ptr @__errno_location() #12
  %2735 = load i32, ptr %2734, align 4, !tbaa !5
  store i32 %2735, ptr %50, align 4, !tbaa !5
  %2736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2737 = call i32 @s2n_print_stacktrace(ptr noundef %2736)
  %2738 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2739 = trunc i8 %2738 to i1
  br i1 %2739, label %2740, label %2762

2740:                                             ; preds = %2733
  %2741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2742 = call i32 @fileno(ptr noundef %2741) #11
  %2743 = call i32 @isatty(i32 noundef %2742) #11
  %2744 = icmp ne i32 %2743, 0
  br i1 %2744, label %2745, label %2762

2745:                                             ; preds = %2740
  %2746 = load i32, ptr %50, align 4, !tbaa !5
  %2747 = call ptr @__errno_location() #12
  store i32 %2746, ptr %2747, align 4, !tbaa !5
  %2748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2749 = load i32, ptr @test_count, align 4, !tbaa !5
  %2750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2751 = load i32, ptr %2750, align 4, !tbaa !5
  %2752 = call ptr @s2n_strerror(i32 noundef %2751, ptr noundef @.str.4)
  %2753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2754 = load i32, ptr %2753, align 4, !tbaa !5
  %2755 = call ptr @s2n_strerror_debug(i32 noundef %2754, ptr noundef @.str.4)
  %2756 = call ptr @__errno_location() #12
  %2757 = load i32, ptr %2756, align 4, !tbaa !5
  %2758 = call ptr @strerror(i32 noundef %2757) #11
  %2759 = call ptr @__errno_location() #12
  %2760 = load i32, ptr %2759, align 4, !tbaa !5
  %2761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2748, ptr noundef @.str.2, i32 noundef %2749, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2752, ptr noundef %2755, ptr noundef %2758, i32 noundef %2760) #11
  br label %2779

2762:                                             ; preds = %2740, %2733
  %2763 = load i32, ptr %50, align 4, !tbaa !5
  %2764 = call ptr @__errno_location() #12
  store i32 %2763, ptr %2764, align 4, !tbaa !5
  %2765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2766 = load i32, ptr @test_count, align 4, !tbaa !5
  %2767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2768 = load i32, ptr %2767, align 4, !tbaa !5
  %2769 = call ptr @s2n_strerror(i32 noundef %2768, ptr noundef @.str.4)
  %2770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %2771 = load i32, ptr %2770, align 4, !tbaa !5
  %2772 = call ptr @s2n_strerror_debug(i32 noundef %2771, ptr noundef @.str.4)
  %2773 = call ptr @__errno_location() #12
  %2774 = load i32, ptr %2773, align 4, !tbaa !5
  %2775 = call ptr @strerror(i32 noundef %2774) #11
  %2776 = call ptr @__errno_location() #12
  %2777 = load i32, ptr %2776, align 4, !tbaa !5
  %2778 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2765, ptr noundef @.str.5, i32 noundef %2766, ptr noundef @.str.37, ptr noundef @.str.1, i32 noundef 160, ptr noundef %2769, ptr noundef %2772, ptr noundef %2775, i32 noundef %2777) #11
  br label %2779

2779:                                             ; preds = %2762, %2745
  call void @llvm.lifetime.end.p0(i64 4, ptr %50) #11
  br label %2780

2780:                                             ; preds = %2779
  br label %2781

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

2782:                                             ; No predecessors!
  br label %2783

2783:                                             ; preds = %2782
  br label %2784

2784:                                             ; preds = %2783, %2725
  br label %2785

2785:                                             ; preds = %2784
  br label %2786

2786:                                             ; preds = %2785
  call void @llvm.lifetime.start.p0(i64 4, ptr %51) #11
  store i32 0, ptr %51, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %52) #11
  store i64 0, ptr %52, align 8, !tbaa !42
  br label %2787

2787:                                             ; preds = %2786
  br label %2788

2788:                                             ; preds = %2787
  br label %2789

2789:                                             ; preds = %2788
  %2790 = load i32, ptr @test_count, align 4, !tbaa !5
  %2791 = add nsw i32 %2790, 1
  store i32 %2791, ptr @test_count, align 4, !tbaa !5
  %2792 = load ptr, ptr %41, align 8, !tbaa !9
  %2793 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %2794 = call i32 @s2n_send_early_data(ptr noundef %2792, ptr noundef %2793, i64 noundef 12, ptr noundef %52, ptr noundef %51)
  %2795 = icmp eq i32 %2794, -1
  br i1 %2795, label %2849, label %2796

2796:                                             ; preds = %2789
  br label %2797

2797:                                             ; preds = %2796
  br label %2798

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

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

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

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

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

2845:                                             ; preds = %2844
  br label %2846

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

2847:                                             ; No predecessors!
  br label %2848

2848:                                             ; preds = %2847
  br label %2849

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

2850:                                             ; preds = %2849
  br label %2851

2851:                                             ; preds = %2850
  br label %2852

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

2858:                                             ; preds = %2852
  br label %2859

2859:                                             ; preds = %2858
  br label %2860

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

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

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

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

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

2907:                                             ; preds = %2906
  br label %2908

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

2909:                                             ; No predecessors!
  br label %2910

2910:                                             ; preds = %2909
  br label %2911

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

2912:                                             ; preds = %2911
  br label %2913

2913:                                             ; preds = %2912
  br label %2914

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

2921:                                             ; preds = %2914
  br label %2922

2922:                                             ; preds = %2921
  br label %2923

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

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

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

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

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

2970:                                             ; preds = %2969
  br label %2971

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

2972:                                             ; No predecessors!
  br label %2973

2973:                                             ; preds = %2972
  br label %2974

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

2975:                                             ; preds = %2974
  br label %2976

2976:                                             ; preds = %2975
  br label %2977

2977:                                             ; preds = %2976
  br label %2978

2978:                                             ; preds = %2977
  br label %2979

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

2982:                                             ; preds = %2979
  br label %2983

2983:                                             ; preds = %2982
  br label %2984

2984:                                             ; preds = %2983
  br label %2985

2985:                                             ; preds = %2984
  br label %2986

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

2992:                                             ; preds = %2986
  br label %2993

2993:                                             ; preds = %2992
  br label %2994

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

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

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

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

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

3041:                                             ; preds = %3040
  br label %3042

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

3043:                                             ; No predecessors!
  br label %3044

3044:                                             ; preds = %3043
  br label %3045

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

3046:                                             ; preds = %3045
  br label %3047

3047:                                             ; preds = %3046
  br label %3048

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

3053:                                             ; preds = %3048
  br label %3054

3054:                                             ; preds = %3053
  br label %3055

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

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

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

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

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

3102:                                             ; preds = %3101
  br label %3103

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

3104:                                             ; No predecessors!
  br label %3105

3105:                                             ; preds = %3104
  br label %3106

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

3107:                                             ; preds = %3106
  br label %3108

3108:                                             ; preds = %3107
  br label %3109

3109:                                             ; preds = %3108
  %3110 = load i32, ptr @test_count, align 4, !tbaa !5
  %3111 = add nsw i32 %3110, 1
  store i32 %3111, ptr @test_count, align 4, !tbaa !5
  %3112 = call i32 @s2n_stuffer_free(ptr noundef %45)
  %3113 = icmp eq i32 %3112, -1
  br i1 %3113, label %3114, label %3167

3114:                                             ; preds = %3109
  br label %3115

3115:                                             ; preds = %3114
  br label %3116

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

3123:                                             ; preds = %3116
  %3124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3125 = call i32 @fileno(ptr noundef %3124) #11
  %3126 = call i32 @isatty(i32 noundef %3125) #11
  %3127 = icmp ne i32 %3126, 0
  br i1 %3127, label %3128, label %3145

3128:                                             ; preds = %3123
  %3129 = load i32, ptr %58, align 4, !tbaa !5
  %3130 = call ptr @__errno_location() #12
  store i32 %3129, ptr %3130, align 4, !tbaa !5
  %3131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3132 = load i32, ptr @test_count, align 4, !tbaa !5
  %3133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3134 = load i32, ptr %3133, align 4, !tbaa !5
  %3135 = call ptr @s2n_strerror(i32 noundef %3134, ptr noundef @.str.4)
  %3136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3137 = load i32, ptr %3136, align 4, !tbaa !5
  %3138 = call ptr @s2n_strerror_debug(i32 noundef %3137, ptr noundef @.str.4)
  %3139 = call ptr @__errno_location() #12
  %3140 = load i32, ptr %3139, align 4, !tbaa !5
  %3141 = call ptr @strerror(i32 noundef %3140) #11
  %3142 = call ptr @__errno_location() #12
  %3143 = load i32, ptr %3142, align 4, !tbaa !5
  %3144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3131, ptr noundef @.str.2, i32 noundef %3132, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 170, ptr noundef %3135, ptr noundef %3138, ptr noundef %3141, i32 noundef %3143) #11
  br label %3162

3145:                                             ; preds = %3123, %3116
  %3146 = load i32, ptr %58, align 4, !tbaa !5
  %3147 = call ptr @__errno_location() #12
  store i32 %3146, ptr %3147, align 4, !tbaa !5
  %3148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3149 = load i32, ptr @test_count, align 4, !tbaa !5
  %3150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3151 = load i32, ptr %3150, align 4, !tbaa !5
  %3152 = call ptr @s2n_strerror(i32 noundef %3151, ptr noundef @.str.4)
  %3153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3154 = load i32, ptr %3153, align 4, !tbaa !5
  %3155 = call ptr @s2n_strerror_debug(i32 noundef %3154, ptr noundef @.str.4)
  %3156 = call ptr @__errno_location() #12
  %3157 = load i32, ptr %3156, align 4, !tbaa !5
  %3158 = call ptr @strerror(i32 noundef %3157) #11
  %3159 = call ptr @__errno_location() #12
  %3160 = load i32, ptr %3159, align 4, !tbaa !5
  %3161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3148, ptr noundef @.str.5, i32 noundef %3149, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 170, ptr noundef %3152, ptr noundef %3155, ptr noundef %3158, i32 noundef %3160) #11
  br label %3162

3162:                                             ; preds = %3145, %3128
  call void @llvm.lifetime.end.p0(i64 4, ptr %58) #11
  br label %3163

3163:                                             ; preds = %3162
  br label %3164

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

3165:                                             ; No predecessors!
  br label %3166

3166:                                             ; preds = %3165
  br label %3167

3167:                                             ; preds = %3166, %3109
  br label %3168

3168:                                             ; preds = %3167
  br label %3169

3169:                                             ; preds = %3168
  br label %3170

3170:                                             ; preds = %3169
  %3171 = load i32, ptr @test_count, align 4, !tbaa !5
  %3172 = add nsw i32 %3171, 1
  store i32 %3172, ptr @test_count, align 4, !tbaa !5
  %3173 = call i32 @s2n_stuffer_free(ptr noundef %46)
  %3174 = icmp eq i32 %3173, -1
  br i1 %3174, label %3175, label %3228

3175:                                             ; preds = %3170
  br label %3176

3176:                                             ; preds = %3175
  br label %3177

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

3184:                                             ; preds = %3177
  %3185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3186 = call i32 @fileno(ptr noundef %3185) #11
  %3187 = call i32 @isatty(i32 noundef %3186) #11
  %3188 = icmp ne i32 %3187, 0
  br i1 %3188, label %3189, label %3206

3189:                                             ; preds = %3184
  %3190 = load i32, ptr %59, align 4, !tbaa !5
  %3191 = call ptr @__errno_location() #12
  store i32 %3190, ptr %3191, align 4, !tbaa !5
  %3192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3193 = load i32, ptr @test_count, align 4, !tbaa !5
  %3194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3195 = load i32, ptr %3194, align 4, !tbaa !5
  %3196 = call ptr @s2n_strerror(i32 noundef %3195, ptr noundef @.str.4)
  %3197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3198 = load i32, ptr %3197, align 4, !tbaa !5
  %3199 = call ptr @s2n_strerror_debug(i32 noundef %3198, ptr noundef @.str.4)
  %3200 = call ptr @__errno_location() #12
  %3201 = load i32, ptr %3200, align 4, !tbaa !5
  %3202 = call ptr @strerror(i32 noundef %3201) #11
  %3203 = call ptr @__errno_location() #12
  %3204 = load i32, ptr %3203, align 4, !tbaa !5
  %3205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3192, ptr noundef @.str.2, i32 noundef %3193, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3196, ptr noundef %3199, ptr noundef %3202, i32 noundef %3204) #11
  br label %3223

3206:                                             ; preds = %3184, %3177
  %3207 = load i32, ptr %59, align 4, !tbaa !5
  %3208 = call ptr @__errno_location() #12
  store i32 %3207, ptr %3208, align 4, !tbaa !5
  %3209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3210 = load i32, ptr @test_count, align 4, !tbaa !5
  %3211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3212 = load i32, ptr %3211, align 4, !tbaa !5
  %3213 = call ptr @s2n_strerror(i32 noundef %3212, ptr noundef @.str.4)
  %3214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3215 = load i32, ptr %3214, align 4, !tbaa !5
  %3216 = call ptr @s2n_strerror_debug(i32 noundef %3215, ptr noundef @.str.4)
  %3217 = call ptr @__errno_location() #12
  %3218 = load i32, ptr %3217, align 4, !tbaa !5
  %3219 = call ptr @strerror(i32 noundef %3218) #11
  %3220 = call ptr @__errno_location() #12
  %3221 = load i32, ptr %3220, align 4, !tbaa !5
  %3222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3209, ptr noundef @.str.5, i32 noundef %3210, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 171, ptr noundef %3213, ptr noundef %3216, ptr noundef %3219, i32 noundef %3221) #11
  br label %3223

3223:                                             ; preds = %3206, %3189
  call void @llvm.lifetime.end.p0(i64 4, ptr %59) #11
  br label %3224

3224:                                             ; preds = %3223
  br label %3225

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

3226:                                             ; No predecessors!
  br label %3227

3227:                                             ; preds = %3226
  br label %3228

3228:                                             ; preds = %3227, %3170
  br label %3229

3229:                                             ; preds = %3228
  br label %3230

3230:                                             ; preds = %3229
  br label %3231

3231:                                             ; preds = %3230
  %3232 = load i32, ptr @test_count, align 4, !tbaa !5
  %3233 = add nsw i32 %3232, 1
  store i32 %3233, ptr @test_count, align 4, !tbaa !5
  %3234 = load ptr, ptr %41, align 8, !tbaa !9
  %3235 = call i32 @s2n_connection_free(ptr noundef %3234)
  %3236 = icmp eq i32 %3235, -1
  br i1 %3236, label %3237, label %3290

3237:                                             ; preds = %3231
  br label %3238

3238:                                             ; preds = %3237
  br label %3239

3239:                                             ; preds = %3238
  call void @llvm.lifetime.start.p0(i64 4, ptr %60) #11
  %3240 = call ptr @__errno_location() #12
  %3241 = load i32, ptr %3240, align 4, !tbaa !5
  store i32 %3241, ptr %60, align 4, !tbaa !5
  %3242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3243 = call i32 @s2n_print_stacktrace(ptr noundef %3242)
  %3244 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3245 = trunc i8 %3244 to i1
  br i1 %3245, label %3246, label %3268

3246:                                             ; preds = %3239
  %3247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3248 = call i32 @fileno(ptr noundef %3247) #11
  %3249 = call i32 @isatty(i32 noundef %3248) #11
  %3250 = icmp ne i32 %3249, 0
  br i1 %3250, label %3251, label %3268

3251:                                             ; preds = %3246
  %3252 = load i32, ptr %60, align 4, !tbaa !5
  %3253 = call ptr @__errno_location() #12
  store i32 %3252, ptr %3253, align 4, !tbaa !5
  %3254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3255 = load i32, ptr @test_count, align 4, !tbaa !5
  %3256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3257 = load i32, ptr %3256, align 4, !tbaa !5
  %3258 = call ptr @s2n_strerror(i32 noundef %3257, ptr noundef @.str.4)
  %3259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3260 = load i32, ptr %3259, align 4, !tbaa !5
  %3261 = call ptr @s2n_strerror_debug(i32 noundef %3260, ptr noundef @.str.4)
  %3262 = call ptr @__errno_location() #12
  %3263 = load i32, ptr %3262, align 4, !tbaa !5
  %3264 = call ptr @strerror(i32 noundef %3263) #11
  %3265 = call ptr @__errno_location() #12
  %3266 = load i32, ptr %3265, align 4, !tbaa !5
  %3267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3254, ptr noundef @.str.2, i32 noundef %3255, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 172, ptr noundef %3258, ptr noundef %3261, ptr noundef %3264, i32 noundef %3266) #11
  br label %3285

3268:                                             ; preds = %3246, %3239
  %3269 = load i32, ptr %60, align 4, !tbaa !5
  %3270 = call ptr @__errno_location() #12
  store i32 %3269, ptr %3270, align 4, !tbaa !5
  %3271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3272 = load i32, ptr @test_count, align 4, !tbaa !5
  %3273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3274 = load i32, ptr %3273, align 4, !tbaa !5
  %3275 = call ptr @s2n_strerror(i32 noundef %3274, ptr noundef @.str.4)
  %3276 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3277 = load i32, ptr %3276, align 4, !tbaa !5
  %3278 = call ptr @s2n_strerror_debug(i32 noundef %3277, ptr noundef @.str.4)
  %3279 = call ptr @__errno_location() #12
  %3280 = load i32, ptr %3279, align 4, !tbaa !5
  %3281 = call ptr @strerror(i32 noundef %3280) #11
  %3282 = call ptr @__errno_location() #12
  %3283 = load i32, ptr %3282, align 4, !tbaa !5
  %3284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3271, ptr noundef @.str.5, i32 noundef %3272, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 172, ptr noundef %3275, ptr noundef %3278, ptr noundef %3281, i32 noundef %3283) #11
  br label %3285

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

3286:                                             ; preds = %3285
  br label %3287

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

3288:                                             ; No predecessors!
  br label %3289

3289:                                             ; preds = %3288
  br label %3290

3290:                                             ; preds = %3289, %3231
  br label %3291

3291:                                             ; preds = %3290
  br label %3292

3292:                                             ; preds = %3291
  call void @llvm.lifetime.end.p0(i64 8, ptr %52) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %51) #11
  %3293 = call i32 @s2n_stuffer_free(ptr noundef %46)
  call void @llvm.lifetime.end.p0(i64 40, ptr %46) #11
  %3294 = call i32 @s2n_stuffer_free(ptr noundef %45)
  call void @llvm.lifetime.end.p0(i64 40, ptr %45) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %41) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %61) #11
  %3295 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %3295, ptr %61, align 8, !tbaa !9
  br label %3296

3296:                                             ; preds = %3292
  %3297 = load i32, ptr @test_count, align 4, !tbaa !5
  %3298 = add nsw i32 %3297, 1
  store i32 %3298, ptr @test_count, align 4, !tbaa !5
  %3299 = load ptr, ptr %61, align 8, !tbaa !9
  %3300 = icmp eq ptr %3299, null
  br i1 %3300, label %3301, label %3354

3301:                                             ; preds = %3296
  br label %3302

3302:                                             ; preds = %3301
  br label %3303

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

3310:                                             ; preds = %3303
  %3311 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3312 = call i32 @fileno(ptr noundef %3311) #11
  %3313 = call i32 @isatty(i32 noundef %3312) #11
  %3314 = icmp ne i32 %3313, 0
  br i1 %3314, label %3315, label %3332

3315:                                             ; preds = %3310
  %3316 = load i32, ptr %62, align 4, !tbaa !5
  %3317 = call ptr @__errno_location() #12
  store i32 %3316, ptr %3317, align 4, !tbaa !5
  %3318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3319 = load i32, ptr @test_count, align 4, !tbaa !5
  %3320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3321 = load i32, ptr %3320, align 4, !tbaa !5
  %3322 = call ptr @s2n_strerror(i32 noundef %3321, ptr noundef @.str.4)
  %3323 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3324 = load i32, ptr %3323, align 4, !tbaa !5
  %3325 = call ptr @s2n_strerror_debug(i32 noundef %3324, ptr noundef @.str.4)
  %3326 = call ptr @__errno_location() #12
  %3327 = load i32, ptr %3326, align 4, !tbaa !5
  %3328 = call ptr @strerror(i32 noundef %3327) #11
  %3329 = call ptr @__errno_location() #12
  %3330 = load i32, ptr %3329, align 4, !tbaa !5
  %3331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3318, ptr noundef @.str.2, i32 noundef %3319, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3322, ptr noundef %3325, ptr noundef %3328, i32 noundef %3330) #11
  br label %3349

3332:                                             ; preds = %3310, %3303
  %3333 = load i32, ptr %62, align 4, !tbaa !5
  %3334 = call ptr @__errno_location() #12
  store i32 %3333, ptr %3334, align 4, !tbaa !5
  %3335 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3336 = load i32, ptr @test_count, align 4, !tbaa !5
  %3337 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3338 = load i32, ptr %3337, align 4, !tbaa !5
  %3339 = call ptr @s2n_strerror(i32 noundef %3338, ptr noundef @.str.4)
  %3340 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3341 = load i32, ptr %3340, align 4, !tbaa !5
  %3342 = call ptr @s2n_strerror_debug(i32 noundef %3341, ptr noundef @.str.4)
  %3343 = call ptr @__errno_location() #12
  %3344 = load i32, ptr %3343, align 4, !tbaa !5
  %3345 = call ptr @strerror(i32 noundef %3344) #11
  %3346 = call ptr @__errno_location() #12
  %3347 = load i32, ptr %3346, align 4, !tbaa !5
  %3348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3335, ptr noundef @.str.5, i32 noundef %3336, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 178, ptr noundef %3339, ptr noundef %3342, ptr noundef %3345, i32 noundef %3347) #11
  br label %3349

3349:                                             ; preds = %3332, %3315
  call void @llvm.lifetime.end.p0(i64 4, ptr %62) #11
  br label %3350

3350:                                             ; preds = %3349
  br label %3351

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

3352:                                             ; No predecessors!
  br label %3353

3353:                                             ; preds = %3352
  br label %3354

3354:                                             ; preds = %3353, %3296
  br label %3355

3355:                                             ; preds = %3354
  br label %3356

3356:                                             ; preds = %3355
  br label %3357

3357:                                             ; preds = %3356
  %3358 = load i32, ptr @test_count, align 4, !tbaa !5
  %3359 = add nsw i32 %3358, 1
  store i32 %3359, ptr @test_count, align 4, !tbaa !5
  %3360 = load ptr, ptr %61, align 8, !tbaa !9
  %3361 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %3360, ptr noundef @.str.31)
  %3362 = icmp eq i32 %3361, -1
  br i1 %3362, label %3363, label %3416

3363:                                             ; preds = %3357
  br label %3364

3364:                                             ; preds = %3363
  br label %3365

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

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

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

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

3411:                                             ; preds = %3394, %3377
  call void @llvm.lifetime.end.p0(i64 4, ptr %63) #11
  br label %3412

3412:                                             ; preds = %3411
  br label %3413

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

3414:                                             ; No predecessors!
  br label %3415

3415:                                             ; preds = %3414
  br label %3416

3416:                                             ; preds = %3415, %3357
  br label %3417

3417:                                             ; preds = %3416
  br label %3418

3418:                                             ; preds = %3417
  br label %3419

3419:                                             ; preds = %3418
  %3420 = load i32, ptr @test_count, align 4, !tbaa !5
  %3421 = add nsw i32 %3420, 1
  store i32 %3421, ptr @test_count, align 4, !tbaa !5
  %3422 = load ptr, ptr %61, align 8, !tbaa !9
  %3423 = load ptr, ptr %13, align 8, !tbaa !9
  %3424 = call i32 @s2n_connection_append_psk(ptr noundef %3422, ptr noundef %3423)
  %3425 = icmp eq i32 %3424, -1
  br i1 %3425, label %3426, label %3479

3426:                                             ; preds = %3419
  br label %3427

3427:                                             ; preds = %3426
  br label %3428

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

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

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

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

3474:                                             ; preds = %3457, %3440
  call void @llvm.lifetime.end.p0(i64 4, ptr %64) #11
  br label %3475

3475:                                             ; preds = %3474
  br label %3476

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

3477:                                             ; No predecessors!
  br label %3478

3478:                                             ; preds = %3477
  br label %3479

3479:                                             ; preds = %3478, %3419
  br label %3480

3480:                                             ; preds = %3479
  br label %3481

3481:                                             ; preds = %3480
  call void @llvm.lifetime.start.p0(i64 40, ptr %65) #11
  call void @llvm.memset.p0.i64(ptr align 8 %65, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %66) #11
  call void @llvm.memset.p0.i64(ptr align 8 %66, i8 0, i64 40, i1 false)
  br label %3482

3482:                                             ; preds = %3481
  %3483 = load i32, ptr @test_count, align 4, !tbaa !5
  %3484 = add nsw i32 %3483, 1
  store i32 %3484, ptr @test_count, align 4, !tbaa !5
  %3485 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %66, i32 noundef 8092)
  %3486 = icmp eq i32 %3485, -1
  br i1 %3486, label %3487, label %3540

3487:                                             ; preds = %3482
  br label %3488

3488:                                             ; preds = %3487
  br label %3489

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

3496:                                             ; preds = %3489
  %3497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3498 = call i32 @fileno(ptr noundef %3497) #11
  %3499 = call i32 @isatty(i32 noundef %3498) #11
  %3500 = icmp ne i32 %3499, 0
  br i1 %3500, label %3501, label %3518

3501:                                             ; preds = %3496
  %3502 = load i32, ptr %67, align 4, !tbaa !5
  %3503 = call ptr @__errno_location() #12
  store i32 %3502, ptr %3503, align 4, !tbaa !5
  %3504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3505 = load i32, ptr @test_count, align 4, !tbaa !5
  %3506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3507 = load i32, ptr %3506, align 4, !tbaa !5
  %3508 = call ptr @s2n_strerror(i32 noundef %3507, ptr noundef @.str.4)
  %3509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3510 = load i32, ptr %3509, align 4, !tbaa !5
  %3511 = call ptr @s2n_strerror_debug(i32 noundef %3510, ptr noundef @.str.4)
  %3512 = call ptr @__errno_location() #12
  %3513 = load i32, ptr %3512, align 4, !tbaa !5
  %3514 = call ptr @strerror(i32 noundef %3513) #11
  %3515 = call ptr @__errno_location() #12
  %3516 = load i32, ptr %3515, align 4, !tbaa !5
  %3517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3504, ptr noundef @.str.2, i32 noundef %3505, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 184, ptr noundef %3508, ptr noundef %3511, ptr noundef %3514, i32 noundef %3516) #11
  br label %3535

3518:                                             ; preds = %3496, %3489
  %3519 = load i32, ptr %67, align 4, !tbaa !5
  %3520 = call ptr @__errno_location() #12
  store i32 %3519, ptr %3520, align 4, !tbaa !5
  %3521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3522 = load i32, ptr @test_count, align 4, !tbaa !5
  %3523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3524 = load i32, ptr %3523, align 4, !tbaa !5
  %3525 = call ptr @s2n_strerror(i32 noundef %3524, ptr noundef @.str.4)
  %3526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3527 = load i32, ptr %3526, align 4, !tbaa !5
  %3528 = call ptr @s2n_strerror_debug(i32 noundef %3527, ptr noundef @.str.4)
  %3529 = call ptr @__errno_location() #12
  %3530 = load i32, ptr %3529, align 4, !tbaa !5
  %3531 = call ptr @strerror(i32 noundef %3530) #11
  %3532 = call ptr @__errno_location() #12
  %3533 = load i32, ptr %3532, align 4, !tbaa !5
  %3534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3521, ptr noundef @.str.5, i32 noundef %3522, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 184, ptr noundef %3525, ptr noundef %3528, ptr noundef %3531, i32 noundef %3533) #11
  br label %3535

3535:                                             ; preds = %3518, %3501
  call void @llvm.lifetime.end.p0(i64 4, ptr %67) #11
  br label %3536

3536:                                             ; preds = %3535
  br label %3537

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

3538:                                             ; No predecessors!
  br label %3539

3539:                                             ; preds = %3538
  br label %3540

3540:                                             ; preds = %3539, %3482
  br label %3541

3541:                                             ; preds = %3540
  br label %3542

3542:                                             ; preds = %3541
  br label %3543

3543:                                             ; preds = %3542
  %3544 = load i32, ptr @test_count, align 4, !tbaa !5
  %3545 = add nsw i32 %3544, 1
  store i32 %3545, ptr @test_count, align 4, !tbaa !5
  %3546 = load ptr, ptr %61, align 8, !tbaa !9
  %3547 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %65, ptr noundef %66, ptr noundef %3546)
  %3548 = icmp eq i32 %3547, -1
  br i1 %3548, label %3549, label %3602

3549:                                             ; preds = %3543
  br label %3550

3550:                                             ; preds = %3549
  br label %3551

3551:                                             ; preds = %3550
  call void @llvm.lifetime.start.p0(i64 4, ptr %68) #11
  %3552 = call ptr @__errno_location() #12
  %3553 = load i32, ptr %3552, align 4, !tbaa !5
  store i32 %3553, ptr %68, align 4, !tbaa !5
  %3554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3555 = call i32 @s2n_print_stacktrace(ptr noundef %3554)
  %3556 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3557 = trunc i8 %3556 to i1
  br i1 %3557, label %3558, label %3580

3558:                                             ; preds = %3551
  %3559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3560 = call i32 @fileno(ptr noundef %3559) #11
  %3561 = call i32 @isatty(i32 noundef %3560) #11
  %3562 = icmp ne i32 %3561, 0
  br i1 %3562, label %3563, label %3580

3563:                                             ; preds = %3558
  %3564 = load i32, ptr %68, align 4, !tbaa !5
  %3565 = call ptr @__errno_location() #12
  store i32 %3564, ptr %3565, align 4, !tbaa !5
  %3566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3567 = load i32, ptr @test_count, align 4, !tbaa !5
  %3568 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3569 = load i32, ptr %3568, align 4, !tbaa !5
  %3570 = call ptr @s2n_strerror(i32 noundef %3569, ptr noundef @.str.4)
  %3571 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3572 = load i32, ptr %3571, align 4, !tbaa !5
  %3573 = call ptr @s2n_strerror_debug(i32 noundef %3572, ptr noundef @.str.4)
  %3574 = call ptr @__errno_location() #12
  %3575 = load i32, ptr %3574, align 4, !tbaa !5
  %3576 = call ptr @strerror(i32 noundef %3575) #11
  %3577 = call ptr @__errno_location() #12
  %3578 = load i32, ptr %3577, align 4, !tbaa !5
  %3579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3566, ptr noundef @.str.2, i32 noundef %3567, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 185, ptr noundef %3570, ptr noundef %3573, ptr noundef %3576, i32 noundef %3578) #11
  br label %3597

3580:                                             ; preds = %3558, %3551
  %3581 = load i32, ptr %68, align 4, !tbaa !5
  %3582 = call ptr @__errno_location() #12
  store i32 %3581, ptr %3582, align 4, !tbaa !5
  %3583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3584 = load i32, ptr @test_count, align 4, !tbaa !5
  %3585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3586 = load i32, ptr %3585, align 4, !tbaa !5
  %3587 = call ptr @s2n_strerror(i32 noundef %3586, ptr noundef @.str.4)
  %3588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3589 = load i32, ptr %3588, align 4, !tbaa !5
  %3590 = call ptr @s2n_strerror_debug(i32 noundef %3589, ptr noundef @.str.4)
  %3591 = call ptr @__errno_location() #12
  %3592 = load i32, ptr %3591, align 4, !tbaa !5
  %3593 = call ptr @strerror(i32 noundef %3592) #11
  %3594 = call ptr @__errno_location() #12
  %3595 = load i32, ptr %3594, align 4, !tbaa !5
  %3596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3583, ptr noundef @.str.5, i32 noundef %3584, ptr noundef @.str.36, ptr noundef @.str.1, i32 noundef 185, ptr noundef %3587, ptr noundef %3590, ptr noundef %3593, i32 noundef %3595) #11
  br label %3597

3597:                                             ; preds = %3580, %3563
  call void @llvm.lifetime.end.p0(i64 4, ptr %68) #11
  br label %3598

3598:                                             ; preds = %3597
  br label %3599

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

3600:                                             ; No predecessors!
  br label %3601

3601:                                             ; preds = %3600
  br label %3602

3602:                                             ; preds = %3601, %3543
  br label %3603

3603:                                             ; preds = %3602
  br label %3604

3604:                                             ; preds = %3603
  %3605 = load ptr, ptr %61, align 8, !tbaa !9
  %3606 = getelementptr inbounds %struct.s2n_connection, ptr %3605, i32 0, i32 84
  store i8 1, ptr %3606, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr %69) #11
  store i32 0, ptr %69, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %70) #11
  store i64 0, ptr %70, align 8, !tbaa !42
  br label %3607

3607:                                             ; preds = %3604
  br label %3608

3608:                                             ; preds = %3607
  br label %3609

3609:                                             ; preds = %3608
  %3610 = load i32, ptr @test_count, align 4, !tbaa !5
  %3611 = add nsw i32 %3610, 1
  store i32 %3611, ptr @test_count, align 4, !tbaa !5
  %3612 = load ptr, ptr %61, align 8, !tbaa !9
  %3613 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %3614 = call i32 @s2n_send_early_data(ptr noundef %3612, ptr noundef %3613, i64 noundef 12, ptr noundef %70, ptr noundef %69)
  %3615 = icmp eq i32 %3614, -1
  br i1 %3615, label %3669, label %3616

3616:                                             ; preds = %3609
  br label %3617

3617:                                             ; preds = %3616
  br label %3618

3618:                                             ; preds = %3617
  call void @llvm.lifetime.start.p0(i64 4, ptr %71) #11
  %3619 = call ptr @__errno_location() #12
  %3620 = load i32, ptr %3619, align 4, !tbaa !5
  store i32 %3620, ptr %71, align 4, !tbaa !5
  %3621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3622 = call i32 @s2n_print_stacktrace(ptr noundef %3621)
  %3623 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3624 = trunc i8 %3623 to i1
  br i1 %3624, label %3625, label %3647

3625:                                             ; preds = %3618
  %3626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3627 = call i32 @fileno(ptr noundef %3626) #11
  %3628 = call i32 @isatty(i32 noundef %3627) #11
  %3629 = icmp ne i32 %3628, 0
  br i1 %3629, label %3630, label %3647

3630:                                             ; preds = %3625
  %3631 = load i32, ptr %71, align 4, !tbaa !5
  %3632 = call ptr @__errno_location() #12
  store i32 %3631, ptr %3632, align 4, !tbaa !5
  %3633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3634 = load i32, ptr @test_count, align 4, !tbaa !5
  %3635 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3636 = load i32, ptr %3635, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror(i32 noundef %3636, ptr noundef @.str.4)
  %3638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3639 = load i32, ptr %3638, align 4, !tbaa !5
  %3640 = call ptr @s2n_strerror_debug(i32 noundef %3639, ptr noundef @.str.4)
  %3641 = call ptr @__errno_location() #12
  %3642 = load i32, ptr %3641, align 4, !tbaa !5
  %3643 = call ptr @strerror(i32 noundef %3642) #11
  %3644 = call ptr @__errno_location() #12
  %3645 = load i32, ptr %3644, align 4, !tbaa !5
  %3646 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3633, ptr noundef @.str.2, i32 noundef %3634, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3637, ptr noundef %3640, ptr noundef %3643, i32 noundef %3645) #11
  br label %3664

3647:                                             ; preds = %3625, %3618
  %3648 = load i32, ptr %71, align 4, !tbaa !5
  %3649 = call ptr @__errno_location() #12
  store i32 %3648, ptr %3649, align 4, !tbaa !5
  %3650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3651 = load i32, ptr @test_count, align 4, !tbaa !5
  %3652 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3653 = load i32, ptr %3652, align 4, !tbaa !5
  %3654 = call ptr @s2n_strerror(i32 noundef %3653, ptr noundef @.str.4)
  %3655 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3656 = load i32, ptr %3655, align 4, !tbaa !5
  %3657 = call ptr @s2n_strerror_debug(i32 noundef %3656, ptr noundef @.str.4)
  %3658 = call ptr @__errno_location() #12
  %3659 = load i32, ptr %3658, align 4, !tbaa !5
  %3660 = call ptr @strerror(i32 noundef %3659) #11
  %3661 = call ptr @__errno_location() #12
  %3662 = load i32, ptr %3661, align 4, !tbaa !5
  %3663 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3650, ptr noundef @.str.5, i32 noundef %3651, ptr noundef @.str.38, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3654, ptr noundef %3657, ptr noundef %3660, i32 noundef %3662) #11
  br label %3664

3664:                                             ; preds = %3647, %3630
  call void @llvm.lifetime.end.p0(i64 4, ptr %71) #11
  br label %3665

3665:                                             ; preds = %3664
  br label %3666

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

3667:                                             ; No predecessors!
  br label %3668

3668:                                             ; preds = %3667
  br label %3669

3669:                                             ; preds = %3668, %3609
  br label %3670

3670:                                             ; preds = %3669
  br label %3671

3671:                                             ; preds = %3670
  br label %3672

3672:                                             ; preds = %3671
  %3673 = load i32, ptr @test_count, align 4, !tbaa !5
  %3674 = add nsw i32 %3673, 1
  store i32 %3674, ptr @test_count, align 4, !tbaa !5
  %3675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3676 = load i32, ptr %3675, align 4, !tbaa !5
  %3677 = icmp eq i32 %3676, 469762111
  br i1 %3677, label %3731, label %3678

3678:                                             ; preds = %3672
  br label %3679

3679:                                             ; preds = %3678
  br label %3680

3680:                                             ; preds = %3679
  call void @llvm.lifetime.start.p0(i64 4, ptr %72) #11
  %3681 = call ptr @__errno_location() #12
  %3682 = load i32, ptr %3681, align 4, !tbaa !5
  store i32 %3682, ptr %72, align 4, !tbaa !5
  %3683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3684 = call i32 @s2n_print_stacktrace(ptr noundef %3683)
  %3685 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3686 = trunc i8 %3685 to i1
  br i1 %3686, label %3687, label %3709

3687:                                             ; preds = %3680
  %3688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3689 = call i32 @fileno(ptr noundef %3688) #11
  %3690 = call i32 @isatty(i32 noundef %3689) #11
  %3691 = icmp ne i32 %3690, 0
  br i1 %3691, label %3692, label %3709

3692:                                             ; preds = %3687
  %3693 = load i32, ptr %72, align 4, !tbaa !5
  %3694 = call ptr @__errno_location() #12
  store i32 %3693, ptr %3694, align 4, !tbaa !5
  %3695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3696 = load i32, ptr @test_count, align 4, !tbaa !5
  %3697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3698 = load i32, ptr %3697, align 4, !tbaa !5
  %3699 = call ptr @s2n_strerror(i32 noundef %3698, ptr noundef @.str.4)
  %3700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3701 = load i32, ptr %3700, align 4, !tbaa !5
  %3702 = call ptr @s2n_strerror_debug(i32 noundef %3701, ptr noundef @.str.4)
  %3703 = call ptr @__errno_location() #12
  %3704 = load i32, ptr %3703, align 4, !tbaa !5
  %3705 = call ptr @strerror(i32 noundef %3704) #11
  %3706 = call ptr @__errno_location() #12
  %3707 = load i32, ptr %3706, align 4, !tbaa !5
  %3708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3695, ptr noundef @.str.2, i32 noundef %3696, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3699, ptr noundef %3702, ptr noundef %3705, i32 noundef %3707) #11
  br label %3726

3709:                                             ; preds = %3687, %3680
  %3710 = load i32, ptr %72, align 4, !tbaa !5
  %3711 = call ptr @__errno_location() #12
  store i32 %3710, ptr %3711, align 4, !tbaa !5
  %3712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3715 = load i32, ptr %3714, align 4, !tbaa !5
  %3716 = call ptr @s2n_strerror(i32 noundef %3715, ptr noundef @.str.4)
  %3717 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3718 = load i32, ptr %3717, align 4, !tbaa !5
  %3719 = call ptr @s2n_strerror_debug(i32 noundef %3718, ptr noundef @.str.4)
  %3720 = call ptr @__errno_location() #12
  %3721 = load i32, ptr %3720, align 4, !tbaa !5
  %3722 = call ptr @strerror(i32 noundef %3721) #11
  %3723 = call ptr @__errno_location() #12
  %3724 = load i32, ptr %3723, align 4, !tbaa !5
  %3725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3712, ptr noundef @.str.5, i32 noundef %3713, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 194, ptr noundef %3716, ptr noundef %3719, ptr noundef %3722, i32 noundef %3724) #11
  br label %3726

3726:                                             ; preds = %3709, %3692
  call void @llvm.lifetime.end.p0(i64 4, ptr %72) #11
  br label %3727

3727:                                             ; preds = %3726
  br label %3728

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

3729:                                             ; No predecessors!
  br label %3730

3730:                                             ; preds = %3729
  br label %3731

3731:                                             ; preds = %3730, %3672
  br label %3732

3732:                                             ; preds = %3731
  br label %3733

3733:                                             ; preds = %3732
  br label %3734

3734:                                             ; preds = %3733
  %3735 = load i32, ptr @test_count, align 4, !tbaa !5
  %3736 = add nsw i32 %3735, 1
  store i32 %3736, ptr @test_count, align 4, !tbaa !5
  %3737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3738 = load i32, ptr %3737, align 4, !tbaa !5
  %3739 = call ptr @s2n_strerror_debug(i32 noundef %3738, ptr noundef @.str.4)
  %3740 = icmp eq ptr %3739, null
  br i1 %3740, label %3741, label %3794

3741:                                             ; preds = %3734
  br label %3742

3742:                                             ; preds = %3741
  br label %3743

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

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

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

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

3789:                                             ; preds = %3772, %3755
  call void @llvm.lifetime.end.p0(i64 4, ptr %73) #11
  br label %3790

3790:                                             ; preds = %3789
  br label %3791

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

3792:                                             ; No predecessors!
  br label %3793

3793:                                             ; preds = %3792
  br label %3794

3794:                                             ; preds = %3793, %3734
  br label %3795

3795:                                             ; preds = %3794
  br label %3796

3796:                                             ; preds = %3795
  br label %3797

3797:                                             ; preds = %3796
  br label %3798

3798:                                             ; preds = %3797
  br label %3799

3799:                                             ; preds = %3798
  %3800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %3800, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %3801 = call ptr @__errno_location() #12
  store i32 0, ptr %3801, align 4, !tbaa !5
  br label %3802

3802:                                             ; preds = %3799
  br label %3803

3803:                                             ; preds = %3802
  br label %3804

3804:                                             ; preds = %3803
  br label %3805

3805:                                             ; preds = %3804
  br label %3806

3806:                                             ; preds = %3805
  %3807 = load i32, ptr @test_count, align 4, !tbaa !5
  %3808 = add nsw i32 %3807, 1
  store i32 %3808, ptr @test_count, align 4, !tbaa !5
  %3809 = load ptr, ptr %61, align 8, !tbaa !9
  %3810 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3809)
  %3811 = icmp eq i32 %3810, 1
  br i1 %3811, label %3865, label %3812

3812:                                             ; preds = %3806
  br label %3813

3813:                                             ; preds = %3812
  br label %3814

3814:                                             ; preds = %3813
  call void @llvm.lifetime.start.p0(i64 4, ptr %74) #11
  %3815 = call ptr @__errno_location() #12
  %3816 = load i32, ptr %3815, align 4, !tbaa !5
  store i32 %3816, ptr %74, align 4, !tbaa !5
  %3817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3818 = call i32 @s2n_print_stacktrace(ptr noundef %3817)
  %3819 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3820 = trunc i8 %3819 to i1
  br i1 %3820, label %3821, label %3843

3821:                                             ; preds = %3814
  %3822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3823 = call i32 @fileno(ptr noundef %3822) #11
  %3824 = call i32 @isatty(i32 noundef %3823) #11
  %3825 = icmp ne i32 %3824, 0
  br i1 %3825, label %3826, label %3843

3826:                                             ; preds = %3821
  %3827 = load i32, ptr %74, 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.4)
  %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.4)
  %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.2, i32 noundef %3830, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3833, ptr noundef %3836, ptr noundef %3839, i32 noundef %3841) #11
  br label %3860

3843:                                             ; preds = %3821, %3814
  %3844 = load i32, ptr %74, align 4, !tbaa !5
  %3845 = call ptr @__errno_location() #12
  store i32 %3844, ptr %3845, align 4, !tbaa !5
  %3846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3847 = load i32, ptr @test_count, align 4, !tbaa !5
  %3848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3849 = load i32, ptr %3848, align 4, !tbaa !5
  %3850 = call ptr @s2n_strerror(i32 noundef %3849, ptr noundef @.str.4)
  %3851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3852 = load i32, ptr %3851, align 4, !tbaa !5
  %3853 = call ptr @s2n_strerror_debug(i32 noundef %3852, ptr noundef @.str.4)
  %3854 = call ptr @__errno_location() #12
  %3855 = load i32, ptr %3854, align 4, !tbaa !5
  %3856 = call ptr @strerror(i32 noundef %3855) #11
  %3857 = call ptr @__errno_location() #12
  %3858 = load i32, ptr %3857, align 4, !tbaa !5
  %3859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3846, ptr noundef @.str.5, i32 noundef %3847, ptr noundef @.str.40, ptr noundef @.str.1, i32 noundef 195, ptr noundef %3850, ptr noundef %3853, ptr noundef %3856, i32 noundef %3858) #11
  br label %3860

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

3861:                                             ; preds = %3860
  br label %3862

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

3863:                                             ; No predecessors!
  br label %3864

3864:                                             ; preds = %3863
  br label %3865

3865:                                             ; preds = %3864, %3806
  br label %3866

3866:                                             ; preds = %3865
  br label %3867

3867:                                             ; preds = %3866
  br label %3868

3868:                                             ; preds = %3867
  %3869 = load i32, ptr @test_count, align 4, !tbaa !5
  %3870 = add nsw i32 %3869, 1
  store i32 %3870, ptr @test_count, align 4, !tbaa !5
  %3871 = load i64, ptr %70, align 8, !tbaa !42
  %3872 = icmp eq i64 %3871, 0
  br i1 %3872, label %3926, label %3873

3873:                                             ; preds = %3868
  br label %3874

3874:                                             ; preds = %3873
  br label %3875

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

3882:                                             ; preds = %3875
  %3883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3884 = call i32 @fileno(ptr noundef %3883) #11
  %3885 = call i32 @isatty(i32 noundef %3884) #11
  %3886 = icmp ne i32 %3885, 0
  br i1 %3886, label %3887, label %3904

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

3904:                                             ; preds = %3882, %3875
  %3905 = load i32, ptr %75, align 4, !tbaa !5
  %3906 = call ptr @__errno_location() #12
  store i32 %3905, ptr %3906, align 4, !tbaa !5
  %3907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3908 = load i32, ptr @test_count, align 4, !tbaa !5
  %3909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3910 = load i32, ptr %3909, align 4, !tbaa !5
  %3911 = call ptr @s2n_strerror(i32 noundef %3910, ptr noundef @.str.4)
  %3912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %3913 = load i32, ptr %3912, align 4, !tbaa !5
  %3914 = call ptr @s2n_strerror_debug(i32 noundef %3913, ptr noundef @.str.4)
  %3915 = call ptr @__errno_location() #12
  %3916 = load i32, ptr %3915, align 4, !tbaa !5
  %3917 = call ptr @strerror(i32 noundef %3916) #11
  %3918 = call ptr @__errno_location() #12
  %3919 = load i32, ptr %3918, align 4, !tbaa !5
  %3920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3907, ptr noundef @.str.5, i32 noundef %3908, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 196, ptr noundef %3911, ptr noundef %3914, ptr noundef %3917, i32 noundef %3919) #11
  br label %3921

3921:                                             ; preds = %3904, %3887
  call void @llvm.lifetime.end.p0(i64 4, ptr %75) #11
  br label %3922

3922:                                             ; preds = %3921
  br label %3923

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

3924:                                             ; No predecessors!
  br label %3925

3925:                                             ; preds = %3924
  br label %3926

3926:                                             ; preds = %3925, %3868
  br label %3927

3927:                                             ; preds = %3926
  br label %3928

3928:                                             ; preds = %3927
  br label %3929

3929:                                             ; preds = %3928
  %3930 = load i32, ptr @test_count, align 4, !tbaa !5
  %3931 = add nsw i32 %3930, 1
  store i32 %3931, ptr @test_count, align 4, !tbaa !5
  %3932 = call i32 @s2n_stuffer_free(ptr noundef %66)
  %3933 = icmp eq i32 %3932, -1
  br i1 %3933, label %3934, label %3987

3934:                                             ; preds = %3929
  br label %3935

3935:                                             ; preds = %3934
  br label %3936

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

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

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

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

3982:                                             ; preds = %3965, %3948
  call void @llvm.lifetime.end.p0(i64 4, ptr %76) #11
  br label %3983

3983:                                             ; preds = %3982
  br label %3984

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

3985:                                             ; No predecessors!
  br label %3986

3986:                                             ; preds = %3985
  br label %3987

3987:                                             ; preds = %3986, %3929
  br label %3988

3988:                                             ; preds = %3987
  br label %3989

3989:                                             ; preds = %3988
  br label %3990

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

3996:                                             ; preds = %3990
  br label %3997

3997:                                             ; preds = %3996
  br label %3998

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

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

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

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

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

4045:                                             ; preds = %4044
  br label %4046

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

4047:                                             ; No predecessors!
  br label %4048

4048:                                             ; preds = %4047
  br label %4049

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

4050:                                             ; preds = %4049
  br label %4051

4051:                                             ; preds = %4050
  call void @llvm.lifetime.end.p0(i64 8, ptr %70) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %69) #11
  %4052 = call i32 @s2n_stuffer_free(ptr noundef %66)
  call void @llvm.lifetime.end.p0(i64 40, ptr %66) #11
  %4053 = call i32 @s2n_stuffer_free(ptr noundef %65)
  call void @llvm.lifetime.end.p0(i64 40, ptr %65) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %61) #11
  call void @llvm.lifetime.start.p0(i64 4184, ptr %78) #11
  call void @llvm.memset.p0.i64(ptr align 8 %78, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %79) #11
  store i32 0, ptr %79, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %80) #11
  store i64 0, ptr %80, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 1, ptr %81) #11
  store i8 0, ptr %81, align 1, !tbaa !43
  br label %4054

4054:                                             ; preds = %4051
  br label %4055

4055:                                             ; preds = %4054
  br label %4056

4056:                                             ; preds = %4055
  %4057 = load i32, ptr @test_count, align 4, !tbaa !5
  %4058 = add nsw i32 %4057, 1
  store i32 %4058, ptr @test_count, align 4, !tbaa !5
  %4059 = call i32 @s2n_recv_early_data(ptr noundef null, ptr noundef %81, i64 noundef 1, ptr noundef %80, ptr noundef %79)
  %4060 = icmp eq i32 %4059, -1
  br i1 %4060, label %4114, label %4061

4061:                                             ; preds = %4056
  br label %4062

4062:                                             ; preds = %4061
  br label %4063

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

4070:                                             ; preds = %4063
  %4071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4072 = call i32 @fileno(ptr noundef %4071) #11
  %4073 = call i32 @isatty(i32 noundef %4072) #11
  %4074 = icmp ne i32 %4073, 0
  br i1 %4074, label %4075, label %4092

4075:                                             ; preds = %4070
  %4076 = load i32, ptr %82, align 4, !tbaa !5
  %4077 = call ptr @__errno_location() #12
  store i32 %4076, ptr %4077, align 4, !tbaa !5
  %4078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4079 = load i32, ptr @test_count, align 4, !tbaa !5
  %4080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4081 = load i32, ptr %4080, align 4, !tbaa !5
  %4082 = call ptr @s2n_strerror(i32 noundef %4081, ptr noundef @.str.4)
  %4083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4084 = load i32, ptr %4083, align 4, !tbaa !5
  %4085 = call ptr @s2n_strerror_debug(i32 noundef %4084, ptr noundef @.str.4)
  %4086 = call ptr @__errno_location() #12
  %4087 = load i32, ptr %4086, align 4, !tbaa !5
  %4088 = call ptr @strerror(i32 noundef %4087) #11
  %4089 = call ptr @__errno_location() #12
  %4090 = load i32, ptr %4089, align 4, !tbaa !5
  %4091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4078, ptr noundef @.str.2, i32 noundef %4079, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4082, ptr noundef %4085, ptr noundef %4088, i32 noundef %4090) #11
  br label %4109

4092:                                             ; preds = %4070, %4063
  %4093 = load i32, ptr %82, align 4, !tbaa !5
  %4094 = call ptr @__errno_location() #12
  store i32 %4093, ptr %4094, align 4, !tbaa !5
  %4095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4096 = load i32, ptr @test_count, align 4, !tbaa !5
  %4097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4098 = load i32, ptr %4097, align 4, !tbaa !5
  %4099 = call ptr @s2n_strerror(i32 noundef %4098, ptr noundef @.str.4)
  %4100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4101 = load i32, ptr %4100, align 4, !tbaa !5
  %4102 = call ptr @s2n_strerror_debug(i32 noundef %4101, ptr noundef @.str.4)
  %4103 = call ptr @__errno_location() #12
  %4104 = load i32, ptr %4103, align 4, !tbaa !5
  %4105 = call ptr @strerror(i32 noundef %4104) #11
  %4106 = call ptr @__errno_location() #12
  %4107 = load i32, ptr %4106, align 4, !tbaa !5
  %4108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4095, ptr noundef @.str.5, i32 noundef %4096, ptr noundef @.str.46, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4099, ptr noundef %4102, ptr noundef %4105, i32 noundef %4107) #11
  br label %4109

4109:                                             ; preds = %4092, %4075
  call void @llvm.lifetime.end.p0(i64 4, ptr %82) #11
  br label %4110

4110:                                             ; preds = %4109
  br label %4111

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

4112:                                             ; No predecessors!
  br label %4113

4113:                                             ; preds = %4112
  br label %4114

4114:                                             ; preds = %4113, %4056
  br label %4115

4115:                                             ; preds = %4114
  br label %4116

4116:                                             ; preds = %4115
  br label %4117

4117:                                             ; preds = %4116
  %4118 = load i32, ptr @test_count, align 4, !tbaa !5
  %4119 = add nsw i32 %4118, 1
  store i32 %4119, ptr @test_count, align 4, !tbaa !5
  %4120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4121 = load i32, ptr %4120, align 4, !tbaa !5
  %4122 = icmp eq i32 %4121, 402653193
  br i1 %4122, label %4176, label %4123

4123:                                             ; preds = %4117
  br label %4124

4124:                                             ; preds = %4123
  br label %4125

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

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

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

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

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

4172:                                             ; preds = %4171
  br label %4173

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

4174:                                             ; No predecessors!
  br label %4175

4175:                                             ; preds = %4174
  br label %4176

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

4177:                                             ; preds = %4176
  br label %4178

4178:                                             ; preds = %4177
  br label %4179

4179:                                             ; preds = %4178
  %4180 = load i32, ptr @test_count, align 4, !tbaa !5
  %4181 = add nsw i32 %4180, 1
  store i32 %4181, ptr @test_count, align 4, !tbaa !5
  %4182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4183 = load i32, ptr %4182, align 4, !tbaa !5
  %4184 = call ptr @s2n_strerror_debug(i32 noundef %4183, ptr noundef @.str.4)
  %4185 = icmp eq ptr %4184, null
  br i1 %4185, label %4186, label %4239

4186:                                             ; preds = %4179
  br label %4187

4187:                                             ; preds = %4186
  br label %4188

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

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

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

4217:                                             ; preds = %4195, %4188
  %4218 = load i32, ptr %84, align 4, !tbaa !5
  %4219 = call ptr @__errno_location() #12
  store i32 %4218, ptr %4219, align 4, !tbaa !5
  %4220 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4221 = load i32, ptr @test_count, align 4, !tbaa !5
  %4222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4223 = load i32, ptr %4222, align 4, !tbaa !5
  %4224 = call ptr @s2n_strerror(i32 noundef %4223, ptr noundef @.str.4)
  %4225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4226 = load i32, ptr %4225, align 4, !tbaa !5
  %4227 = call ptr @s2n_strerror_debug(i32 noundef %4226, ptr noundef @.str.4)
  %4228 = call ptr @__errno_location() #12
  %4229 = load i32, ptr %4228, align 4, !tbaa !5
  %4230 = call ptr @strerror(i32 noundef %4229) #11
  %4231 = call ptr @__errno_location() #12
  %4232 = load i32, ptr %4231, align 4, !tbaa !5
  %4233 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4220, ptr noundef @.str.5, i32 noundef %4221, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 211, ptr noundef %4224, ptr noundef %4227, ptr noundef %4230, i32 noundef %4232) #11
  br label %4234

4234:                                             ; preds = %4217, %4200
  call void @llvm.lifetime.end.p0(i64 4, ptr %84) #11
  br label %4235

4235:                                             ; preds = %4234
  br label %4236

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

4237:                                             ; No predecessors!
  br label %4238

4238:                                             ; preds = %4237
  br label %4239

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

4240:                                             ; preds = %4239
  br label %4241

4241:                                             ; preds = %4240
  br label %4242

4242:                                             ; preds = %4241
  br label %4243

4243:                                             ; preds = %4242
  br label %4244

4244:                                             ; preds = %4243
  %4245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4245, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4246 = call ptr @__errno_location() #12
  store i32 0, ptr %4246, align 4, !tbaa !5
  br label %4247

4247:                                             ; preds = %4244
  br label %4248

4248:                                             ; preds = %4247
  br label %4249

4249:                                             ; preds = %4248
  br label %4250

4250:                                             ; preds = %4249
  br label %4251

4251:                                             ; preds = %4250
  br label %4252

4252:                                             ; preds = %4251
  br label %4253

4253:                                             ; preds = %4252
  %4254 = load i32, ptr @test_count, align 4, !tbaa !5
  %4255 = add nsw i32 %4254, 1
  store i32 %4255, ptr @test_count, align 4, !tbaa !5
  %4256 = call i32 @s2n_recv_early_data(ptr noundef %78, ptr noundef %81, i64 noundef 1, ptr noundef null, ptr noundef %79)
  %4257 = icmp eq i32 %4256, -1
  br i1 %4257, label %4311, label %4258

4258:                                             ; preds = %4253
  br label %4259

4259:                                             ; preds = %4258
  br label %4260

4260:                                             ; preds = %4259
  call void @llvm.lifetime.start.p0(i64 4, ptr %85) #11
  %4261 = call ptr @__errno_location() #12
  %4262 = load i32, ptr %4261, align 4, !tbaa !5
  store i32 %4262, ptr %85, 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 %85, 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.4)
  %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.4)
  %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.2, i32 noundef %4276, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4279, ptr noundef %4282, ptr noundef %4285, i32 noundef %4287) #11
  br label %4306

4289:                                             ; preds = %4267, %4260
  %4290 = load i32, ptr %85, 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.4)
  %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.4)
  %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.5, i32 noundef %4293, ptr noundef @.str.47, ptr noundef @.str.1, i32 noundef 212, 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 %85) #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, %4253
  br label %4312

4312:                                             ; preds = %4311
  br label %4313

4313:                                             ; preds = %4312
  br label %4314

4314:                                             ; preds = %4313
  %4315 = load i32, ptr @test_count, align 4, !tbaa !5
  %4316 = add nsw i32 %4315, 1
  store i32 %4316, ptr @test_count, align 4, !tbaa !5
  %4317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4318 = load i32, ptr %4317, align 4, !tbaa !5
  %4319 = icmp eq i32 %4318, 402653193
  br i1 %4319, label %4373, label %4320

4320:                                             ; preds = %4314
  br label %4321

4321:                                             ; preds = %4320
  br label %4322

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

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

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

4351:                                             ; preds = %4329, %4322
  %4352 = load i32, ptr %86, align 4, !tbaa !5
  %4353 = call ptr @__errno_location() #12
  store i32 %4352, ptr %4353, align 4, !tbaa !5
  %4354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4355 = load i32, ptr @test_count, align 4, !tbaa !5
  %4356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4357 = load i32, ptr %4356, align 4, !tbaa !5
  %4358 = call ptr @s2n_strerror(i32 noundef %4357, ptr noundef @.str.4)
  %4359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4360 = load i32, ptr %4359, align 4, !tbaa !5
  %4361 = call ptr @s2n_strerror_debug(i32 noundef %4360, ptr noundef @.str.4)
  %4362 = call ptr @__errno_location() #12
  %4363 = load i32, ptr %4362, align 4, !tbaa !5
  %4364 = call ptr @strerror(i32 noundef %4363) #11
  %4365 = call ptr @__errno_location() #12
  %4366 = load i32, ptr %4365, align 4, !tbaa !5
  %4367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4354, ptr noundef @.str.5, i32 noundef %4355, ptr noundef @.str.24, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4358, ptr noundef %4361, ptr noundef %4364, i32 noundef %4366) #11
  br label %4368

4368:                                             ; preds = %4351, %4334
  call void @llvm.lifetime.end.p0(i64 4, ptr %86) #11
  br label %4369

4369:                                             ; preds = %4368
  br label %4370

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

4371:                                             ; No predecessors!
  br label %4372

4372:                                             ; preds = %4371
  br label %4373

4373:                                             ; preds = %4372, %4314
  br label %4374

4374:                                             ; preds = %4373
  br label %4375

4375:                                             ; preds = %4374
  br label %4376

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

4383:                                             ; preds = %4376
  br label %4384

4384:                                             ; preds = %4383
  br label %4385

4385:                                             ; preds = %4384
  call void @llvm.lifetime.start.p0(i64 4, ptr %87) #11
  %4386 = call ptr @__errno_location() #12
  %4387 = load i32, ptr %4386, align 4, !tbaa !5
  store i32 %4387, ptr %87, 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 %87, 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.4)
  %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.4)
  %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.2, i32 noundef %4401, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 212, ptr noundef %4404, ptr noundef %4407, ptr noundef %4410, i32 noundef %4412) #11
  br label %4431

4414:                                             ; preds = %4392, %4385
  %4415 = load i32, ptr %87, 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.4)
  %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.4)
  %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.5, i32 noundef %4418, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 212, 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 %87) #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, %4376
  br label %4437

4437:                                             ; preds = %4436
  br label %4438

4438:                                             ; preds = %4437
  br label %4439

4439:                                             ; preds = %4438
  br label %4440

4440:                                             ; preds = %4439
  br label %4441

4441:                                             ; preds = %4440
  %4442 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4442, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4443 = call ptr @__errno_location() #12
  store i32 0, ptr %4443, align 4, !tbaa !5
  br label %4444

4444:                                             ; preds = %4441
  br label %4445

4445:                                             ; preds = %4444
  br label %4446

4446:                                             ; preds = %4445
  br label %4447

4447:                                             ; preds = %4446
  br label %4448

4448:                                             ; preds = %4447
  br label %4449

4449:                                             ; preds = %4448
  br label %4450

4450:                                             ; preds = %4449
  %4451 = load i32, ptr @test_count, align 4, !tbaa !5
  %4452 = add nsw i32 %4451, 1
  store i32 %4452, ptr @test_count, align 4, !tbaa !5
  %4453 = call i32 @s2n_recv_early_data(ptr noundef %78, ptr noundef %81, i64 noundef 1, ptr noundef %80, ptr noundef null)
  %4454 = icmp eq i32 %4453, -1
  br i1 %4454, label %4508, label %4455

4455:                                             ; preds = %4450
  br label %4456

4456:                                             ; preds = %4455
  br label %4457

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

4464:                                             ; preds = %4457
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4466 = call i32 @fileno(ptr noundef %4465) #11
  %4467 = call i32 @isatty(i32 noundef %4466) #11
  %4468 = icmp ne i32 %4467, 0
  br i1 %4468, label %4469, label %4486

4469:                                             ; preds = %4464
  %4470 = load i32, ptr %88, align 4, !tbaa !5
  %4471 = call ptr @__errno_location() #12
  store i32 %4470, ptr %4471, align 4, !tbaa !5
  %4472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4473 = load i32, ptr @test_count, align 4, !tbaa !5
  %4474 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4475 = load i32, ptr %4474, align 4, !tbaa !5
  %4476 = call ptr @s2n_strerror(i32 noundef %4475, ptr noundef @.str.4)
  %4477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4478 = load i32, ptr %4477, align 4, !tbaa !5
  %4479 = call ptr @s2n_strerror_debug(i32 noundef %4478, ptr noundef @.str.4)
  %4480 = call ptr @__errno_location() #12
  %4481 = load i32, ptr %4480, align 4, !tbaa !5
  %4482 = call ptr @strerror(i32 noundef %4481) #11
  %4483 = call ptr @__errno_location() #12
  %4484 = load i32, ptr %4483, align 4, !tbaa !5
  %4485 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4472, ptr noundef @.str.2, i32 noundef %4473, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4476, ptr noundef %4479, ptr noundef %4482, i32 noundef %4484) #11
  br label %4503

4486:                                             ; preds = %4464, %4457
  %4487 = load i32, ptr %88, align 4, !tbaa !5
  %4488 = call ptr @__errno_location() #12
  store i32 %4487, ptr %4488, align 4, !tbaa !5
  %4489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4490 = load i32, ptr @test_count, align 4, !tbaa !5
  %4491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4492 = load i32, ptr %4491, align 4, !tbaa !5
  %4493 = call ptr @s2n_strerror(i32 noundef %4492, ptr noundef @.str.4)
  %4494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4495 = load i32, ptr %4494, align 4, !tbaa !5
  %4496 = call ptr @s2n_strerror_debug(i32 noundef %4495, ptr noundef @.str.4)
  %4497 = call ptr @__errno_location() #12
  %4498 = load i32, ptr %4497, align 4, !tbaa !5
  %4499 = call ptr @strerror(i32 noundef %4498) #11
  %4500 = call ptr @__errno_location() #12
  %4501 = load i32, ptr %4500, align 4, !tbaa !5
  %4502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4489, ptr noundef @.str.5, i32 noundef %4490, ptr noundef @.str.48, ptr noundef @.str.1, i32 noundef 213, ptr noundef %4493, ptr noundef %4496, ptr noundef %4499, i32 noundef %4501) #11
  br label %4503

4503:                                             ; preds = %4486, %4469
  call void @llvm.lifetime.end.p0(i64 4, ptr %88) #11
  br label %4504

4504:                                             ; preds = %4503
  br label %4505

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

4506:                                             ; No predecessors!
  br label %4507

4507:                                             ; preds = %4506
  br label %4508

4508:                                             ; preds = %4507, %4450
  br label %4509

4509:                                             ; preds = %4508
  br label %4510

4510:                                             ; preds = %4509
  br label %4511

4511:                                             ; preds = %4510
  %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 align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4515 = load i32, ptr %4514, align 4, !tbaa !5
  %4516 = icmp eq i32 %4515, 402653193
  br i1 %4516, label %4570, label %4517

4517:                                             ; preds = %4511
  br label %4518

4518:                                             ; preds = %4517
  br label %4519

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

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

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

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

4565:                                             ; preds = %4548, %4531
  call void @llvm.lifetime.end.p0(i64 4, ptr %89) #11
  br label %4566

4566:                                             ; preds = %4565
  br label %4567

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

4568:                                             ; No predecessors!
  br label %4569

4569:                                             ; preds = %4568
  br label %4570

4570:                                             ; preds = %4569, %4511
  br label %4571

4571:                                             ; preds = %4570
  br label %4572

4572:                                             ; preds = %4571
  br label %4573

4573:                                             ; preds = %4572
  %4574 = load i32, ptr @test_count, align 4, !tbaa !5
  %4575 = add nsw i32 %4574, 1
  store i32 %4575, ptr @test_count, align 4, !tbaa !5
  %4576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4577 = load i32, ptr %4576, align 4, !tbaa !5
  %4578 = call ptr @s2n_strerror_debug(i32 noundef %4577, ptr noundef @.str.4)
  %4579 = icmp eq ptr %4578, null
  br i1 %4579, label %4580, label %4633

4580:                                             ; preds = %4573
  br label %4581

4581:                                             ; preds = %4580
  br label %4582

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

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

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

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

4628:                                             ; preds = %4611, %4594
  call void @llvm.lifetime.end.p0(i64 4, ptr %90) #11
  br label %4629

4629:                                             ; preds = %4628
  br label %4630

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

4631:                                             ; No predecessors!
  br label %4632

4632:                                             ; preds = %4631
  br label %4633

4633:                                             ; preds = %4632, %4573
  br label %4634

4634:                                             ; preds = %4633
  br label %4635

4635:                                             ; preds = %4634
  br label %4636

4636:                                             ; preds = %4635
  br label %4637

4637:                                             ; preds = %4636
  br label %4638

4638:                                             ; preds = %4637
  %4639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4639, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4640 = call ptr @__errno_location() #12
  store i32 0, ptr %4640, align 4, !tbaa !5
  br label %4641

4641:                                             ; preds = %4638
  br label %4642

4642:                                             ; preds = %4641
  br label %4643

4643:                                             ; preds = %4642
  br label %4644

4644:                                             ; preds = %4643
  %4645 = getelementptr inbounds %struct.s2n_connection, ptr %78, i32 0, i32 13
  store i32 1, ptr %4645, align 4, !tbaa !15
  br label %4646

4646:                                             ; preds = %4644
  br label %4647

4647:                                             ; preds = %4646
  br label %4648

4648:                                             ; preds = %4647
  %4649 = load i32, ptr @test_count, align 4, !tbaa !5
  %4650 = add nsw i32 %4649, 1
  store i32 %4650, ptr @test_count, align 4, !tbaa !5
  %4651 = call i32 @s2n_recv_early_data(ptr noundef %78, ptr noundef %81, i64 noundef 1, ptr noundef %80, ptr noundef %79)
  %4652 = icmp eq i32 %4651, -1
  br i1 %4652, label %4706, label %4653

4653:                                             ; preds = %4648
  br label %4654

4654:                                             ; preds = %4653
  br label %4655

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

4662:                                             ; preds = %4655
  %4663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4664 = call i32 @fileno(ptr noundef %4663) #11
  %4665 = call i32 @isatty(i32 noundef %4664) #11
  %4666 = icmp ne i32 %4665, 0
  br i1 %4666, label %4667, label %4684

4667:                                             ; preds = %4662
  %4668 = load i32, ptr %91, align 4, !tbaa !5
  %4669 = call ptr @__errno_location() #12
  store i32 %4668, ptr %4669, align 4, !tbaa !5
  %4670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4671 = load i32, ptr @test_count, align 4, !tbaa !5
  %4672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4673 = load i32, ptr %4672, align 4, !tbaa !5
  %4674 = call ptr @s2n_strerror(i32 noundef %4673, ptr noundef @.str.4)
  %4675 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4676 = load i32, ptr %4675, align 4, !tbaa !5
  %4677 = call ptr @s2n_strerror_debug(i32 noundef %4676, ptr noundef @.str.4)
  %4678 = call ptr @__errno_location() #12
  %4679 = load i32, ptr %4678, align 4, !tbaa !5
  %4680 = call ptr @strerror(i32 noundef %4679) #11
  %4681 = call ptr @__errno_location() #12
  %4682 = load i32, ptr %4681, align 4, !tbaa !5
  %4683 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4670, ptr noundef @.str.2, i32 noundef %4671, ptr noundef @.str.49, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4674, ptr noundef %4677, ptr noundef %4680, i32 noundef %4682) #11
  br label %4701

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

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

4702:                                             ; preds = %4701
  br label %4703

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

4704:                                             ; No predecessors!
  br label %4705

4705:                                             ; preds = %4704
  br label %4706

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

4707:                                             ; preds = %4706
  br label %4708

4708:                                             ; preds = %4707
  br label %4709

4709:                                             ; preds = %4708
  %4710 = load i32, ptr @test_count, align 4, !tbaa !5
  %4711 = add nsw i32 %4710, 1
  store i32 %4711, ptr @test_count, align 4, !tbaa !5
  %4712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4713 = load i32, ptr %4712, align 4, !tbaa !5
  %4714 = icmp eq i32 %4713, 469762050
  br i1 %4714, label %4768, label %4715

4715:                                             ; preds = %4709
  br label %4716

4716:                                             ; preds = %4715
  br label %4717

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

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

4729:                                             ; preds = %4724
  %4730 = load i32, ptr %92, align 4, !tbaa !5
  %4731 = call ptr @__errno_location() #12
  store i32 %4730, ptr %4731, align 4, !tbaa !5
  %4732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4733 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4735, ptr noundef @.str.4)
  %4737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4738 = load i32, ptr %4737, align 4, !tbaa !5
  %4739 = call ptr @s2n_strerror_debug(i32 noundef %4738, ptr noundef @.str.4)
  %4740 = call ptr @__errno_location() #12
  %4741 = load i32, ptr %4740, align 4, !tbaa !5
  %4742 = call ptr @strerror(i32 noundef %4741) #11
  %4743 = call ptr @__errno_location() #12
  %4744 = load i32, ptr %4743, align 4, !tbaa !5
  %4745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4732, ptr noundef @.str.2, i32 noundef %4733, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4736, ptr noundef %4739, ptr noundef %4742, i32 noundef %4744) #11
  br label %4763

4746:                                             ; preds = %4724, %4717
  %4747 = load i32, ptr %92, align 4, !tbaa !5
  %4748 = call ptr @__errno_location() #12
  store i32 %4747, ptr %4748, align 4, !tbaa !5
  %4749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4750 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %4752, ptr noundef @.str.4)
  %4754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4755 = load i32, ptr %4754, align 4, !tbaa !5
  %4756 = call ptr @s2n_strerror_debug(i32 noundef %4755, ptr noundef @.str.4)
  %4757 = call ptr @__errno_location() #12
  %4758 = load i32, ptr %4757, align 4, !tbaa !5
  %4759 = call ptr @strerror(i32 noundef %4758) #11
  %4760 = call ptr @__errno_location() #12
  %4761 = load i32, ptr %4760, align 4, !tbaa !5
  %4762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4749, ptr noundef @.str.5, i32 noundef %4750, ptr noundef @.str.50, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4753, ptr noundef %4756, ptr noundef %4759, i32 noundef %4761) #11
  br label %4763

4763:                                             ; preds = %4746, %4729
  call void @llvm.lifetime.end.p0(i64 4, ptr %92) #11
  br label %4764

4764:                                             ; preds = %4763
  br label %4765

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

4766:                                             ; No predecessors!
  br label %4767

4767:                                             ; preds = %4766
  br label %4768

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

4769:                                             ; preds = %4768
  br label %4770

4770:                                             ; preds = %4769
  br label %4771

4771:                                             ; preds = %4770
  %4772 = load i32, ptr @test_count, align 4, !tbaa !5
  %4773 = add nsw i32 %4772, 1
  store i32 %4773, ptr @test_count, align 4, !tbaa !5
  %4774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4775 = load i32, ptr %4774, align 4, !tbaa !5
  %4776 = call ptr @s2n_strerror_debug(i32 noundef %4775, ptr noundef @.str.4)
  %4777 = icmp eq ptr %4776, null
  br i1 %4777, label %4778, label %4831

4778:                                             ; preds = %4771
  br label %4779

4779:                                             ; preds = %4778
  br label %4780

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

4787:                                             ; preds = %4780
  %4788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4789 = call i32 @fileno(ptr noundef %4788) #11
  %4790 = call i32 @isatty(i32 noundef %4789) #11
  %4791 = icmp ne i32 %4790, 0
  br i1 %4791, label %4792, label %4809

4792:                                             ; preds = %4787
  %4793 = load i32, ptr %93, align 4, !tbaa !5
  %4794 = call ptr @__errno_location() #12
  store i32 %4793, ptr %4794, align 4, !tbaa !5
  %4795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4796 = load i32, ptr @test_count, align 4, !tbaa !5
  %4797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4798 = load i32, ptr %4797, align 4, !tbaa !5
  %4799 = call ptr @s2n_strerror(i32 noundef %4798, ptr noundef @.str.4)
  %4800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4801 = load i32, ptr %4800, align 4, !tbaa !5
  %4802 = call ptr @s2n_strerror_debug(i32 noundef %4801, ptr noundef @.str.4)
  %4803 = call ptr @__errno_location() #12
  %4804 = load i32, ptr %4803, align 4, !tbaa !5
  %4805 = call ptr @strerror(i32 noundef %4804) #11
  %4806 = call ptr @__errno_location() #12
  %4807 = load i32, ptr %4806, align 4, !tbaa !5
  %4808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4795, ptr noundef @.str.2, i32 noundef %4796, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4799, ptr noundef %4802, ptr noundef %4805, i32 noundef %4807) #11
  br label %4826

4809:                                             ; preds = %4787, %4780
  %4810 = load i32, ptr %93, align 4, !tbaa !5
  %4811 = call ptr @__errno_location() #12
  store i32 %4810, ptr %4811, align 4, !tbaa !5
  %4812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4813 = load i32, ptr @test_count, align 4, !tbaa !5
  %4814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4815 = load i32, ptr %4814, align 4, !tbaa !5
  %4816 = call ptr @s2n_strerror(i32 noundef %4815, ptr noundef @.str.4)
  %4817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4818 = load i32, ptr %4817, align 4, !tbaa !5
  %4819 = call ptr @s2n_strerror_debug(i32 noundef %4818, ptr noundef @.str.4)
  %4820 = call ptr @__errno_location() #12
  %4821 = load i32, ptr %4820, align 4, !tbaa !5
  %4822 = call ptr @strerror(i32 noundef %4821) #11
  %4823 = call ptr @__errno_location() #12
  %4824 = load i32, ptr %4823, align 4, !tbaa !5
  %4825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4812, ptr noundef @.str.5, i32 noundef %4813, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 216, ptr noundef %4816, ptr noundef %4819, ptr noundef %4822, i32 noundef %4824) #11
  br label %4826

4826:                                             ; preds = %4809, %4792
  call void @llvm.lifetime.end.p0(i64 4, ptr %93) #11
  br label %4827

4827:                                             ; preds = %4826
  br label %4828

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

4829:                                             ; No predecessors!
  br label %4830

4830:                                             ; preds = %4829
  br label %4831

4831:                                             ; preds = %4830, %4771
  br label %4832

4832:                                             ; preds = %4831
  br label %4833

4833:                                             ; preds = %4832
  br label %4834

4834:                                             ; preds = %4833
  br label %4835

4835:                                             ; preds = %4834
  br label %4836

4836:                                             ; preds = %4835
  %4837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %4837, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %4838 = call ptr @__errno_location() #12
  store i32 0, ptr %4838, align 4, !tbaa !5
  br label %4839

4839:                                             ; preds = %4836
  br label %4840

4840:                                             ; preds = %4839
  br label %4841

4841:                                             ; preds = %4840
  br label %4842

4842:                                             ; preds = %4841
  call void @llvm.lifetime.end.p0(i64 1, ptr %81) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %80) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %79) #11
  call void @llvm.lifetime.end.p0(i64 4184, ptr %78) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %94) #11
  %4843 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %4843, ptr %94, align 8, !tbaa !9
  br label %4844

4844:                                             ; preds = %4842
  %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 %94, align 8, !tbaa !9
  %4848 = icmp eq ptr %4847, null
  br i1 %4848, label %4849, label %4902

4849:                                             ; preds = %4844
  br label %4850

4850:                                             ; preds = %4849
  br label %4851

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

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

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

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

4897:                                             ; preds = %4880, %4863
  call void @llvm.lifetime.end.p0(i64 4, ptr %95) #11
  br label %4898

4898:                                             ; preds = %4897
  br label %4899

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

4900:                                             ; No predecessors!
  br label %4901

4901:                                             ; preds = %4900
  br label %4902

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

4903:                                             ; preds = %4902
  br label %4904

4904:                                             ; preds = %4903
  br label %4905

4905:                                             ; preds = %4904
  %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 = load ptr, ptr %94, align 8, !tbaa !9
  %4909 = call i32 @s2n_connection_set_blinding(ptr noundef %4908, i32 noundef 1)
  %4910 = icmp eq i32 %4909, -1
  br i1 %4910, label %4911, label %4964

4911:                                             ; preds = %4905
  br label %4912

4912:                                             ; preds = %4911
  br label %4913

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

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

4925:                                             ; preds = %4920
  %4926 = load i32, ptr %96, align 4, !tbaa !5
  %4927 = call ptr @__errno_location() #12
  store i32 %4926, ptr %4927, align 4, !tbaa !5
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = load i32, ptr @test_count, align 4, !tbaa !5
  %4930 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4931 = load i32, ptr %4930, align 4, !tbaa !5
  %4932 = call ptr @s2n_strerror(i32 noundef %4931, ptr noundef @.str.4)
  %4933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4934 = load i32, ptr %4933, align 4, !tbaa !5
  %4935 = call ptr @s2n_strerror_debug(i32 noundef %4934, ptr noundef @.str.4)
  %4936 = call ptr @__errno_location() #12
  %4937 = load i32, ptr %4936, align 4, !tbaa !5
  %4938 = call ptr @strerror(i32 noundef %4937) #11
  %4939 = call ptr @__errno_location() #12
  %4940 = load i32, ptr %4939, align 4, !tbaa !5
  %4941 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4928, ptr noundef @.str.2, i32 noundef %4929, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 223, ptr noundef %4932, ptr noundef %4935, ptr noundef %4938, i32 noundef %4940) #11
  br label %4959

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

4959:                                             ; preds = %4942, %4925
  call void @llvm.lifetime.end.p0(i64 4, ptr %96) #11
  br label %4960

4960:                                             ; preds = %4959
  br label %4961

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

4962:                                             ; No predecessors!
  br label %4963

4963:                                             ; preds = %4962
  br label %4964

4964:                                             ; preds = %4963, %4905
  br label %4965

4965:                                             ; preds = %4964
  br label %4966

4966:                                             ; preds = %4965
  br label %4967

4967:                                             ; preds = %4966
  %4968 = load i32, ptr @test_count, align 4, !tbaa !5
  %4969 = add nsw i32 %4968, 1
  store i32 %4969, ptr @test_count, align 4, !tbaa !5
  %4970 = load ptr, ptr %94, align 8, !tbaa !9
  %4971 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %4970, ptr noundef @.str.31)
  %4972 = icmp eq i32 %4971, -1
  br i1 %4972, label %4973, label %5026

4973:                                             ; preds = %4967
  br label %4974

4974:                                             ; preds = %4973
  br label %4975

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

4982:                                             ; preds = %4975
  %4983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4984 = call i32 @fileno(ptr noundef %4983) #11
  %4985 = call i32 @isatty(i32 noundef %4984) #11
  %4986 = icmp ne i32 %4985, 0
  br i1 %4986, label %4987, label %5004

4987:                                             ; preds = %4982
  %4988 = load i32, ptr %97, align 4, !tbaa !5
  %4989 = call ptr @__errno_location() #12
  store i32 %4988, ptr %4989, align 4, !tbaa !5
  %4990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4991 = load i32, ptr @test_count, align 4, !tbaa !5
  %4992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4993 = load i32, ptr %4992, align 4, !tbaa !5
  %4994 = call ptr @s2n_strerror(i32 noundef %4993, ptr noundef @.str.4)
  %4995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %4996 = load i32, ptr %4995, align 4, !tbaa !5
  %4997 = call ptr @s2n_strerror_debug(i32 noundef %4996, ptr noundef @.str.4)
  %4998 = call ptr @__errno_location() #12
  %4999 = load i32, ptr %4998, align 4, !tbaa !5
  %5000 = call ptr @strerror(i32 noundef %4999) #11
  %5001 = call ptr @__errno_location() #12
  %5002 = load i32, ptr %5001, align 4, !tbaa !5
  %5003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4990, ptr noundef @.str.2, i32 noundef %4991, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 224, ptr noundef %4994, ptr noundef %4997, ptr noundef %5000, i32 noundef %5002) #11
  br label %5021

5004:                                             ; preds = %4982, %4975
  %5005 = load i32, ptr %97, align 4, !tbaa !5
  %5006 = call ptr @__errno_location() #12
  store i32 %5005, ptr %5006, align 4, !tbaa !5
  %5007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5008 = load i32, ptr @test_count, align 4, !tbaa !5
  %5009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5010 = load i32, ptr %5009, align 4, !tbaa !5
  %5011 = call ptr @s2n_strerror(i32 noundef %5010, ptr noundef @.str.4)
  %5012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5013 = load i32, ptr %5012, align 4, !tbaa !5
  %5014 = call ptr @s2n_strerror_debug(i32 noundef %5013, ptr noundef @.str.4)
  %5015 = call ptr @__errno_location() #12
  %5016 = load i32, ptr %5015, align 4, !tbaa !5
  %5017 = call ptr @strerror(i32 noundef %5016) #11
  %5018 = call ptr @__errno_location() #12
  %5019 = load i32, ptr %5018, align 4, !tbaa !5
  %5020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5007, ptr noundef @.str.5, i32 noundef %5008, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 224, ptr noundef %5011, ptr noundef %5014, ptr noundef %5017, i32 noundef %5019) #11
  br label %5021

5021:                                             ; preds = %5004, %4987
  call void @llvm.lifetime.end.p0(i64 4, ptr %97) #11
  br label %5022

5022:                                             ; preds = %5021
  br label %5023

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

5024:                                             ; No predecessors!
  br label %5025

5025:                                             ; preds = %5024
  br label %5026

5026:                                             ; preds = %5025, %4967
  br label %5027

5027:                                             ; preds = %5026
  br label %5028

5028:                                             ; preds = %5027
  br label %5029

5029:                                             ; preds = %5028
  %5030 = load i32, ptr @test_count, align 4, !tbaa !5
  %5031 = add nsw i32 %5030, 1
  store i32 %5031, ptr @test_count, align 4, !tbaa !5
  %5032 = load ptr, ptr %94, align 8, !tbaa !9
  %5033 = load ptr, ptr %13, align 8, !tbaa !9
  %5034 = call i32 @s2n_connection_append_psk(ptr noundef %5032, ptr noundef %5033)
  %5035 = icmp eq i32 %5034, -1
  br i1 %5035, label %5036, label %5089

5036:                                             ; preds = %5029
  br label %5037

5037:                                             ; preds = %5036
  br label %5038

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

5045:                                             ; preds = %5038
  %5046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5047 = call i32 @fileno(ptr noundef %5046) #11
  %5048 = call i32 @isatty(i32 noundef %5047) #11
  %5049 = icmp ne i32 %5048, 0
  br i1 %5049, label %5050, label %5067

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

5067:                                             ; preds = %5045, %5038
  %5068 = load i32, ptr %98, align 4, !tbaa !5
  %5069 = call ptr @__errno_location() #12
  store i32 %5068, ptr %5069, align 4, !tbaa !5
  %5070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5071 = load i32, ptr @test_count, align 4, !tbaa !5
  %5072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5073 = load i32, ptr %5072, align 4, !tbaa !5
  %5074 = call ptr @s2n_strerror(i32 noundef %5073, ptr noundef @.str.4)
  %5075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5076 = load i32, ptr %5075, align 4, !tbaa !5
  %5077 = call ptr @s2n_strerror_debug(i32 noundef %5076, ptr noundef @.str.4)
  %5078 = call ptr @__errno_location() #12
  %5079 = load i32, ptr %5078, align 4, !tbaa !5
  %5080 = call ptr @strerror(i32 noundef %5079) #11
  %5081 = call ptr @__errno_location() #12
  %5082 = load i32, ptr %5081, align 4, !tbaa !5
  %5083 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5070, ptr noundef @.str.5, i32 noundef %5071, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 225, ptr noundef %5074, ptr noundef %5077, ptr noundef %5080, i32 noundef %5082) #11
  br label %5084

5084:                                             ; preds = %5067, %5050
  call void @llvm.lifetime.end.p0(i64 4, ptr %98) #11
  br label %5085

5085:                                             ; preds = %5084
  br label %5086

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

5087:                                             ; No predecessors!
  br label %5088

5088:                                             ; preds = %5087
  br label %5089

5089:                                             ; preds = %5088, %5029
  br label %5090

5090:                                             ; preds = %5089
  br label %5091

5091:                                             ; preds = %5090
  call void @llvm.lifetime.start.p0(i64 40, ptr %99) #11
  call void @llvm.memset.p0.i64(ptr align 8 %99, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %100) #11
  call void @llvm.memset.p0.i64(ptr align 8 %100, i8 0, i64 40, i1 false)
  br label %5092

5092:                                             ; preds = %5091
  %5093 = load i32, ptr @test_count, align 4, !tbaa !5
  %5094 = add nsw i32 %5093, 1
  store i32 %5094, ptr @test_count, align 4, !tbaa !5
  %5095 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %99, i32 noundef 8092)
  %5096 = icmp eq i32 %5095, -1
  br i1 %5096, label %5097, label %5150

5097:                                             ; preds = %5092
  br label %5098

5098:                                             ; preds = %5097
  br label %5099

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

5106:                                             ; preds = %5099
  %5107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5108 = call i32 @fileno(ptr noundef %5107) #11
  %5109 = call i32 @isatty(i32 noundef %5108) #11
  %5110 = icmp ne i32 %5109, 0
  br i1 %5110, label %5111, label %5128

5111:                                             ; preds = %5106
  %5112 = load i32, ptr %101, align 4, !tbaa !5
  %5113 = call ptr @__errno_location() #12
  store i32 %5112, ptr %5113, align 4, !tbaa !5
  %5114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5115 = load i32, ptr @test_count, align 4, !tbaa !5
  %5116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5117 = load i32, ptr %5116, align 4, !tbaa !5
  %5118 = call ptr @s2n_strerror(i32 noundef %5117, ptr noundef @.str.4)
  %5119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5120 = load i32, ptr %5119, align 4, !tbaa !5
  %5121 = call ptr @s2n_strerror_debug(i32 noundef %5120, ptr noundef @.str.4)
  %5122 = call ptr @__errno_location() #12
  %5123 = load i32, ptr %5122, align 4, !tbaa !5
  %5124 = call ptr @strerror(i32 noundef %5123) #11
  %5125 = call ptr @__errno_location() #12
  %5126 = load i32, ptr %5125, align 4, !tbaa !5
  %5127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5114, ptr noundef @.str.2, i32 noundef %5115, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5118, ptr noundef %5121, ptr noundef %5124, i32 noundef %5126) #11
  br label %5145

5128:                                             ; preds = %5106, %5099
  %5129 = load i32, ptr %101, align 4, !tbaa !5
  %5130 = call ptr @__errno_location() #12
  store i32 %5129, ptr %5130, align 4, !tbaa !5
  %5131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5132 = load i32, ptr @test_count, align 4, !tbaa !5
  %5133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5134 = load i32, ptr %5133, align 4, !tbaa !5
  %5135 = call ptr @s2n_strerror(i32 noundef %5134, ptr noundef @.str.4)
  %5136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5137 = load i32, ptr %5136, align 4, !tbaa !5
  %5138 = call ptr @s2n_strerror_debug(i32 noundef %5137, ptr noundef @.str.4)
  %5139 = call ptr @__errno_location() #12
  %5140 = load i32, ptr %5139, align 4, !tbaa !5
  %5141 = call ptr @strerror(i32 noundef %5140) #11
  %5142 = call ptr @__errno_location() #12
  %5143 = load i32, ptr %5142, align 4, !tbaa !5
  %5144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5131, ptr noundef @.str.5, i32 noundef %5132, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 229, ptr noundef %5135, ptr noundef %5138, ptr noundef %5141, i32 noundef %5143) #11
  br label %5145

5145:                                             ; preds = %5128, %5111
  call void @llvm.lifetime.end.p0(i64 4, ptr %101) #11
  br label %5146

5146:                                             ; preds = %5145
  br label %5147

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

5148:                                             ; No predecessors!
  br label %5149

5149:                                             ; preds = %5148
  br label %5150

5150:                                             ; preds = %5149, %5092
  br label %5151

5151:                                             ; preds = %5150
  br label %5152

5152:                                             ; preds = %5151
  br label %5153

5153:                                             ; preds = %5152
  %5154 = load i32, ptr @test_count, align 4, !tbaa !5
  %5155 = add nsw i32 %5154, 1
  store i32 %5155, ptr @test_count, align 4, !tbaa !5
  %5156 = load ptr, ptr %94, align 8, !tbaa !9
  %5157 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %99, ptr noundef %100, ptr noundef %5156)
  %5158 = icmp eq i32 %5157, -1
  br i1 %5158, label %5159, label %5212

5159:                                             ; preds = %5153
  br label %5160

5160:                                             ; preds = %5159
  br label %5161

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

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

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

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

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

5208:                                             ; preds = %5207
  br label %5209

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

5210:                                             ; No predecessors!
  br label %5211

5211:                                             ; preds = %5210
  br label %5212

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

5213:                                             ; preds = %5212
  br label %5214

5214:                                             ; preds = %5213
  br label %5215

5215:                                             ; preds = %5214
  %5216 = load i32, ptr @test_count, align 4, !tbaa !5
  %5217 = add nsw i32 %5216, 1
  store i32 %5217, ptr @test_count, align 4, !tbaa !5
  %5218 = getelementptr inbounds [9 x i8], ptr %12, i64 0, i64 0
  %5219 = call i32 @s2n_stuffer_write_bytes(ptr noundef %99, ptr noundef %5218, i32 noundef 9)
  %5220 = icmp eq i32 %5219, -1
  br i1 %5220, label %5221, label %5274

5221:                                             ; preds = %5215
  br label %5222

5222:                                             ; preds = %5221
  br label %5223

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

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

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

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

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

5270:                                             ; preds = %5269
  br label %5271

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

5272:                                             ; No predecessors!
  br label %5273

5273:                                             ; preds = %5272
  br label %5274

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

5275:                                             ; preds = %5274
  br label %5276

5276:                                             ; preds = %5275
  call void @llvm.lifetime.start.p0(i64 100, ptr %104) #11
  call void @llvm.memset.p0.i64(ptr align 16 %104, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %105) #11
  store i32 0, ptr %105, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %106) #11
  store i64 0, ptr %106, align 8, !tbaa !42
  br label %5277

5277:                                             ; preds = %5276
  br label %5278

5278:                                             ; preds = %5277
  br label %5279

5279:                                             ; preds = %5278
  %5280 = load i32, ptr @test_count, align 4, !tbaa !5
  %5281 = add nsw i32 %5280, 1
  store i32 %5281, ptr @test_count, align 4, !tbaa !5
  %5282 = load ptr, ptr %94, align 8, !tbaa !9
  %5283 = getelementptr inbounds [100 x i8], ptr %104, i64 0, i64 0
  %5284 = call i32 @s2n_recv_early_data(ptr noundef %5282, ptr noundef %5283, i64 noundef 100, ptr noundef %106, ptr noundef %105)
  %5285 = icmp eq i32 %5284, -1
  br i1 %5285, label %5339, label %5286

5286:                                             ; preds = %5279
  br label %5287

5287:                                             ; preds = %5286
  br label %5288

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

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

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

5317:                                             ; preds = %5295, %5288
  %5318 = load i32, ptr %107, align 4, !tbaa !5
  %5319 = call ptr @__errno_location() #12
  store i32 %5318, ptr %5319, align 4, !tbaa !5
  %5320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5323 = load i32, ptr %5322, align 4, !tbaa !5
  %5324 = call ptr @s2n_strerror(i32 noundef %5323, ptr noundef @.str.4)
  %5325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5326 = load i32, ptr %5325, align 4, !tbaa !5
  %5327 = call ptr @s2n_strerror_debug(i32 noundef %5326, ptr noundef @.str.4)
  %5328 = call ptr @__errno_location() #12
  %5329 = load i32, ptr %5328, align 4, !tbaa !5
  %5330 = call ptr @strerror(i32 noundef %5329) #11
  %5331 = call ptr @__errno_location() #12
  %5332 = load i32, ptr %5331, align 4, !tbaa !5
  %5333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5320, ptr noundef @.str.5, i32 noundef %5321, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5324, ptr noundef %5327, ptr noundef %5330, i32 noundef %5332) #11
  br label %5334

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

5335:                                             ; preds = %5334
  br label %5336

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

5337:                                             ; No predecessors!
  br label %5338

5338:                                             ; preds = %5337
  br label %5339

5339:                                             ; preds = %5338, %5279
  br label %5340

5340:                                             ; preds = %5339
  br label %5341

5341:                                             ; preds = %5340
  br label %5342

5342:                                             ; preds = %5341
  %5343 = load i32, ptr @test_count, align 4, !tbaa !5
  %5344 = add nsw i32 %5343, 1
  store i32 %5344, 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 = icmp eq i32 %5346, 335544322
  br i1 %5347, label %5401, label %5348

5348:                                             ; preds = %5342
  br label %5349

5349:                                             ; preds = %5348
  br label %5350

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

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

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

5379:                                             ; preds = %5357, %5350
  %5380 = load i32, ptr %108, align 4, !tbaa !5
  %5381 = call ptr @__errno_location() #12
  store i32 %5380, ptr %5381, align 4, !tbaa !5
  %5382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5383 = load i32, ptr @test_count, align 4, !tbaa !5
  %5384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5385 = load i32, ptr %5384, align 4, !tbaa !5
  %5386 = call ptr @s2n_strerror(i32 noundef %5385, ptr noundef @.str.4)
  %5387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5388 = load i32, ptr %5387, align 4, !tbaa !5
  %5389 = call ptr @s2n_strerror_debug(i32 noundef %5388, ptr noundef @.str.4)
  %5390 = call ptr @__errno_location() #12
  %5391 = load i32, ptr %5390, align 4, !tbaa !5
  %5392 = call ptr @strerror(i32 noundef %5391) #11
  %5393 = call ptr @__errno_location() #12
  %5394 = load i32, ptr %5393, align 4, !tbaa !5
  %5395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5382, ptr noundef @.str.5, i32 noundef %5383, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5386, ptr noundef %5389, ptr noundef %5392, i32 noundef %5394) #11
  br label %5396

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

5397:                                             ; preds = %5396
  br label %5398

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

5399:                                             ; No predecessors!
  br label %5400

5400:                                             ; preds = %5399
  br label %5401

5401:                                             ; preds = %5400, %5342
  br label %5402

5402:                                             ; preds = %5401
  br label %5403

5403:                                             ; preds = %5402
  br label %5404

5404:                                             ; preds = %5403
  %5405 = load i32, ptr @test_count, align 4, !tbaa !5
  %5406 = add nsw i32 %5405, 1
  store i32 %5406, 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_debug(i32 noundef %5408, ptr noundef @.str.4)
  %5410 = icmp eq ptr %5409, null
  br i1 %5410, label %5411, label %5464

5411:                                             ; preds = %5404
  br label %5412

5412:                                             ; preds = %5411
  br label %5413

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

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

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

5442:                                             ; preds = %5420, %5413
  %5443 = load i32, ptr %109, align 4, !tbaa !5
  %5444 = call ptr @__errno_location() #12
  store i32 %5443, ptr %5444, align 4, !tbaa !5
  %5445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5446 = load i32, 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(i32 noundef %5448, ptr noundef @.str.4)
  %5450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5451 = load i32, ptr %5450, align 4, !tbaa !5
  %5452 = call ptr @s2n_strerror_debug(i32 noundef %5451, ptr noundef @.str.4)
  %5453 = call ptr @__errno_location() #12
  %5454 = load i32, ptr %5453, align 4, !tbaa !5
  %5455 = call ptr @strerror(i32 noundef %5454) #11
  %5456 = call ptr @__errno_location() #12
  %5457 = load i32, ptr %5456, align 4, !tbaa !5
  %5458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5445, ptr noundef @.str.5, i32 noundef %5446, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 239, ptr noundef %5449, ptr noundef %5452, ptr noundef %5455, i32 noundef %5457) #11
  br label %5459

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

5460:                                             ; preds = %5459
  br label %5461

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

5462:                                             ; No predecessors!
  br label %5463

5463:                                             ; preds = %5462
  br label %5464

5464:                                             ; preds = %5463, %5404
  br label %5465

5465:                                             ; preds = %5464
  br label %5466

5466:                                             ; preds = %5465
  br label %5467

5467:                                             ; preds = %5466
  br label %5468

5468:                                             ; preds = %5467
  br label %5469

5469:                                             ; preds = %5468
  %5470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %5470, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %5471 = call ptr @__errno_location() #12
  store i32 0, ptr %5471, align 4, !tbaa !5
  br label %5472

5472:                                             ; preds = %5469
  br label %5473

5473:                                             ; preds = %5472
  br label %5474

5474:                                             ; preds = %5473
  br label %5475

5475:                                             ; preds = %5474
  br label %5476

5476:                                             ; preds = %5475
  %5477 = load i32, ptr @test_count, align 4, !tbaa !5
  %5478 = add nsw i32 %5477, 1
  store i32 %5478, ptr @test_count, align 4, !tbaa !5
  %5479 = load ptr, ptr %94, align 8, !tbaa !9
  %5480 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5479)
  %5481 = icmp eq i32 %5480, 0
  br i1 %5481, label %5535, label %5482

5482:                                             ; preds = %5476
  br label %5483

5483:                                             ; preds = %5482
  br label %5484

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

5491:                                             ; preds = %5484
  %5492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5493 = call i32 @fileno(ptr noundef %5492) #11
  %5494 = call i32 @isatty(i32 noundef %5493) #11
  %5495 = icmp ne i32 %5494, 0
  br i1 %5495, label %5496, label %5513

5496:                                             ; preds = %5491
  %5497 = load i32, ptr %110, align 4, !tbaa !5
  %5498 = call ptr @__errno_location() #12
  store i32 %5497, ptr %5498, align 4, !tbaa !5
  %5499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5500 = load i32, ptr @test_count, align 4, !tbaa !5
  %5501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5502 = load i32, ptr %5501, align 4, !tbaa !5
  %5503 = call ptr @s2n_strerror(i32 noundef %5502, ptr noundef @.str.4)
  %5504 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5505 = load i32, ptr %5504, align 4, !tbaa !5
  %5506 = call ptr @s2n_strerror_debug(i32 noundef %5505, ptr noundef @.str.4)
  %5507 = call ptr @__errno_location() #12
  %5508 = load i32, ptr %5507, align 4, !tbaa !5
  %5509 = call ptr @strerror(i32 noundef %5508) #11
  %5510 = call ptr @__errno_location() #12
  %5511 = load i32, ptr %5510, align 4, !tbaa !5
  %5512 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5499, ptr noundef @.str.2, i32 noundef %5500, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 240, ptr noundef %5503, ptr noundef %5506, ptr noundef %5509, i32 noundef %5511) #11
  br label %5530

5513:                                             ; preds = %5491, %5484
  %5514 = load i32, ptr %110, align 4, !tbaa !5
  %5515 = call ptr @__errno_location() #12
  store i32 %5514, ptr %5515, align 4, !tbaa !5
  %5516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5517 = load i32, ptr @test_count, align 4, !tbaa !5
  %5518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5519 = load i32, ptr %5518, align 4, !tbaa !5
  %5520 = call ptr @s2n_strerror(i32 noundef %5519, ptr noundef @.str.4)
  %5521 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5522 = load i32, ptr %5521, align 4, !tbaa !5
  %5523 = call ptr @s2n_strerror_debug(i32 noundef %5522, ptr noundef @.str.4)
  %5524 = call ptr @__errno_location() #12
  %5525 = load i32, ptr %5524, align 4, !tbaa !5
  %5526 = call ptr @strerror(i32 noundef %5525) #11
  %5527 = call ptr @__errno_location() #12
  %5528 = load i32, ptr %5527, align 4, !tbaa !5
  %5529 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5516, ptr noundef @.str.5, i32 noundef %5517, ptr noundef @.str.57, ptr noundef @.str.1, i32 noundef 240, ptr noundef %5520, ptr noundef %5523, ptr noundef %5526, i32 noundef %5528) #11
  br label %5530

5530:                                             ; preds = %5513, %5496
  call void @llvm.lifetime.end.p0(i64 4, ptr %110) #11
  br label %5531

5531:                                             ; preds = %5530
  br label %5532

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

5533:                                             ; No predecessors!
  br label %5534

5534:                                             ; preds = %5533
  br label %5535

5535:                                             ; preds = %5534, %5476
  br label %5536

5536:                                             ; preds = %5535
  br label %5537

5537:                                             ; preds = %5536
  br label %5538

5538:                                             ; preds = %5537
  %5539 = load i32, ptr @test_count, align 4, !tbaa !5
  %5540 = add nsw i32 %5539, 1
  store i32 %5540, ptr @test_count, align 4, !tbaa !5
  %5541 = load i64, ptr %106, align 8, !tbaa !42
  %5542 = icmp eq i64 %5541, 0
  br i1 %5542, label %5596, label %5543

5543:                                             ; preds = %5538
  br label %5544

5544:                                             ; preds = %5543
  br label %5545

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

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

5557:                                             ; preds = %5552
  %5558 = load i32, ptr %111, align 4, !tbaa !5
  %5559 = call ptr @__errno_location() #12
  store i32 %5558, ptr %5559, align 4, !tbaa !5
  %5560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5561 = load i32, ptr @test_count, align 4, !tbaa !5
  %5562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5563 = load i32, ptr %5562, align 4, !tbaa !5
  %5564 = call ptr @s2n_strerror(i32 noundef %5563, ptr noundef @.str.4)
  %5565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5566 = load i32, ptr %5565, align 4, !tbaa !5
  %5567 = call ptr @s2n_strerror_debug(i32 noundef %5566, ptr noundef @.str.4)
  %5568 = call ptr @__errno_location() #12
  %5569 = load i32, ptr %5568, align 4, !tbaa !5
  %5570 = call ptr @strerror(i32 noundef %5569) #11
  %5571 = call ptr @__errno_location() #12
  %5572 = load i32, ptr %5571, align 4, !tbaa !5
  %5573 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5560, ptr noundef @.str.2, i32 noundef %5561, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 241, ptr noundef %5564, ptr noundef %5567, ptr noundef %5570, i32 noundef %5572) #11
  br label %5591

5574:                                             ; preds = %5552, %5545
  %5575 = load i32, ptr %111, align 4, !tbaa !5
  %5576 = call ptr @__errno_location() #12
  store i32 %5575, ptr %5576, align 4, !tbaa !5
  %5577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5578 = load i32, ptr @test_count, align 4, !tbaa !5
  %5579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5580 = load i32, ptr %5579, align 4, !tbaa !5
  %5581 = call ptr @s2n_strerror(i32 noundef %5580, ptr noundef @.str.4)
  %5582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5583 = load i32, ptr %5582, align 4, !tbaa !5
  %5584 = call ptr @s2n_strerror_debug(i32 noundef %5583, ptr noundef @.str.4)
  %5585 = call ptr @__errno_location() #12
  %5586 = load i32, ptr %5585, align 4, !tbaa !5
  %5587 = call ptr @strerror(i32 noundef %5586) #11
  %5588 = call ptr @__errno_location() #12
  %5589 = load i32, ptr %5588, align 4, !tbaa !5
  %5590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5577, ptr noundef @.str.5, i32 noundef %5578, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 241, ptr noundef %5581, ptr noundef %5584, ptr noundef %5587, i32 noundef %5589) #11
  br label %5591

5591:                                             ; preds = %5574, %5557
  call void @llvm.lifetime.end.p0(i64 4, ptr %111) #11
  br label %5592

5592:                                             ; preds = %5591
  br label %5593

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

5594:                                             ; No predecessors!
  br label %5595

5595:                                             ; preds = %5594
  br label %5596

5596:                                             ; preds = %5595, %5538
  br label %5597

5597:                                             ; preds = %5596
  br label %5598

5598:                                             ; preds = %5597
  br label %5599

5599:                                             ; preds = %5598
  %5600 = load i32, ptr @test_count, align 4, !tbaa !5
  %5601 = add nsw i32 %5600, 1
  store i32 %5601, ptr @test_count, align 4, !tbaa !5
  %5602 = call i32 @s2n_stuffer_free(ptr noundef %99)
  %5603 = icmp eq i32 %5602, -1
  br i1 %5603, label %5604, label %5657

5604:                                             ; preds = %5599
  br label %5605

5605:                                             ; preds = %5604
  br label %5606

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

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

5618:                                             ; preds = %5613
  %5619 = load i32, ptr %112, align 4, !tbaa !5
  %5620 = call ptr @__errno_location() #12
  store i32 %5619, ptr %5620, align 4, !tbaa !5
  %5621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5622 = load i32, ptr @test_count, align 4, !tbaa !5
  %5623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5624 = load i32, ptr %5623, align 4, !tbaa !5
  %5625 = call ptr @s2n_strerror(i32 noundef %5624, ptr noundef @.str.4)
  %5626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5627 = load i32, ptr %5626, align 4, !tbaa !5
  %5628 = call ptr @s2n_strerror_debug(i32 noundef %5627, ptr noundef @.str.4)
  %5629 = call ptr @__errno_location() #12
  %5630 = load i32, ptr %5629, align 4, !tbaa !5
  %5631 = call ptr @strerror(i32 noundef %5630) #11
  %5632 = call ptr @__errno_location() #12
  %5633 = load i32, ptr %5632, align 4, !tbaa !5
  %5634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5621, ptr noundef @.str.2, i32 noundef %5622, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5625, ptr noundef %5628, ptr noundef %5631, i32 noundef %5633) #11
  br label %5652

5635:                                             ; preds = %5613, %5606
  %5636 = load i32, ptr %112, align 4, !tbaa !5
  %5637 = call ptr @__errno_location() #12
  store i32 %5636, ptr %5637, align 4, !tbaa !5
  %5638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5639 = load i32, ptr @test_count, align 4, !tbaa !5
  %5640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5641 = load i32, ptr %5640, align 4, !tbaa !5
  %5642 = call ptr @s2n_strerror(i32 noundef %5641, ptr noundef @.str.4)
  %5643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5644 = load i32, ptr %5643, align 4, !tbaa !5
  %5645 = call ptr @s2n_strerror_debug(i32 noundef %5644, ptr noundef @.str.4)
  %5646 = call ptr @__errno_location() #12
  %5647 = load i32, ptr %5646, align 4, !tbaa !5
  %5648 = call ptr @strerror(i32 noundef %5647) #11
  %5649 = call ptr @__errno_location() #12
  %5650 = load i32, ptr %5649, align 4, !tbaa !5
  %5651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5638, ptr noundef @.str.5, i32 noundef %5639, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 243, ptr noundef %5642, ptr noundef %5645, ptr noundef %5648, i32 noundef %5650) #11
  br label %5652

5652:                                             ; preds = %5635, %5618
  call void @llvm.lifetime.end.p0(i64 4, ptr %112) #11
  br label %5653

5653:                                             ; preds = %5652
  br label %5654

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

5655:                                             ; No predecessors!
  br label %5656

5656:                                             ; preds = %5655
  br label %5657

5657:                                             ; preds = %5656, %5599
  br label %5658

5658:                                             ; preds = %5657
  br label %5659

5659:                                             ; preds = %5658
  br label %5660

5660:                                             ; preds = %5659
  %5661 = load i32, ptr @test_count, align 4, !tbaa !5
  %5662 = add nsw i32 %5661, 1
  store i32 %5662, ptr @test_count, align 4, !tbaa !5
  %5663 = load ptr, ptr %94, align 8, !tbaa !9
  %5664 = call i32 @s2n_connection_free(ptr noundef %5663)
  %5665 = icmp eq i32 %5664, -1
  br i1 %5665, label %5666, label %5719

5666:                                             ; preds = %5660
  br label %5667

5667:                                             ; preds = %5666
  br label %5668

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

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

5680:                                             ; preds = %5675
  %5681 = load i32, ptr %113, align 4, !tbaa !5
  %5682 = call ptr @__errno_location() #12
  store i32 %5681, ptr %5682, align 4, !tbaa !5
  %5683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5684 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %5686, ptr noundef @.str.4)
  %5688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5689 = load i32, ptr %5688, align 4, !tbaa !5
  %5690 = call ptr @s2n_strerror_debug(i32 noundef %5689, ptr noundef @.str.4)
  %5691 = call ptr @__errno_location() #12
  %5692 = load i32, ptr %5691, align 4, !tbaa !5
  %5693 = call ptr @strerror(i32 noundef %5692) #11
  %5694 = call ptr @__errno_location() #12
  %5695 = load i32, ptr %5694, align 4, !tbaa !5
  %5696 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5683, ptr noundef @.str.2, i32 noundef %5684, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5687, ptr noundef %5690, ptr noundef %5693, i32 noundef %5695) #11
  br label %5714

5697:                                             ; preds = %5675, %5668
  %5698 = load i32, ptr %113, align 4, !tbaa !5
  %5699 = call ptr @__errno_location() #12
  store i32 %5698, ptr %5699, align 4, !tbaa !5
  %5700 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5701 = load i32, ptr @test_count, align 4, !tbaa !5
  %5702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5703 = load i32, ptr %5702, align 4, !tbaa !5
  %5704 = call ptr @s2n_strerror(i32 noundef %5703, ptr noundef @.str.4)
  %5705 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5706 = load i32, ptr %5705, align 4, !tbaa !5
  %5707 = call ptr @s2n_strerror_debug(i32 noundef %5706, ptr noundef @.str.4)
  %5708 = call ptr @__errno_location() #12
  %5709 = load i32, ptr %5708, align 4, !tbaa !5
  %5710 = call ptr @strerror(i32 noundef %5709) #11
  %5711 = call ptr @__errno_location() #12
  %5712 = load i32, ptr %5711, align 4, !tbaa !5
  %5713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5700, ptr noundef @.str.5, i32 noundef %5701, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 244, ptr noundef %5704, ptr noundef %5707, ptr noundef %5710, i32 noundef %5712) #11
  br label %5714

5714:                                             ; preds = %5697, %5680
  call void @llvm.lifetime.end.p0(i64 4, ptr %113) #11
  br label %5715

5715:                                             ; preds = %5714
  br label %5716

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

5717:                                             ; No predecessors!
  br label %5718

5718:                                             ; preds = %5717
  br label %5719

5719:                                             ; preds = %5718, %5660
  br label %5720

5720:                                             ; preds = %5719
  br label %5721

5721:                                             ; preds = %5720
  call void @llvm.lifetime.end.p0(i64 8, ptr %106) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %105) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %104) #11
  %5722 = call i32 @s2n_stuffer_free(ptr noundef %100)
  call void @llvm.lifetime.end.p0(i64 40, ptr %100) #11
  %5723 = call i32 @s2n_stuffer_free(ptr noundef %99)
  call void @llvm.lifetime.end.p0(i64 40, ptr %99) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %94) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %114) #11
  store ptr null, ptr %114, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %115) #11
  store ptr null, ptr %115, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %116) #11
  call void @llvm.memset.p0.i64(ptr align 4 %116, i8 0, i64 8, i1 false)
  br label %5724

5724:                                             ; preds = %5721
  %5725 = load i32, ptr @test_count, align 4, !tbaa !5
  %5726 = add nsw i32 %5725, 1
  store i32 %5726, ptr @test_count, align 4, !tbaa !5
  %5727 = call i32 @s2n_test_client_and_server_new(ptr noundef %114, ptr noundef %115, ptr noundef %116)
  %5728 = getelementptr inbounds %struct.s2n_result, ptr %117, i32 0, i32 0
  store i32 %5727, ptr %5728, align 4
  %5729 = getelementptr inbounds %struct.s2n_result, ptr %117, i32 0, i32 0
  %5730 = load i32, ptr %5729, align 4
  %5731 = call zeroext i1 @s2n_result_is_ok(i32 %5730)
  br i1 %5731, label %5785, label %5732

5732:                                             ; preds = %5724
  br label %5733

5733:                                             ; preds = %5732
  br label %5734

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

5741:                                             ; preds = %5734
  %5742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5743 = call i32 @fileno(ptr noundef %5742) #11
  %5744 = call i32 @isatty(i32 noundef %5743) #11
  %5745 = icmp ne i32 %5744, 0
  br i1 %5745, label %5746, label %5763

5746:                                             ; preds = %5741
  %5747 = load i32, ptr %118, align 4, !tbaa !5
  %5748 = call ptr @__errno_location() #12
  store i32 %5747, ptr %5748, align 4, !tbaa !5
  %5749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5750 = load i32, ptr @test_count, align 4, !tbaa !5
  %5751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5752 = load i32, ptr %5751, align 4, !tbaa !5
  %5753 = call ptr @s2n_strerror(i32 noundef %5752, ptr noundef @.str.4)
  %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_debug(i32 noundef %5755, ptr noundef @.str.4)
  %5757 = call ptr @__errno_location() #12
  %5758 = load i32, ptr %5757, align 4, !tbaa !5
  %5759 = call ptr @strerror(i32 noundef %5758) #11
  %5760 = call ptr @__errno_location() #12
  %5761 = load i32, ptr %5760, align 4, !tbaa !5
  %5762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5749, ptr noundef @.str.2, i32 noundef %5750, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5753, ptr noundef %5756, ptr noundef %5759, i32 noundef %5761) #11
  br label %5780

5763:                                             ; preds = %5741, %5734
  %5764 = load i32, ptr %118, align 4, !tbaa !5
  %5765 = call ptr @__errno_location() #12
  store i32 %5764, ptr %5765, align 4, !tbaa !5
  %5766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5767 = load i32, ptr @test_count, align 4, !tbaa !5
  %5768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5769 = load i32, ptr %5768, align 4, !tbaa !5
  %5770 = call ptr @s2n_strerror(i32 noundef %5769, ptr noundef @.str.4)
  %5771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5772 = load i32, ptr %5771, align 4, !tbaa !5
  %5773 = call ptr @s2n_strerror_debug(i32 noundef %5772, ptr noundef @.str.4)
  %5774 = call ptr @__errno_location() #12
  %5775 = load i32, ptr %5774, align 4, !tbaa !5
  %5776 = call ptr @strerror(i32 noundef %5775) #11
  %5777 = call ptr @__errno_location() #12
  %5778 = load i32, ptr %5777, align 4, !tbaa !5
  %5779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5766, ptr noundef @.str.5, i32 noundef %5767, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 251, ptr noundef %5770, ptr noundef %5773, ptr noundef %5776, i32 noundef %5778) #11
  br label %5780

5780:                                             ; preds = %5763, %5746
  call void @llvm.lifetime.end.p0(i64 4, ptr %118) #11
  br label %5781

5781:                                             ; preds = %5780
  br label %5782

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

5783:                                             ; No predecessors!
  br label %5784

5784:                                             ; preds = %5783
  br label %5785

5785:                                             ; preds = %5784, %5724
  br label %5786

5786:                                             ; preds = %5785
  br label %5787

5787:                                             ; preds = %5786
  br label %5788

5788:                                             ; preds = %5787
  %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 %114, align 8, !tbaa !9
  %5792 = load ptr, ptr %13, align 8, !tbaa !9
  %5793 = call i32 @s2n_connection_append_psk(ptr noundef %5791, ptr noundef %5792)
  %5794 = icmp eq i32 %5793, -1
  br i1 %5794, label %5795, label %5848

5795:                                             ; preds = %5788
  br label %5796

5796:                                             ; preds = %5795
  br label %5797

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

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

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

5826:                                             ; preds = %5804, %5797
  %5827 = load i32, ptr %119, align 4, !tbaa !5
  %5828 = call ptr @__errno_location() #12
  store i32 %5827, ptr %5828, align 4, !tbaa !5
  %5829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5830 = load i32, ptr @test_count, align 4, !tbaa !5
  %5831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5832 = load i32, ptr %5831, align 4, !tbaa !5
  %5833 = call ptr @s2n_strerror(i32 noundef %5832, ptr noundef @.str.4)
  %5834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5835 = load i32, ptr %5834, align 4, !tbaa !5
  %5836 = call ptr @s2n_strerror_debug(i32 noundef %5835, ptr noundef @.str.4)
  %5837 = call ptr @__errno_location() #12
  %5838 = load i32, ptr %5837, align 4, !tbaa !5
  %5839 = call ptr @strerror(i32 noundef %5838) #11
  %5840 = call ptr @__errno_location() #12
  %5841 = load i32, ptr %5840, align 4, !tbaa !5
  %5842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5829, ptr noundef @.str.5, i32 noundef %5830, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 252, ptr noundef %5833, ptr noundef %5836, ptr noundef %5839, i32 noundef %5841) #11
  br label %5843

5843:                                             ; preds = %5826, %5809
  call void @llvm.lifetime.end.p0(i64 4, ptr %119) #11
  br label %5844

5844:                                             ; preds = %5843
  br label %5845

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

5846:                                             ; No predecessors!
  br label %5847

5847:                                             ; preds = %5846
  br label %5848

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

5849:                                             ; preds = %5848
  br label %5850

5850:                                             ; preds = %5849
  br label %5851

5851:                                             ; preds = %5850
  %5852 = load i32, ptr @test_count, align 4, !tbaa !5
  %5853 = add nsw i32 %5852, 1
  store i32 %5853, ptr @test_count, align 4, !tbaa !5
  %5854 = load ptr, ptr %115, align 8, !tbaa !9
  %5855 = load ptr, ptr %13, align 8, !tbaa !9
  %5856 = call i32 @s2n_connection_append_psk(ptr noundef %5854, ptr noundef %5855)
  %5857 = icmp eq i32 %5856, -1
  br i1 %5857, label %5858, label %5911

5858:                                             ; preds = %5851
  br label %5859

5859:                                             ; preds = %5858
  br label %5860

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

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

5872:                                             ; preds = %5867
  %5873 = load i32, ptr %120, align 4, !tbaa !5
  %5874 = call ptr @__errno_location() #12
  store i32 %5873, ptr %5874, align 4, !tbaa !5
  %5875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5876 = load i32, ptr @test_count, align 4, !tbaa !5
  %5877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5878 = load i32, ptr %5877, align 4, !tbaa !5
  %5879 = call ptr @s2n_strerror(i32 noundef %5878, ptr noundef @.str.4)
  %5880 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5881 = load i32, ptr %5880, align 4, !tbaa !5
  %5882 = call ptr @s2n_strerror_debug(i32 noundef %5881, ptr noundef @.str.4)
  %5883 = call ptr @__errno_location() #12
  %5884 = load i32, ptr %5883, align 4, !tbaa !5
  %5885 = call ptr @strerror(i32 noundef %5884) #11
  %5886 = call ptr @__errno_location() #12
  %5887 = load i32, ptr %5886, align 4, !tbaa !5
  %5888 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5875, ptr noundef @.str.2, i32 noundef %5876, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5879, ptr noundef %5882, ptr noundef %5885, i32 noundef %5887) #11
  br label %5906

5889:                                             ; preds = %5867, %5860
  %5890 = load i32, ptr %120, align 4, !tbaa !5
  %5891 = call ptr @__errno_location() #12
  store i32 %5890, ptr %5891, align 4, !tbaa !5
  %5892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5893 = load i32, ptr @test_count, align 4, !tbaa !5
  %5894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5895 = load i32, ptr %5894, align 4, !tbaa !5
  %5896 = call ptr @s2n_strerror(i32 noundef %5895, ptr noundef @.str.4)
  %5897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5898 = load i32, ptr %5897, align 4, !tbaa !5
  %5899 = call ptr @s2n_strerror_debug(i32 noundef %5898, ptr noundef @.str.4)
  %5900 = call ptr @__errno_location() #12
  %5901 = load i32, ptr %5900, align 4, !tbaa !5
  %5902 = call ptr @strerror(i32 noundef %5901) #11
  %5903 = call ptr @__errno_location() #12
  %5904 = load i32, ptr %5903, align 4, !tbaa !5
  %5905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5892, ptr noundef @.str.5, i32 noundef %5893, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 253, ptr noundef %5896, ptr noundef %5899, ptr noundef %5902, i32 noundef %5904) #11
  br label %5906

5906:                                             ; preds = %5889, %5872
  call void @llvm.lifetime.end.p0(i64 4, ptr %120) #11
  br label %5907

5907:                                             ; preds = %5906
  br label %5908

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

5909:                                             ; No predecessors!
  br label %5910

5910:                                             ; preds = %5909
  br label %5911

5911:                                             ; preds = %5910, %5851
  br label %5912

5912:                                             ; preds = %5911
  br label %5913

5913:                                             ; preds = %5912
  %5914 = load ptr, ptr %115, align 8, !tbaa !9
  %5915 = getelementptr inbounds %struct.s2n_connection, ptr %5914, i32 0, i32 85
  store i8 1, ptr %5915, align 1, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 100, ptr %121) #11
  call void @llvm.memset.p0.i64(ptr align 16 %121, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %122) #11
  store i32 0, ptr %122, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %123) #11
  store i64 0, ptr %123, align 8, !tbaa !42
  br label %5916

5916:                                             ; preds = %5913
  br label %5917

5917:                                             ; preds = %5916
  br label %5918

5918:                                             ; preds = %5917
  %5919 = load i32, ptr @test_count, align 4, !tbaa !5
  %5920 = add nsw i32 %5919, 1
  store i32 %5920, ptr @test_count, align 4, !tbaa !5
  %5921 = load ptr, ptr %114, align 8, !tbaa !9
  %5922 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %5923 = call i32 @s2n_send_early_data(ptr noundef %5921, ptr noundef %5922, i64 noundef 12, ptr noundef %123, ptr noundef %122)
  %5924 = icmp eq i32 %5923, -1
  br i1 %5924, label %5978, label %5925

5925:                                             ; preds = %5918
  br label %5926

5926:                                             ; preds = %5925
  br label %5927

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

5934:                                             ; preds = %5927
  %5935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5936 = call i32 @fileno(ptr noundef %5935) #11
  %5937 = call i32 @isatty(i32 noundef %5936) #11
  %5938 = icmp ne i32 %5937, 0
  br i1 %5938, label %5939, label %5956

5939:                                             ; preds = %5934
  %5940 = load i32, ptr %124, align 4, !tbaa !5
  %5941 = call ptr @__errno_location() #12
  store i32 %5940, ptr %5941, align 4, !tbaa !5
  %5942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5943 = load i32, ptr @test_count, align 4, !tbaa !5
  %5944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5945 = load i32, ptr %5944, align 4, !tbaa !5
  %5946 = call ptr @s2n_strerror(i32 noundef %5945, ptr noundef @.str.4)
  %5947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5948 = load i32, ptr %5947, align 4, !tbaa !5
  %5949 = call ptr @s2n_strerror_debug(i32 noundef %5948, ptr noundef @.str.4)
  %5950 = call ptr @__errno_location() #12
  %5951 = load i32, ptr %5950, align 4, !tbaa !5
  %5952 = call ptr @strerror(i32 noundef %5951) #11
  %5953 = call ptr @__errno_location() #12
  %5954 = load i32, ptr %5953, align 4, !tbaa !5
  %5955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5942, ptr noundef @.str.2, i32 noundef %5943, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 262, ptr noundef %5946, ptr noundef %5949, ptr noundef %5952, i32 noundef %5954) #11
  br label %5973

5956:                                             ; preds = %5934, %5927
  %5957 = load i32, ptr %124, align 4, !tbaa !5
  %5958 = call ptr @__errno_location() #12
  store i32 %5957, ptr %5958, align 4, !tbaa !5
  %5959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5960 = load i32, ptr @test_count, align 4, !tbaa !5
  %5961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5962 = load i32, ptr %5961, align 4, !tbaa !5
  %5963 = call ptr @s2n_strerror(i32 noundef %5962, ptr noundef @.str.4)
  %5964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5965 = load i32, ptr %5964, align 4, !tbaa !5
  %5966 = call ptr @s2n_strerror_debug(i32 noundef %5965, ptr noundef @.str.4)
  %5967 = call ptr @__errno_location() #12
  %5968 = load i32, ptr %5967, align 4, !tbaa !5
  %5969 = call ptr @strerror(i32 noundef %5968) #11
  %5970 = call ptr @__errno_location() #12
  %5971 = load i32, ptr %5970, align 4, !tbaa !5
  %5972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5959, ptr noundef @.str.5, i32 noundef %5960, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 262, ptr noundef %5963, ptr noundef %5966, ptr noundef %5969, i32 noundef %5971) #11
  br label %5973

5973:                                             ; preds = %5956, %5939
  call void @llvm.lifetime.end.p0(i64 4, ptr %124) #11
  br label %5974

5974:                                             ; preds = %5973
  br label %5975

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

5976:                                             ; No predecessors!
  br label %5977

5977:                                             ; preds = %5976
  br label %5978

5978:                                             ; preds = %5977, %5918
  br label %5979

5979:                                             ; preds = %5978
  br label %5980

5980:                                             ; preds = %5979
  br label %5981

5981:                                             ; preds = %5980
  %5982 = load i32, ptr @test_count, align 4, !tbaa !5
  %5983 = add nsw i32 %5982, 1
  store i32 %5983, ptr @test_count, align 4, !tbaa !5
  %5984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %5985 = load i32, ptr %5984, align 4, !tbaa !5
  %5986 = icmp eq i32 %5985, 201326592
  br i1 %5986, label %6040, label %5987

5987:                                             ; preds = %5981
  br label %5988

5988:                                             ; preds = %5987
  br label %5989

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

5996:                                             ; preds = %5989
  %5997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5998 = call i32 @fileno(ptr noundef %5997) #11
  %5999 = call i32 @isatty(i32 noundef %5998) #11
  %6000 = icmp ne i32 %5999, 0
  br i1 %6000, label %6001, label %6018

6001:                                             ; preds = %5996
  %6002 = load i32, ptr %125, align 4, !tbaa !5
  %6003 = call ptr @__errno_location() #12
  store i32 %6002, ptr %6003, align 4, !tbaa !5
  %6004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6005 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6007, ptr noundef @.str.4)
  %6009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6010 = load i32, ptr %6009, align 4, !tbaa !5
  %6011 = call ptr @s2n_strerror_debug(i32 noundef %6010, ptr noundef @.str.4)
  %6012 = call ptr @__errno_location() #12
  %6013 = load i32, ptr %6012, align 4, !tbaa !5
  %6014 = call ptr @strerror(i32 noundef %6013) #11
  %6015 = call ptr @__errno_location() #12
  %6016 = load i32, ptr %6015, align 4, !tbaa !5
  %6017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6004, ptr noundef @.str.2, i32 noundef %6005, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 262, ptr noundef %6008, ptr noundef %6011, ptr noundef %6014, i32 noundef %6016) #11
  br label %6035

6018:                                             ; preds = %5996, %5989
  %6019 = load i32, ptr %125, align 4, !tbaa !5
  %6020 = call ptr @__errno_location() #12
  store i32 %6019, ptr %6020, align 4, !tbaa !5
  %6021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6022 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6024, ptr noundef @.str.4)
  %6026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6027 = load i32, ptr %6026, align 4, !tbaa !5
  %6028 = call ptr @s2n_strerror_debug(i32 noundef %6027, ptr noundef @.str.4)
  %6029 = call ptr @__errno_location() #12
  %6030 = load i32, ptr %6029, align 4, !tbaa !5
  %6031 = call ptr @strerror(i32 noundef %6030) #11
  %6032 = call ptr @__errno_location() #12
  %6033 = load i32, ptr %6032, align 4, !tbaa !5
  %6034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6021, ptr noundef @.str.5, i32 noundef %6022, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 262, ptr noundef %6025, ptr noundef %6028, ptr noundef %6031, i32 noundef %6033) #11
  br label %6035

6035:                                             ; preds = %6018, %6001
  call void @llvm.lifetime.end.p0(i64 4, ptr %125) #11
  br label %6036

6036:                                             ; preds = %6035
  br label %6037

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

6038:                                             ; No predecessors!
  br label %6039

6039:                                             ; preds = %6038
  br label %6040

6040:                                             ; preds = %6039, %5981
  br label %6041

6041:                                             ; preds = %6040
  br label %6042

6042:                                             ; preds = %6041
  br label %6043

6043:                                             ; preds = %6042
  %6044 = load i32, ptr @test_count, align 4, !tbaa !5
  %6045 = add nsw i32 %6044, 1
  store i32 %6045, ptr @test_count, align 4, !tbaa !5
  %6046 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6047 = load i32, ptr %6046, align 4, !tbaa !5
  %6048 = call ptr @s2n_strerror_debug(i32 noundef %6047, ptr noundef @.str.4)
  %6049 = icmp eq ptr %6048, null
  br i1 %6049, label %6050, label %6103

6050:                                             ; preds = %6043
  br label %6051

6051:                                             ; preds = %6050
  br label %6052

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

6059:                                             ; preds = %6052
  %6060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6061 = call i32 @fileno(ptr noundef %6060) #11
  %6062 = call i32 @isatty(i32 noundef %6061) #11
  %6063 = icmp ne i32 %6062, 0
  br i1 %6063, label %6064, label %6081

6064:                                             ; preds = %6059
  %6065 = load i32, ptr %126, align 4, !tbaa !5
  %6066 = call ptr @__errno_location() #12
  store i32 %6065, ptr %6066, align 4, !tbaa !5
  %6067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6068 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6070, ptr noundef @.str.4)
  %6072 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6073 = load i32, ptr %6072, align 4, !tbaa !5
  %6074 = call ptr @s2n_strerror_debug(i32 noundef %6073, ptr noundef @.str.4)
  %6075 = call ptr @__errno_location() #12
  %6076 = load i32, ptr %6075, align 4, !tbaa !5
  %6077 = call ptr @strerror(i32 noundef %6076) #11
  %6078 = call ptr @__errno_location() #12
  %6079 = load i32, ptr %6078, align 4, !tbaa !5
  %6080 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6067, ptr noundef @.str.2, i32 noundef %6068, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 262, ptr noundef %6071, ptr noundef %6074, ptr noundef %6077, i32 noundef %6079) #11
  br label %6098

6081:                                             ; preds = %6059, %6052
  %6082 = load i32, ptr %126, align 4, !tbaa !5
  %6083 = call ptr @__errno_location() #12
  store i32 %6082, ptr %6083, align 4, !tbaa !5
  %6084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6085 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %6087, ptr noundef @.str.4)
  %6089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6090 = load i32, ptr %6089, align 4, !tbaa !5
  %6091 = call ptr @s2n_strerror_debug(i32 noundef %6090, ptr noundef @.str.4)
  %6092 = call ptr @__errno_location() #12
  %6093 = load i32, ptr %6092, align 4, !tbaa !5
  %6094 = call ptr @strerror(i32 noundef %6093) #11
  %6095 = call ptr @__errno_location() #12
  %6096 = load i32, ptr %6095, align 4, !tbaa !5
  %6097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6084, ptr noundef @.str.5, i32 noundef %6085, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 262, ptr noundef %6088, ptr noundef %6091, ptr noundef %6094, i32 noundef %6096) #11
  br label %6098

6098:                                             ; preds = %6081, %6064
  call void @llvm.lifetime.end.p0(i64 4, ptr %126) #11
  br label %6099

6099:                                             ; preds = %6098
  br label %6100

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

6101:                                             ; No predecessors!
  br label %6102

6102:                                             ; preds = %6101
  br label %6103

6103:                                             ; preds = %6102, %6043
  br label %6104

6104:                                             ; preds = %6103
  br label %6105

6105:                                             ; preds = %6104
  br label %6106

6106:                                             ; preds = %6105
  br label %6107

6107:                                             ; preds = %6106
  br label %6108

6108:                                             ; preds = %6107
  %6109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6109, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6110 = call ptr @__errno_location() #12
  store i32 0, ptr %6110, align 4, !tbaa !5
  br label %6111

6111:                                             ; preds = %6108
  br label %6112

6112:                                             ; preds = %6111
  br label %6113

6113:                                             ; preds = %6112
  br label %6114

6114:                                             ; preds = %6113
  br label %6115

6115:                                             ; preds = %6114
  %6116 = load i32, ptr @test_count, align 4, !tbaa !5
  %6117 = add nsw i32 %6116, 1
  store i32 %6117, ptr @test_count, align 4, !tbaa !5
  %6118 = load i32, ptr %122, align 4, !tbaa !5
  %6119 = icmp eq i32 %6118, 1
  br i1 %6119, label %6173, label %6120

6120:                                             ; preds = %6115
  br label %6121

6121:                                             ; preds = %6120
  br label %6122

6122:                                             ; preds = %6121
  call void @llvm.lifetime.start.p0(i64 4, ptr %127) #11
  %6123 = call ptr @__errno_location() #12
  %6124 = load i32, ptr %6123, align 4, !tbaa !5
  store i32 %6124, ptr %127, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = call i32 @s2n_print_stacktrace(ptr noundef %6125)
  %6127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6128 = trunc i8 %6127 to i1
  br i1 %6128, label %6129, label %6151

6129:                                             ; preds = %6122
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @fileno(ptr noundef %6130) #11
  %6132 = call i32 @isatty(i32 noundef %6131) #11
  %6133 = icmp ne i32 %6132, 0
  br i1 %6133, label %6134, label %6151

6134:                                             ; preds = %6129
  %6135 = load i32, ptr %127, align 4, !tbaa !5
  %6136 = call ptr @__errno_location() #12
  store i32 %6135, ptr %6136, align 4, !tbaa !5
  %6137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6138 = load i32, ptr @test_count, align 4, !tbaa !5
  %6139 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6140 = load i32, ptr %6139, align 4, !tbaa !5
  %6141 = call ptr @s2n_strerror(i32 noundef %6140, ptr noundef @.str.4)
  %6142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6143 = load i32, ptr %6142, align 4, !tbaa !5
  %6144 = call ptr @s2n_strerror_debug(i32 noundef %6143, ptr noundef @.str.4)
  %6145 = call ptr @__errno_location() #12
  %6146 = load i32, ptr %6145, align 4, !tbaa !5
  %6147 = call ptr @strerror(i32 noundef %6146) #11
  %6148 = call ptr @__errno_location() #12
  %6149 = load i32, ptr %6148, align 4, !tbaa !5
  %6150 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6137, ptr noundef @.str.2, i32 noundef %6138, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6141, ptr noundef %6144, ptr noundef %6147, i32 noundef %6149) #11
  br label %6168

6151:                                             ; preds = %6129, %6122
  %6152 = load i32, ptr %127, align 4, !tbaa !5
  %6153 = call ptr @__errno_location() #12
  store i32 %6152, ptr %6153, align 4, !tbaa !5
  %6154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6155 = load i32, ptr @test_count, align 4, !tbaa !5
  %6156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6157 = load i32, ptr %6156, align 4, !tbaa !5
  %6158 = call ptr @s2n_strerror(i32 noundef %6157, ptr noundef @.str.4)
  %6159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6160 = load i32, ptr %6159, align 4, !tbaa !5
  %6161 = call ptr @s2n_strerror_debug(i32 noundef %6160, ptr noundef @.str.4)
  %6162 = call ptr @__errno_location() #12
  %6163 = load i32, ptr %6162, align 4, !tbaa !5
  %6164 = call ptr @strerror(i32 noundef %6163) #11
  %6165 = call ptr @__errno_location() #12
  %6166 = load i32, ptr %6165, align 4, !tbaa !5
  %6167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6154, ptr noundef @.str.5, i32 noundef %6155, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6158, ptr noundef %6161, ptr noundef %6164, i32 noundef %6166) #11
  br label %6168

6168:                                             ; preds = %6151, %6134
  call void @llvm.lifetime.end.p0(i64 4, ptr %127) #11
  br label %6169

6169:                                             ; preds = %6168
  br label %6170

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

6171:                                             ; No predecessors!
  br label %6172

6172:                                             ; preds = %6171
  br label %6173

6173:                                             ; preds = %6172, %6115
  br label %6174

6174:                                             ; preds = %6173
  br label %6175

6175:                                             ; preds = %6174
  br label %6176

6176:                                             ; preds = %6175
  %6177 = load i32, ptr @test_count, align 4, !tbaa !5
  %6178 = add nsw i32 %6177, 1
  store i32 %6178, ptr @test_count, align 4, !tbaa !5
  %6179 = load ptr, ptr %114, align 8, !tbaa !9
  %6180 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6179)
  %6181 = icmp eq i32 %6180, 1
  br i1 %6181, label %6235, label %6182

6182:                                             ; preds = %6176
  br label %6183

6183:                                             ; preds = %6182
  br label %6184

6184:                                             ; preds = %6183
  call void @llvm.lifetime.start.p0(i64 4, ptr %128) #11
  %6185 = call ptr @__errno_location() #12
  %6186 = load i32, ptr %6185, align 4, !tbaa !5
  store i32 %6186, ptr %128, align 4, !tbaa !5
  %6187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6188 = call i32 @s2n_print_stacktrace(ptr noundef %6187)
  %6189 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6190 = trunc i8 %6189 to i1
  br i1 %6190, label %6191, label %6213

6191:                                             ; preds = %6184
  %6192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6193 = call i32 @fileno(ptr noundef %6192) #11
  %6194 = call i32 @isatty(i32 noundef %6193) #11
  %6195 = icmp ne i32 %6194, 0
  br i1 %6195, label %6196, label %6213

6196:                                             ; preds = %6191
  %6197 = load i32, ptr %128, align 4, !tbaa !5
  %6198 = call ptr @__errno_location() #12
  store i32 %6197, ptr %6198, align 4, !tbaa !5
  %6199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6200 = load i32, ptr @test_count, align 4, !tbaa !5
  %6201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6202 = load i32, ptr %6201, align 4, !tbaa !5
  %6203 = call ptr @s2n_strerror(i32 noundef %6202, ptr noundef @.str.4)
  %6204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6205 = load i32, ptr %6204, align 4, !tbaa !5
  %6206 = call ptr @s2n_strerror_debug(i32 noundef %6205, ptr noundef @.str.4)
  %6207 = call ptr @__errno_location() #12
  %6208 = load i32, ptr %6207, align 4, !tbaa !5
  %6209 = call ptr @strerror(i32 noundef %6208) #11
  %6210 = call ptr @__errno_location() #12
  %6211 = load i32, ptr %6210, align 4, !tbaa !5
  %6212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6199, ptr noundef @.str.2, i32 noundef %6200, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6203, ptr noundef %6206, ptr noundef %6209, i32 noundef %6211) #11
  br label %6230

6213:                                             ; preds = %6191, %6184
  %6214 = load i32, ptr %128, align 4, !tbaa !5
  %6215 = call ptr @__errno_location() #12
  store i32 %6214, ptr %6215, align 4, !tbaa !5
  %6216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6217 = load i32, ptr @test_count, align 4, !tbaa !5
  %6218 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6219 = load i32, ptr %6218, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror(i32 noundef %6219, ptr noundef @.str.4)
  %6221 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6222 = load i32, ptr %6221, align 4, !tbaa !5
  %6223 = call ptr @s2n_strerror_debug(i32 noundef %6222, ptr noundef @.str.4)
  %6224 = call ptr @__errno_location() #12
  %6225 = load i32, ptr %6224, align 4, !tbaa !5
  %6226 = call ptr @strerror(i32 noundef %6225) #11
  %6227 = call ptr @__errno_location() #12
  %6228 = load i32, ptr %6227, align 4, !tbaa !5
  %6229 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6216, ptr noundef @.str.5, i32 noundef %6217, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 263, ptr noundef %6220, ptr noundef %6223, ptr noundef %6226, i32 noundef %6228) #11
  br label %6230

6230:                                             ; preds = %6213, %6196
  call void @llvm.lifetime.end.p0(i64 4, ptr %128) #11
  br label %6231

6231:                                             ; preds = %6230
  br label %6232

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

6233:                                             ; No predecessors!
  br label %6234

6234:                                             ; preds = %6233
  br label %6235

6235:                                             ; preds = %6234, %6176
  br label %6236

6236:                                             ; preds = %6235
  br label %6237

6237:                                             ; preds = %6236
  br label %6238

6238:                                             ; preds = %6237
  br label %6239

6239:                                             ; preds = %6238
  br label %6240

6240:                                             ; preds = %6239
  %6241 = load i32, ptr @test_count, align 4, !tbaa !5
  %6242 = add nsw i32 %6241, 1
  store i32 %6242, ptr @test_count, align 4, !tbaa !5
  %6243 = load ptr, ptr %115, align 8, !tbaa !9
  %6244 = getelementptr inbounds [100 x i8], ptr %121, i64 0, i64 0
  %6245 = call i32 @s2n_recv_early_data(ptr noundef %6243, ptr noundef %6244, i64 noundef 100, ptr noundef %123, ptr noundef %122)
  %6246 = icmp eq i32 %6245, -1
  br i1 %6246, label %6300, label %6247

6247:                                             ; preds = %6240
  br label %6248

6248:                                             ; preds = %6247
  br label %6249

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

6256:                                             ; preds = %6249
  %6257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6258 = call i32 @fileno(ptr noundef %6257) #11
  %6259 = call i32 @isatty(i32 noundef %6258) #11
  %6260 = icmp ne i32 %6259, 0
  br i1 %6260, label %6261, label %6278

6261:                                             ; preds = %6256
  %6262 = load i32, ptr %129, align 4, !tbaa !5
  %6263 = call ptr @__errno_location() #12
  store i32 %6262, ptr %6263, align 4, !tbaa !5
  %6264 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6265 = load i32, ptr @test_count, align 4, !tbaa !5
  %6266 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6267 = load i32, ptr %6266, align 4, !tbaa !5
  %6268 = call ptr @s2n_strerror(i32 noundef %6267, ptr noundef @.str.4)
  %6269 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6270 = load i32, ptr %6269, align 4, !tbaa !5
  %6271 = call ptr @s2n_strerror_debug(i32 noundef %6270, ptr noundef @.str.4)
  %6272 = call ptr @__errno_location() #12
  %6273 = load i32, ptr %6272, align 4, !tbaa !5
  %6274 = call ptr @strerror(i32 noundef %6273) #11
  %6275 = call ptr @__errno_location() #12
  %6276 = load i32, ptr %6275, align 4, !tbaa !5
  %6277 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6264, ptr noundef @.str.2, i32 noundef %6265, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6268, ptr noundef %6271, ptr noundef %6274, i32 noundef %6276) #11
  br label %6295

6278:                                             ; preds = %6256, %6249
  %6279 = load i32, ptr %129, align 4, !tbaa !5
  %6280 = call ptr @__errno_location() #12
  store i32 %6279, ptr %6280, align 4, !tbaa !5
  %6281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6282 = load i32, ptr @test_count, align 4, !tbaa !5
  %6283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6284 = load i32, ptr %6283, align 4, !tbaa !5
  %6285 = call ptr @s2n_strerror(i32 noundef %6284, ptr noundef @.str.4)
  %6286 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6287 = load i32, ptr %6286, align 4, !tbaa !5
  %6288 = call ptr @s2n_strerror_debug(i32 noundef %6287, ptr noundef @.str.4)
  %6289 = call ptr @__errno_location() #12
  %6290 = load i32, ptr %6289, align 4, !tbaa !5
  %6291 = call ptr @strerror(i32 noundef %6290) #11
  %6292 = call ptr @__errno_location() #12
  %6293 = load i32, ptr %6292, align 4, !tbaa !5
  %6294 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6281, ptr noundef @.str.5, i32 noundef %6282, ptr noundef @.str.56, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6285, ptr noundef %6288, ptr noundef %6291, i32 noundef %6293) #11
  br label %6295

6295:                                             ; preds = %6278, %6261
  call void @llvm.lifetime.end.p0(i64 4, ptr %129) #11
  br label %6296

6296:                                             ; preds = %6295
  br label %6297

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

6298:                                             ; No predecessors!
  br label %6299

6299:                                             ; preds = %6298
  br label %6300

6300:                                             ; preds = %6299, %6240
  br label %6301

6301:                                             ; preds = %6300
  br label %6302

6302:                                             ; preds = %6301
  br label %6303

6303:                                             ; preds = %6302
  %6304 = load i32, ptr @test_count, align 4, !tbaa !5
  %6305 = add nsw i32 %6304, 1
  store i32 %6305, ptr @test_count, align 4, !tbaa !5
  %6306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6307 = load i32, ptr %6306, align 4, !tbaa !5
  %6308 = icmp eq i32 %6307, 469762111
  br i1 %6308, label %6362, label %6309

6309:                                             ; preds = %6303
  br label %6310

6310:                                             ; preds = %6309
  br label %6311

6311:                                             ; preds = %6310
  call void @llvm.lifetime.start.p0(i64 4, ptr %130) #11
  %6312 = call ptr @__errno_location() #12
  %6313 = load i32, ptr %6312, align 4, !tbaa !5
  store i32 %6313, ptr %130, align 4, !tbaa !5
  %6314 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6315 = call i32 @s2n_print_stacktrace(ptr noundef %6314)
  %6316 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6317 = trunc i8 %6316 to i1
  br i1 %6317, label %6318, label %6340

6318:                                             ; preds = %6311
  %6319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6320 = call i32 @fileno(ptr noundef %6319) #11
  %6321 = call i32 @isatty(i32 noundef %6320) #11
  %6322 = icmp ne i32 %6321, 0
  br i1 %6322, label %6323, label %6340

6323:                                             ; preds = %6318
  %6324 = load i32, ptr %130, align 4, !tbaa !5
  %6325 = call ptr @__errno_location() #12
  store i32 %6324, ptr %6325, align 4, !tbaa !5
  %6326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6327 = load i32, ptr @test_count, align 4, !tbaa !5
  %6328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6329 = load i32, ptr %6328, align 4, !tbaa !5
  %6330 = call ptr @s2n_strerror(i32 noundef %6329, ptr noundef @.str.4)
  %6331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6332 = load i32, ptr %6331, align 4, !tbaa !5
  %6333 = call ptr @s2n_strerror_debug(i32 noundef %6332, ptr noundef @.str.4)
  %6334 = call ptr @__errno_location() #12
  %6335 = load i32, ptr %6334, align 4, !tbaa !5
  %6336 = call ptr @strerror(i32 noundef %6335) #11
  %6337 = call ptr @__errno_location() #12
  %6338 = load i32, ptr %6337, align 4, !tbaa !5
  %6339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6326, ptr noundef @.str.2, i32 noundef %6327, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6330, ptr noundef %6333, ptr noundef %6336, i32 noundef %6338) #11
  br label %6357

6340:                                             ; preds = %6318, %6311
  %6341 = load i32, ptr %130, align 4, !tbaa !5
  %6342 = call ptr @__errno_location() #12
  store i32 %6341, ptr %6342, align 4, !tbaa !5
  %6343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6344 = load i32, ptr @test_count, align 4, !tbaa !5
  %6345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6346 = load i32, ptr %6345, align 4, !tbaa !5
  %6347 = call ptr @s2n_strerror(i32 noundef %6346, ptr noundef @.str.4)
  %6348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6349 = load i32, ptr %6348, align 4, !tbaa !5
  %6350 = call ptr @s2n_strerror_debug(i32 noundef %6349, ptr noundef @.str.4)
  %6351 = call ptr @__errno_location() #12
  %6352 = load i32, ptr %6351, align 4, !tbaa !5
  %6353 = call ptr @strerror(i32 noundef %6352) #11
  %6354 = call ptr @__errno_location() #12
  %6355 = load i32, ptr %6354, align 4, !tbaa !5
  %6356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6343, ptr noundef @.str.5, i32 noundef %6344, ptr noundef @.str.45, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6347, ptr noundef %6350, ptr noundef %6353, i32 noundef %6355) #11
  br label %6357

6357:                                             ; preds = %6340, %6323
  call void @llvm.lifetime.end.p0(i64 4, ptr %130) #11
  br label %6358

6358:                                             ; preds = %6357
  br label %6359

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

6360:                                             ; No predecessors!
  br label %6361

6361:                                             ; preds = %6360
  br label %6362

6362:                                             ; preds = %6361, %6303
  br label %6363

6363:                                             ; preds = %6362
  br label %6364

6364:                                             ; preds = %6363
  br label %6365

6365:                                             ; preds = %6364
  %6366 = load i32, ptr @test_count, align 4, !tbaa !5
  %6367 = add nsw i32 %6366, 1
  store i32 %6367, ptr @test_count, align 4, !tbaa !5
  %6368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6369 = load i32, ptr %6368, align 4, !tbaa !5
  %6370 = call ptr @s2n_strerror_debug(i32 noundef %6369, ptr noundef @.str.4)
  %6371 = icmp eq ptr %6370, null
  br i1 %6371, label %6372, label %6425

6372:                                             ; preds = %6365
  br label %6373

6373:                                             ; preds = %6372
  br label %6374

6374:                                             ; preds = %6373
  call void @llvm.lifetime.start.p0(i64 4, ptr %131) #11
  %6375 = call ptr @__errno_location() #12
  %6376 = load i32, ptr %6375, align 4, !tbaa !5
  store i32 %6376, ptr %131, align 4, !tbaa !5
  %6377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6378 = call i32 @s2n_print_stacktrace(ptr noundef %6377)
  %6379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6380 = trunc i8 %6379 to i1
  br i1 %6380, label %6381, label %6403

6381:                                             ; preds = %6374
  %6382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6383 = call i32 @fileno(ptr noundef %6382) #11
  %6384 = call i32 @isatty(i32 noundef %6383) #11
  %6385 = icmp ne i32 %6384, 0
  br i1 %6385, label %6386, label %6403

6386:                                             ; preds = %6381
  %6387 = load i32, ptr %131, align 4, !tbaa !5
  %6388 = call ptr @__errno_location() #12
  store i32 %6387, ptr %6388, align 4, !tbaa !5
  %6389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6390 = load i32, ptr @test_count, align 4, !tbaa !5
  %6391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6392 = load i32, ptr %6391, align 4, !tbaa !5
  %6393 = call ptr @s2n_strerror(i32 noundef %6392, ptr noundef @.str.4)
  %6394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6395 = load i32, ptr %6394, align 4, !tbaa !5
  %6396 = call ptr @s2n_strerror_debug(i32 noundef %6395, ptr noundef @.str.4)
  %6397 = call ptr @__errno_location() #12
  %6398 = load i32, ptr %6397, align 4, !tbaa !5
  %6399 = call ptr @strerror(i32 noundef %6398) #11
  %6400 = call ptr @__errno_location() #12
  %6401 = load i32, ptr %6400, align 4, !tbaa !5
  %6402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6389, ptr noundef @.str.2, i32 noundef %6390, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6393, ptr noundef %6396, ptr noundef %6399, i32 noundef %6401) #11
  br label %6420

6403:                                             ; preds = %6381, %6374
  %6404 = load i32, ptr %131, align 4, !tbaa !5
  %6405 = call ptr @__errno_location() #12
  store i32 %6404, ptr %6405, align 4, !tbaa !5
  %6406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6407 = load i32, ptr @test_count, align 4, !tbaa !5
  %6408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6409 = load i32, ptr %6408, align 4, !tbaa !5
  %6410 = call ptr @s2n_strerror(i32 noundef %6409, ptr noundef @.str.4)
  %6411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6412 = load i32, ptr %6411, align 4, !tbaa !5
  %6413 = call ptr @s2n_strerror_debug(i32 noundef %6412, ptr noundef @.str.4)
  %6414 = call ptr @__errno_location() #12
  %6415 = load i32, ptr %6414, align 4, !tbaa !5
  %6416 = call ptr @strerror(i32 noundef %6415) #11
  %6417 = call ptr @__errno_location() #12
  %6418 = load i32, ptr %6417, align 4, !tbaa !5
  %6419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6406, ptr noundef @.str.5, i32 noundef %6407, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 266, ptr noundef %6410, ptr noundef %6413, ptr noundef %6416, i32 noundef %6418) #11
  br label %6420

6420:                                             ; preds = %6403, %6386
  call void @llvm.lifetime.end.p0(i64 4, ptr %131) #11
  br label %6421

6421:                                             ; preds = %6420
  br label %6422

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

6423:                                             ; No predecessors!
  br label %6424

6424:                                             ; preds = %6423
  br label %6425

6425:                                             ; preds = %6424, %6365
  br label %6426

6426:                                             ; preds = %6425
  br label %6427

6427:                                             ; preds = %6426
  br label %6428

6428:                                             ; preds = %6427
  br label %6429

6429:                                             ; preds = %6428
  br label %6430

6430:                                             ; preds = %6429
  %6431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %6431, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %6432 = call ptr @__errno_location() #12
  store i32 0, ptr %6432, align 4, !tbaa !5
  br label %6433

6433:                                             ; preds = %6430
  br label %6434

6434:                                             ; preds = %6433
  br label %6435

6435:                                             ; preds = %6434
  br label %6436

6436:                                             ; preds = %6435
  br label %6437

6437:                                             ; preds = %6436
  %6438 = load i32, ptr @test_count, align 4, !tbaa !5
  %6439 = add nsw i32 %6438, 1
  store i32 %6439, ptr @test_count, align 4, !tbaa !5
  %6440 = load ptr, ptr %115, align 8, !tbaa !9
  %6441 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6440)
  %6442 = icmp eq i32 %6441, 19
  br i1 %6442, label %6496, label %6443

6443:                                             ; preds = %6437
  br label %6444

6444:                                             ; preds = %6443
  br label %6445

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

6452:                                             ; preds = %6445
  %6453 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6454 = call i32 @fileno(ptr noundef %6453) #11
  %6455 = call i32 @isatty(i32 noundef %6454) #11
  %6456 = icmp ne i32 %6455, 0
  br i1 %6456, label %6457, label %6474

6457:                                             ; preds = %6452
  %6458 = load i32, ptr %132, align 4, !tbaa !5
  %6459 = call ptr @__errno_location() #12
  store i32 %6458, ptr %6459, align 4, !tbaa !5
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = load i32, ptr @test_count, align 4, !tbaa !5
  %6462 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6463 = load i32, ptr %6462, align 4, !tbaa !5
  %6464 = call ptr @s2n_strerror(i32 noundef %6463, ptr noundef @.str.4)
  %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_debug(i32 noundef %6466, ptr noundef @.str.4)
  %6468 = call ptr @__errno_location() #12
  %6469 = load i32, ptr %6468, align 4, !tbaa !5
  %6470 = call ptr @strerror(i32 noundef %6469) #11
  %6471 = call ptr @__errno_location() #12
  %6472 = load i32, ptr %6471, align 4, !tbaa !5
  %6473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6460, ptr noundef @.str.2, i32 noundef %6461, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6464, ptr noundef %6467, ptr noundef %6470, i32 noundef %6472) #11
  br label %6491

6474:                                             ; preds = %6452, %6445
  %6475 = load i32, ptr %132, align 4, !tbaa !5
  %6476 = call ptr @__errno_location() #12
  store i32 %6475, ptr %6476, align 4, !tbaa !5
  %6477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6478 = load i32, ptr @test_count, align 4, !tbaa !5
  %6479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6480 = load i32, ptr %6479, align 4, !tbaa !5
  %6481 = call ptr @s2n_strerror(i32 noundef %6480, ptr noundef @.str.4)
  %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_debug(i32 noundef %6483, ptr noundef @.str.4)
  %6485 = call ptr @__errno_location() #12
  %6486 = load i32, ptr %6485, align 4, !tbaa !5
  %6487 = call ptr @strerror(i32 noundef %6486) #11
  %6488 = call ptr @__errno_location() #12
  %6489 = load i32, ptr %6488, align 4, !tbaa !5
  %6490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6477, ptr noundef @.str.5, i32 noundef %6478, ptr noundef @.str.64, ptr noundef @.str.1, i32 noundef 267, ptr noundef %6481, ptr noundef %6484, ptr noundef %6487, i32 noundef %6489) #11
  br label %6491

6491:                                             ; preds = %6474, %6457
  call void @llvm.lifetime.end.p0(i64 4, ptr %132) #11
  br label %6492

6492:                                             ; preds = %6491
  br label %6493

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

6494:                                             ; No predecessors!
  br label %6495

6495:                                             ; preds = %6494
  br label %6496

6496:                                             ; preds = %6495, %6437
  br label %6497

6497:                                             ; preds = %6496
  br label %6498

6498:                                             ; preds = %6497
  br label %6499

6499:                                             ; preds = %6498
  %6500 = load i32, ptr @test_count, align 4, !tbaa !5
  %6501 = add nsw i32 %6500, 1
  store i32 %6501, ptr @test_count, align 4, !tbaa !5
  %6502 = load i64, ptr %123, align 8, !tbaa !42
  %6503 = icmp eq i64 %6502, 0
  br i1 %6503, label %6557, label %6504

6504:                                             ; preds = %6499
  br label %6505

6505:                                             ; preds = %6504
  br label %6506

6506:                                             ; preds = %6505
  call void @llvm.lifetime.start.p0(i64 4, ptr %133) #11
  %6507 = call ptr @__errno_location() #12
  %6508 = load i32, ptr %6507, align 4, !tbaa !5
  store i32 %6508, ptr %133, align 4, !tbaa !5
  %6509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6510 = call i32 @s2n_print_stacktrace(ptr noundef %6509)
  %6511 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6512 = trunc i8 %6511 to i1
  br i1 %6512, label %6513, label %6535

6513:                                             ; preds = %6506
  %6514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6515 = call i32 @fileno(ptr noundef %6514) #11
  %6516 = call i32 @isatty(i32 noundef %6515) #11
  %6517 = icmp ne i32 %6516, 0
  br i1 %6517, label %6518, label %6535

6518:                                             ; preds = %6513
  %6519 = load i32, ptr %133, align 4, !tbaa !5
  %6520 = call ptr @__errno_location() #12
  store i32 %6519, ptr %6520, align 4, !tbaa !5
  %6521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6522 = load i32, ptr @test_count, align 4, !tbaa !5
  %6523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6524 = load i32, ptr %6523, align 4, !tbaa !5
  %6525 = call ptr @s2n_strerror(i32 noundef %6524, ptr noundef @.str.4)
  %6526 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6527 = load i32, ptr %6526, align 4, !tbaa !5
  %6528 = call ptr @s2n_strerror_debug(i32 noundef %6527, ptr noundef @.str.4)
  %6529 = call ptr @__errno_location() #12
  %6530 = load i32, ptr %6529, align 4, !tbaa !5
  %6531 = call ptr @strerror(i32 noundef %6530) #11
  %6532 = call ptr @__errno_location() #12
  %6533 = load i32, ptr %6532, align 4, !tbaa !5
  %6534 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6521, ptr noundef @.str.2, i32 noundef %6522, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6525, ptr noundef %6528, ptr noundef %6531, i32 noundef %6533) #11
  br label %6552

6535:                                             ; preds = %6513, %6506
  %6536 = load i32, ptr %133, align 4, !tbaa !5
  %6537 = call ptr @__errno_location() #12
  store i32 %6536, ptr %6537, align 4, !tbaa !5
  %6538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6539 = load i32, ptr @test_count, align 4, !tbaa !5
  %6540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6541 = load i32, ptr %6540, align 4, !tbaa !5
  %6542 = call ptr @s2n_strerror(i32 noundef %6541, ptr noundef @.str.4)
  %6543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6544 = load i32, ptr %6543, align 4, !tbaa !5
  %6545 = call ptr @s2n_strerror_debug(i32 noundef %6544, ptr noundef @.str.4)
  %6546 = call ptr @__errno_location() #12
  %6547 = load i32, ptr %6546, align 4, !tbaa !5
  %6548 = call ptr @strerror(i32 noundef %6547) #11
  %6549 = call ptr @__errno_location() #12
  %6550 = load i32, ptr %6549, align 4, !tbaa !5
  %6551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6538, ptr noundef @.str.5, i32 noundef %6539, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 268, ptr noundef %6542, ptr noundef %6545, ptr noundef %6548, i32 noundef %6550) #11
  br label %6552

6552:                                             ; preds = %6535, %6518
  call void @llvm.lifetime.end.p0(i64 4, ptr %133) #11
  br label %6553

6553:                                             ; preds = %6552
  br label %6554

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

6555:                                             ; No predecessors!
  br label %6556

6556:                                             ; preds = %6555
  br label %6557

6557:                                             ; preds = %6556, %6499
  br label %6558

6558:                                             ; preds = %6557
  br label %6559

6559:                                             ; preds = %6558
  br label %6560

6560:                                             ; preds = %6559
  %6561 = load i32, ptr @test_count, align 4, !tbaa !5
  %6562 = add nsw i32 %6561, 1
  store i32 %6562, ptr @test_count, align 4, !tbaa !5
  %6563 = load ptr, ptr %114, align 8, !tbaa !9
  %6564 = call i32 @s2n_connection_free(ptr noundef %6563)
  %6565 = icmp eq i32 %6564, -1
  br i1 %6565, label %6566, label %6619

6566:                                             ; preds = %6560
  br label %6567

6567:                                             ; preds = %6566
  br label %6568

6568:                                             ; preds = %6567
  call void @llvm.lifetime.start.p0(i64 4, ptr %134) #11
  %6569 = call ptr @__errno_location() #12
  %6570 = load i32, ptr %6569, align 4, !tbaa !5
  store i32 %6570, ptr %134, align 4, !tbaa !5
  %6571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6572 = call i32 @s2n_print_stacktrace(ptr noundef %6571)
  %6573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6574 = trunc i8 %6573 to i1
  br i1 %6574, label %6575, label %6597

6575:                                             ; preds = %6568
  %6576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6577 = call i32 @fileno(ptr noundef %6576) #11
  %6578 = call i32 @isatty(i32 noundef %6577) #11
  %6579 = icmp ne i32 %6578, 0
  br i1 %6579, label %6580, label %6597

6580:                                             ; preds = %6575
  %6581 = load i32, ptr %134, align 4, !tbaa !5
  %6582 = call ptr @__errno_location() #12
  store i32 %6581, ptr %6582, align 4, !tbaa !5
  %6583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6584 = load i32, ptr @test_count, align 4, !tbaa !5
  %6585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6586 = load i32, ptr %6585, align 4, !tbaa !5
  %6587 = call ptr @s2n_strerror(i32 noundef %6586, ptr noundef @.str.4)
  %6588 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6589 = load i32, ptr %6588, align 4, !tbaa !5
  %6590 = call ptr @s2n_strerror_debug(i32 noundef %6589, ptr noundef @.str.4)
  %6591 = call ptr @__errno_location() #12
  %6592 = load i32, ptr %6591, align 4, !tbaa !5
  %6593 = call ptr @strerror(i32 noundef %6592) #11
  %6594 = call ptr @__errno_location() #12
  %6595 = load i32, ptr %6594, align 4, !tbaa !5
  %6596 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6583, ptr noundef @.str.2, i32 noundef %6584, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6587, ptr noundef %6590, ptr noundef %6593, i32 noundef %6595) #11
  br label %6614

6597:                                             ; preds = %6575, %6568
  %6598 = load i32, ptr %134, align 4, !tbaa !5
  %6599 = call ptr @__errno_location() #12
  store i32 %6598, ptr %6599, align 4, !tbaa !5
  %6600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6601 = load i32, ptr @test_count, align 4, !tbaa !5
  %6602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6603 = load i32, ptr %6602, align 4, !tbaa !5
  %6604 = call ptr @s2n_strerror(i32 noundef %6603, ptr noundef @.str.4)
  %6605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6606 = load i32, ptr %6605, align 4, !tbaa !5
  %6607 = call ptr @s2n_strerror_debug(i32 noundef %6606, ptr noundef @.str.4)
  %6608 = call ptr @__errno_location() #12
  %6609 = load i32, ptr %6608, align 4, !tbaa !5
  %6610 = call ptr @strerror(i32 noundef %6609) #11
  %6611 = call ptr @__errno_location() #12
  %6612 = load i32, ptr %6611, align 4, !tbaa !5
  %6613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6600, ptr noundef @.str.5, i32 noundef %6601, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 270, ptr noundef %6604, ptr noundef %6607, ptr noundef %6610, i32 noundef %6612) #11
  br label %6614

6614:                                             ; preds = %6597, %6580
  call void @llvm.lifetime.end.p0(i64 4, ptr %134) #11
  br label %6615

6615:                                             ; preds = %6614
  br label %6616

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

6617:                                             ; No predecessors!
  br label %6618

6618:                                             ; preds = %6617
  br label %6619

6619:                                             ; preds = %6618, %6560
  br label %6620

6620:                                             ; preds = %6619
  br label %6621

6621:                                             ; preds = %6620
  br label %6622

6622:                                             ; preds = %6621
  %6623 = load i32, ptr @test_count, align 4, !tbaa !5
  %6624 = add nsw i32 %6623, 1
  store i32 %6624, ptr @test_count, align 4, !tbaa !5
  %6625 = load ptr, ptr %115, align 8, !tbaa !9
  %6626 = call i32 @s2n_connection_free(ptr noundef %6625)
  %6627 = icmp eq i32 %6626, -1
  br i1 %6627, label %6628, label %6681

6628:                                             ; preds = %6622
  br label %6629

6629:                                             ; preds = %6628
  br label %6630

6630:                                             ; preds = %6629
  call void @llvm.lifetime.start.p0(i64 4, ptr %135) #11
  %6631 = call ptr @__errno_location() #12
  %6632 = load i32, ptr %6631, align 4, !tbaa !5
  store i32 %6632, ptr %135, align 4, !tbaa !5
  %6633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6634 = call i32 @s2n_print_stacktrace(ptr noundef %6633)
  %6635 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6636 = trunc i8 %6635 to i1
  br i1 %6636, label %6637, label %6659

6637:                                             ; preds = %6630
  %6638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6639 = call i32 @fileno(ptr noundef %6638) #11
  %6640 = call i32 @isatty(i32 noundef %6639) #11
  %6641 = icmp ne i32 %6640, 0
  br i1 %6641, label %6642, label %6659

6642:                                             ; preds = %6637
  %6643 = load i32, ptr %135, align 4, !tbaa !5
  %6644 = call ptr @__errno_location() #12
  store i32 %6643, ptr %6644, align 4, !tbaa !5
  %6645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6646 = load i32, ptr @test_count, align 4, !tbaa !5
  %6647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6648 = load i32, ptr %6647, align 4, !tbaa !5
  %6649 = call ptr @s2n_strerror(i32 noundef %6648, ptr noundef @.str.4)
  %6650 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6651 = load i32, ptr %6650, align 4, !tbaa !5
  %6652 = call ptr @s2n_strerror_debug(i32 noundef %6651, ptr noundef @.str.4)
  %6653 = call ptr @__errno_location() #12
  %6654 = load i32, ptr %6653, align 4, !tbaa !5
  %6655 = call ptr @strerror(i32 noundef %6654) #11
  %6656 = call ptr @__errno_location() #12
  %6657 = load i32, ptr %6656, align 4, !tbaa !5
  %6658 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6645, ptr noundef @.str.2, i32 noundef %6646, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6649, ptr noundef %6652, ptr noundef %6655, i32 noundef %6657) #11
  br label %6676

6659:                                             ; preds = %6637, %6630
  %6660 = load i32, ptr %135, align 4, !tbaa !5
  %6661 = call ptr @__errno_location() #12
  store i32 %6660, ptr %6661, align 4, !tbaa !5
  %6662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6663 = load i32, ptr @test_count, align 4, !tbaa !5
  %6664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6665 = load i32, ptr %6664, align 4, !tbaa !5
  %6666 = call ptr @s2n_strerror(i32 noundef %6665, ptr noundef @.str.4)
  %6667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6668 = load i32, ptr %6667, align 4, !tbaa !5
  %6669 = call ptr @s2n_strerror_debug(i32 noundef %6668, ptr noundef @.str.4)
  %6670 = call ptr @__errno_location() #12
  %6671 = load i32, ptr %6670, align 4, !tbaa !5
  %6672 = call ptr @strerror(i32 noundef %6671) #11
  %6673 = call ptr @__errno_location() #12
  %6674 = load i32, ptr %6673, align 4, !tbaa !5
  %6675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6662, ptr noundef @.str.5, i32 noundef %6663, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 271, ptr noundef %6666, ptr noundef %6669, ptr noundef %6672, i32 noundef %6674) #11
  br label %6676

6676:                                             ; preds = %6659, %6642
  call void @llvm.lifetime.end.p0(i64 4, ptr %135) #11
  br label %6677

6677:                                             ; preds = %6676
  br label %6678

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

6679:                                             ; No predecessors!
  br label %6680

6680:                                             ; preds = %6679
  br label %6681

6681:                                             ; preds = %6680, %6622
  br label %6682

6682:                                             ; preds = %6681
  br label %6683

6683:                                             ; preds = %6682
  call void @llvm.lifetime.end.p0(i64 8, ptr %123) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %122) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %121) #11
  %6684 = call i32 @s2n_io_pair_close(ptr noundef %116)
  call void @llvm.lifetime.end.p0(i64 8, ptr %116) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %115) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %114) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %136) #11
  store ptr null, ptr %136, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %137) #11
  store ptr null, ptr %137, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %138) #11
  call void @llvm.memset.p0.i64(ptr align 4 %138, i8 0, i64 8, i1 false)
  br label %6685

6685:                                             ; preds = %6683
  %6686 = load i32, ptr @test_count, align 4, !tbaa !5
  %6687 = add nsw i32 %6686, 1
  store i32 %6687, ptr @test_count, align 4, !tbaa !5
  %6688 = call i32 @s2n_test_client_and_server_new(ptr noundef %136, ptr noundef %137, ptr noundef %138)
  %6689 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  store i32 %6688, ptr %6689, align 4
  %6690 = getelementptr inbounds %struct.s2n_result, ptr %139, i32 0, i32 0
  %6691 = load i32, ptr %6690, align 4
  %6692 = call zeroext i1 @s2n_result_is_ok(i32 %6691)
  br i1 %6692, label %6746, label %6693

6693:                                             ; preds = %6685
  br label %6694

6694:                                             ; preds = %6693
  br label %6695

6695:                                             ; preds = %6694
  call void @llvm.lifetime.start.p0(i64 4, ptr %140) #11
  %6696 = call ptr @__errno_location() #12
  %6697 = load i32, ptr %6696, align 4, !tbaa !5
  store i32 %6697, ptr %140, align 4, !tbaa !5
  %6698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6699 = call i32 @s2n_print_stacktrace(ptr noundef %6698)
  %6700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6701 = trunc i8 %6700 to i1
  br i1 %6701, label %6702, label %6724

6702:                                             ; preds = %6695
  %6703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6704 = call i32 @fileno(ptr noundef %6703) #11
  %6705 = call i32 @isatty(i32 noundef %6704) #11
  %6706 = icmp ne i32 %6705, 0
  br i1 %6706, label %6707, label %6724

6707:                                             ; preds = %6702
  %6708 = load i32, ptr %140, align 4, !tbaa !5
  %6709 = call ptr @__errno_location() #12
  store i32 %6708, ptr %6709, align 4, !tbaa !5
  %6710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6711 = load i32, ptr @test_count, align 4, !tbaa !5
  %6712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6713 = load i32, ptr %6712, align 4, !tbaa !5
  %6714 = call ptr @s2n_strerror(i32 noundef %6713, ptr noundef @.str.4)
  %6715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6716 = load i32, ptr %6715, align 4, !tbaa !5
  %6717 = call ptr @s2n_strerror_debug(i32 noundef %6716, ptr noundef @.str.4)
  %6718 = call ptr @__errno_location() #12
  %6719 = load i32, ptr %6718, align 4, !tbaa !5
  %6720 = call ptr @strerror(i32 noundef %6719) #11
  %6721 = call ptr @__errno_location() #12
  %6722 = load i32, ptr %6721, align 4, !tbaa !5
  %6723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6710, ptr noundef @.str.2, i32 noundef %6711, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6714, ptr noundef %6717, ptr noundef %6720, i32 noundef %6722) #11
  br label %6741

6724:                                             ; preds = %6702, %6695
  %6725 = load i32, ptr %140, align 4, !tbaa !5
  %6726 = call ptr @__errno_location() #12
  store i32 %6725, ptr %6726, align 4, !tbaa !5
  %6727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6728 = load i32, ptr @test_count, align 4, !tbaa !5
  %6729 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6730 = load i32, ptr %6729, align 4, !tbaa !5
  %6731 = call ptr @s2n_strerror(i32 noundef %6730, ptr noundef @.str.4)
  %6732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6733 = load i32, ptr %6732, align 4, !tbaa !5
  %6734 = call ptr @s2n_strerror_debug(i32 noundef %6733, ptr noundef @.str.4)
  %6735 = call ptr @__errno_location() #12
  %6736 = load i32, ptr %6735, align 4, !tbaa !5
  %6737 = call ptr @strerror(i32 noundef %6736) #11
  %6738 = call ptr @__errno_location() #12
  %6739 = load i32, ptr %6738, align 4, !tbaa !5
  %6740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6727, ptr noundef @.str.5, i32 noundef %6728, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 281, ptr noundef %6731, ptr noundef %6734, ptr noundef %6737, i32 noundef %6739) #11
  br label %6741

6741:                                             ; preds = %6724, %6707
  call void @llvm.lifetime.end.p0(i64 4, ptr %140) #11
  br label %6742

6742:                                             ; preds = %6741
  br label %6743

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

6744:                                             ; No predecessors!
  br label %6745

6745:                                             ; preds = %6744
  br label %6746

6746:                                             ; preds = %6745, %6685
  br label %6747

6747:                                             ; preds = %6746
  br label %6748

6748:                                             ; preds = %6747
  br label %6749

6749:                                             ; preds = %6748
  %6750 = load i32, ptr @test_count, align 4, !tbaa !5
  %6751 = add nsw i32 %6750, 1
  store i32 %6751, ptr @test_count, align 4, !tbaa !5
  %6752 = load ptr, ptr %136, align 8, !tbaa !9
  %6753 = load ptr, ptr %13, align 8, !tbaa !9
  %6754 = call i32 @s2n_connection_append_psk(ptr noundef %6752, ptr noundef %6753)
  %6755 = icmp eq i32 %6754, -1
  br i1 %6755, label %6756, label %6809

6756:                                             ; preds = %6749
  br label %6757

6757:                                             ; preds = %6756
  br label %6758

6758:                                             ; preds = %6757
  call void @llvm.lifetime.start.p0(i64 4, ptr %141) #11
  %6759 = call ptr @__errno_location() #12
  %6760 = load i32, ptr %6759, align 4, !tbaa !5
  store i32 %6760, ptr %141, align 4, !tbaa !5
  %6761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6762 = call i32 @s2n_print_stacktrace(ptr noundef %6761)
  %6763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6764 = trunc i8 %6763 to i1
  br i1 %6764, label %6765, label %6787

6765:                                             ; preds = %6758
  %6766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6767 = call i32 @fileno(ptr noundef %6766) #11
  %6768 = call i32 @isatty(i32 noundef %6767) #11
  %6769 = icmp ne i32 %6768, 0
  br i1 %6769, label %6770, label %6787

6770:                                             ; preds = %6765
  %6771 = load i32, ptr %141, align 4, !tbaa !5
  %6772 = call ptr @__errno_location() #12
  store i32 %6771, ptr %6772, align 4, !tbaa !5
  %6773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6774 = load i32, ptr @test_count, align 4, !tbaa !5
  %6775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6776 = load i32, ptr %6775, align 4, !tbaa !5
  %6777 = call ptr @s2n_strerror(i32 noundef %6776, ptr noundef @.str.4)
  %6778 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6779 = load i32, ptr %6778, align 4, !tbaa !5
  %6780 = call ptr @s2n_strerror_debug(i32 noundef %6779, ptr noundef @.str.4)
  %6781 = call ptr @__errno_location() #12
  %6782 = load i32, ptr %6781, align 4, !tbaa !5
  %6783 = call ptr @strerror(i32 noundef %6782) #11
  %6784 = call ptr @__errno_location() #12
  %6785 = load i32, ptr %6784, align 4, !tbaa !5
  %6786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6773, ptr noundef @.str.2, i32 noundef %6774, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 283, ptr noundef %6777, ptr noundef %6780, ptr noundef %6783, i32 noundef %6785) #11
  br label %6804

6787:                                             ; preds = %6765, %6758
  %6788 = load i32, ptr %141, 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.4)
  %6795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6796 = load i32, ptr %6795, align 4, !tbaa !5
  %6797 = call ptr @s2n_strerror_debug(i32 noundef %6796, ptr noundef @.str.4)
  %6798 = call ptr @__errno_location() #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.5, i32 noundef %6791, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 283, ptr noundef %6794, ptr noundef %6797, ptr noundef %6800, i32 noundef %6802) #11
  br label %6804

6804:                                             ; preds = %6787, %6770
  call void @llvm.lifetime.end.p0(i64 4, ptr %141) #11
  br label %6805

6805:                                             ; preds = %6804
  br label %6806

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

6807:                                             ; No predecessors!
  br label %6808

6808:                                             ; preds = %6807
  br label %6809

6809:                                             ; preds = %6808, %6749
  br label %6810

6810:                                             ; preds = %6809
  br label %6811

6811:                                             ; preds = %6810
  br label %6812

6812:                                             ; preds = %6811
  %6813 = load i32, ptr @test_count, align 4, !tbaa !5
  %6814 = add nsw i32 %6813, 1
  store i32 %6814, ptr @test_count, align 4, !tbaa !5
  %6815 = load ptr, ptr %137, align 8, !tbaa !9
  %6816 = load ptr, ptr %13, align 8, !tbaa !9
  %6817 = call i32 @s2n_connection_append_psk(ptr noundef %6815, ptr noundef %6816)
  %6818 = icmp eq i32 %6817, -1
  br i1 %6818, label %6819, label %6872

6819:                                             ; preds = %6812
  br label %6820

6820:                                             ; preds = %6819
  br label %6821

6821:                                             ; preds = %6820
  call void @llvm.lifetime.start.p0(i64 4, ptr %142) #11
  %6822 = call ptr @__errno_location() #12
  %6823 = load i32, ptr %6822, align 4, !tbaa !5
  store i32 %6823, ptr %142, align 4, !tbaa !5
  %6824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6825 = call i32 @s2n_print_stacktrace(ptr noundef %6824)
  %6826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6827 = trunc i8 %6826 to i1
  br i1 %6827, label %6828, label %6850

6828:                                             ; preds = %6821
  %6829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6830 = call i32 @fileno(ptr noundef %6829) #11
  %6831 = call i32 @isatty(i32 noundef %6830) #11
  %6832 = icmp ne i32 %6831, 0
  br i1 %6832, label %6833, label %6850

6833:                                             ; preds = %6828
  %6834 = load i32, ptr %142, align 4, !tbaa !5
  %6835 = call ptr @__errno_location() #12
  store i32 %6834, ptr %6835, align 4, !tbaa !5
  %6836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6837 = load i32, ptr @test_count, align 4, !tbaa !5
  %6838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6839 = load i32, ptr %6838, align 4, !tbaa !5
  %6840 = call ptr @s2n_strerror(i32 noundef %6839, ptr noundef @.str.4)
  %6841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6842 = load i32, ptr %6841, align 4, !tbaa !5
  %6843 = call ptr @s2n_strerror_debug(i32 noundef %6842, ptr noundef @.str.4)
  %6844 = call ptr @__errno_location() #12
  %6845 = load i32, ptr %6844, align 4, !tbaa !5
  %6846 = call ptr @strerror(i32 noundef %6845) #11
  %6847 = call ptr @__errno_location() #12
  %6848 = load i32, ptr %6847, align 4, !tbaa !5
  %6849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6836, ptr noundef @.str.2, i32 noundef %6837, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 284, ptr noundef %6840, ptr noundef %6843, ptr noundef %6846, i32 noundef %6848) #11
  br label %6867

6850:                                             ; preds = %6828, %6821
  %6851 = load i32, ptr %142, align 4, !tbaa !5
  %6852 = call ptr @__errno_location() #12
  store i32 %6851, ptr %6852, align 4, !tbaa !5
  %6853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6854 = load i32, ptr @test_count, align 4, !tbaa !5
  %6855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6856 = load i32, ptr %6855, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror(i32 noundef %6856, ptr noundef @.str.4)
  %6858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6859 = load i32, ptr %6858, align 4, !tbaa !5
  %6860 = call ptr @s2n_strerror_debug(i32 noundef %6859, ptr noundef @.str.4)
  %6861 = call ptr @__errno_location() #12
  %6862 = load i32, ptr %6861, align 4, !tbaa !5
  %6863 = call ptr @strerror(i32 noundef %6862) #11
  %6864 = call ptr @__errno_location() #12
  %6865 = load i32, ptr %6864, align 4, !tbaa !5
  %6866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6853, ptr noundef @.str.5, i32 noundef %6854, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 284, ptr noundef %6857, ptr noundef %6860, ptr noundef %6863, i32 noundef %6865) #11
  br label %6867

6867:                                             ; preds = %6850, %6833
  call void @llvm.lifetime.end.p0(i64 4, ptr %142) #11
  br label %6868

6868:                                             ; preds = %6867
  br label %6869

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

6870:                                             ; No predecessors!
  br label %6871

6871:                                             ; preds = %6870
  br label %6872

6872:                                             ; preds = %6871, %6812
  br label %6873

6873:                                             ; preds = %6872
  br label %6874

6874:                                             ; preds = %6873
  call void @llvm.lifetime.start.p0(i64 4, ptr %143) #11
  store i32 0, ptr %143, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %144) #11
  store i64 0, ptr %144, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr %145) #11
  store i32 0, ptr %145, align 4, !tbaa !5
  br label %6875

6875:                                             ; preds = %6874
  br label %6876

6876:                                             ; preds = %6875
  br label %6877

6877:                                             ; preds = %6876
  %6878 = load i32, ptr @test_count, align 4, !tbaa !5
  %6879 = add nsw i32 %6878, 1
  store i32 %6879, ptr @test_count, align 4, !tbaa !5
  %6880 = load ptr, ptr %136, align 8, !tbaa !9
  %6881 = call i32 @s2n_send_early_data(ptr noundef %6880, ptr noundef null, i64 noundef 0, ptr noundef %144, ptr noundef %143)
  %6882 = icmp eq i32 %6881, -1
  br i1 %6882, label %6936, label %6883

6883:                                             ; preds = %6877
  br label %6884

6884:                                             ; preds = %6883
  br label %6885

6885:                                             ; preds = %6884
  call void @llvm.lifetime.start.p0(i64 4, ptr %146) #11
  %6886 = call ptr @__errno_location() #12
  %6887 = load i32, ptr %6886, align 4, !tbaa !5
  store i32 %6887, ptr %146, align 4, !tbaa !5
  %6888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6889 = call i32 @s2n_print_stacktrace(ptr noundef %6888)
  %6890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6891 = trunc i8 %6890 to i1
  br i1 %6891, label %6892, label %6914

6892:                                             ; preds = %6885
  %6893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6894 = call i32 @fileno(ptr noundef %6893) #11
  %6895 = call i32 @isatty(i32 noundef %6894) #11
  %6896 = icmp ne i32 %6895, 0
  br i1 %6896, label %6897, label %6914

6897:                                             ; preds = %6892
  %6898 = load i32, ptr %146, align 4, !tbaa !5
  %6899 = call ptr @__errno_location() #12
  store i32 %6898, ptr %6899, align 4, !tbaa !5
  %6900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6901 = load i32, ptr @test_count, align 4, !tbaa !5
  %6902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6903 = load i32, ptr %6902, align 4, !tbaa !5
  %6904 = call ptr @s2n_strerror(i32 noundef %6903, ptr noundef @.str.4)
  %6905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6906 = load i32, ptr %6905, align 4, !tbaa !5
  %6907 = call ptr @s2n_strerror_debug(i32 noundef %6906, ptr noundef @.str.4)
  %6908 = call ptr @__errno_location() #12
  %6909 = load i32, ptr %6908, align 4, !tbaa !5
  %6910 = call ptr @strerror(i32 noundef %6909) #11
  %6911 = call ptr @__errno_location() #12
  %6912 = load i32, ptr %6911, align 4, !tbaa !5
  %6913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6900, ptr noundef @.str.2, i32 noundef %6901, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6904, ptr noundef %6907, ptr noundef %6910, i32 noundef %6912) #11
  br label %6931

6914:                                             ; preds = %6892, %6885
  %6915 = load i32, ptr %146, align 4, !tbaa !5
  %6916 = call ptr @__errno_location() #12
  store i32 %6915, ptr %6916, align 4, !tbaa !5
  %6917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6918 = load i32, ptr @test_count, align 4, !tbaa !5
  %6919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6920 = load i32, ptr %6919, align 4, !tbaa !5
  %6921 = call ptr @s2n_strerror(i32 noundef %6920, ptr noundef @.str.4)
  %6922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6923 = load i32, ptr %6922, align 4, !tbaa !5
  %6924 = call ptr @s2n_strerror_debug(i32 noundef %6923, ptr noundef @.str.4)
  %6925 = call ptr @__errno_location() #12
  %6926 = load i32, ptr %6925, align 4, !tbaa !5
  %6927 = call ptr @strerror(i32 noundef %6926) #11
  %6928 = call ptr @__errno_location() #12
  %6929 = load i32, ptr %6928, align 4, !tbaa !5
  %6930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6917, ptr noundef @.str.5, i32 noundef %6918, ptr noundef @.str.65, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6921, ptr noundef %6924, ptr noundef %6927, i32 noundef %6929) #11
  br label %6931

6931:                                             ; preds = %6914, %6897
  call void @llvm.lifetime.end.p0(i64 4, ptr %146) #11
  br label %6932

6932:                                             ; preds = %6931
  br label %6933

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

6934:                                             ; No predecessors!
  br label %6935

6935:                                             ; preds = %6934
  br label %6936

6936:                                             ; preds = %6935, %6877
  br label %6937

6937:                                             ; preds = %6936
  br label %6938

6938:                                             ; preds = %6937
  br label %6939

6939:                                             ; preds = %6938
  %6940 = load i32, ptr @test_count, align 4, !tbaa !5
  %6941 = add nsw i32 %6940, 1
  store i32 %6941, ptr @test_count, align 4, !tbaa !5
  %6942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6943 = load i32, ptr %6942, align 4, !tbaa !5
  %6944 = icmp eq i32 %6943, 201326592
  br i1 %6944, label %6998, label %6945

6945:                                             ; preds = %6939
  br label %6946

6946:                                             ; preds = %6945
  br label %6947

6947:                                             ; preds = %6946
  call void @llvm.lifetime.start.p0(i64 4, ptr %147) #11
  %6948 = call ptr @__errno_location() #12
  %6949 = load i32, ptr %6948, align 4, !tbaa !5
  store i32 %6949, ptr %147, align 4, !tbaa !5
  %6950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6951 = call i32 @s2n_print_stacktrace(ptr noundef %6950)
  %6952 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6953 = trunc i8 %6952 to i1
  br i1 %6953, label %6954, label %6976

6954:                                             ; preds = %6947
  %6955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6956 = call i32 @fileno(ptr noundef %6955) #11
  %6957 = call i32 @isatty(i32 noundef %6956) #11
  %6958 = icmp ne i32 %6957, 0
  br i1 %6958, label %6959, label %6976

6959:                                             ; preds = %6954
  %6960 = load i32, ptr %147, align 4, !tbaa !5
  %6961 = call ptr @__errno_location() #12
  store i32 %6960, ptr %6961, align 4, !tbaa !5
  %6962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6963 = load i32, ptr @test_count, align 4, !tbaa !5
  %6964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6965 = load i32, ptr %6964, align 4, !tbaa !5
  %6966 = call ptr @s2n_strerror(i32 noundef %6965, ptr noundef @.str.4)
  %6967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6968 = load i32, ptr %6967, align 4, !tbaa !5
  %6969 = call ptr @s2n_strerror_debug(i32 noundef %6968, ptr noundef @.str.4)
  %6970 = call ptr @__errno_location() #12
  %6971 = load i32, ptr %6970, align 4, !tbaa !5
  %6972 = call ptr @strerror(i32 noundef %6971) #11
  %6973 = call ptr @__errno_location() #12
  %6974 = load i32, ptr %6973, align 4, !tbaa !5
  %6975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6962, ptr noundef @.str.2, i32 noundef %6963, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6966, ptr noundef %6969, ptr noundef %6972, i32 noundef %6974) #11
  br label %6993

6976:                                             ; preds = %6954, %6947
  %6977 = load i32, ptr %147, align 4, !tbaa !5
  %6978 = call ptr @__errno_location() #12
  store i32 %6977, ptr %6978, align 4, !tbaa !5
  %6979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6980 = load i32, ptr @test_count, align 4, !tbaa !5
  %6981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6982 = load i32, ptr %6981, align 4, !tbaa !5
  %6983 = call ptr @s2n_strerror(i32 noundef %6982, ptr noundef @.str.4)
  %6984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %6985 = load i32, ptr %6984, align 4, !tbaa !5
  %6986 = call ptr @s2n_strerror_debug(i32 noundef %6985, ptr noundef @.str.4)
  %6987 = call ptr @__errno_location() #12
  %6988 = load i32, ptr %6987, align 4, !tbaa !5
  %6989 = call ptr @strerror(i32 noundef %6988) #11
  %6990 = call ptr @__errno_location() #12
  %6991 = load i32, ptr %6990, align 4, !tbaa !5
  %6992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6979, ptr noundef @.str.5, i32 noundef %6980, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 290, ptr noundef %6983, ptr noundef %6986, ptr noundef %6989, i32 noundef %6991) #11
  br label %6993

6993:                                             ; preds = %6976, %6959
  call void @llvm.lifetime.end.p0(i64 4, ptr %147) #11
  br label %6994

6994:                                             ; preds = %6993
  br label %6995

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

6996:                                             ; No predecessors!
  br label %6997

6997:                                             ; preds = %6996
  br label %6998

6998:                                             ; preds = %6997, %6939
  br label %6999

6999:                                             ; preds = %6998
  br label %7000

7000:                                             ; preds = %6999
  br label %7001

7001:                                             ; preds = %7000
  %7002 = load i32, ptr @test_count, align 4, !tbaa !5
  %7003 = add nsw i32 %7002, 1
  store i32 %7003, ptr @test_count, align 4, !tbaa !5
  %7004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7005 = load i32, ptr %7004, align 4, !tbaa !5
  %7006 = call ptr @s2n_strerror_debug(i32 noundef %7005, ptr noundef @.str.4)
  %7007 = icmp eq ptr %7006, null
  br i1 %7007, label %7008, label %7061

7008:                                             ; preds = %7001
  br label %7009

7009:                                             ; preds = %7008
  br label %7010

7010:                                             ; preds = %7009
  call void @llvm.lifetime.start.p0(i64 4, ptr %148) #11
  %7011 = call ptr @__errno_location() #12
  %7012 = load i32, ptr %7011, align 4, !tbaa !5
  store i32 %7012, ptr %148, align 4, !tbaa !5
  %7013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7014 = call i32 @s2n_print_stacktrace(ptr noundef %7013)
  %7015 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7016 = trunc i8 %7015 to i1
  br i1 %7016, label %7017, label %7039

7017:                                             ; preds = %7010
  %7018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7019 = call i32 @fileno(ptr noundef %7018) #11
  %7020 = call i32 @isatty(i32 noundef %7019) #11
  %7021 = icmp ne i32 %7020, 0
  br i1 %7021, label %7022, label %7039

7022:                                             ; preds = %7017
  %7023 = load i32, ptr %148, align 4, !tbaa !5
  %7024 = call ptr @__errno_location() #12
  store i32 %7023, ptr %7024, align 4, !tbaa !5
  %7025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7026 = load i32, ptr @test_count, align 4, !tbaa !5
  %7027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7028 = load i32, ptr %7027, align 4, !tbaa !5
  %7029 = call ptr @s2n_strerror(i32 noundef %7028, ptr noundef @.str.4)
  %7030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7031 = load i32, ptr %7030, align 4, !tbaa !5
  %7032 = call ptr @s2n_strerror_debug(i32 noundef %7031, ptr noundef @.str.4)
  %7033 = call ptr @__errno_location() #12
  %7034 = load i32, ptr %7033, align 4, !tbaa !5
  %7035 = call ptr @strerror(i32 noundef %7034) #11
  %7036 = call ptr @__errno_location() #12
  %7037 = load i32, ptr %7036, align 4, !tbaa !5
  %7038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7025, ptr noundef @.str.2, i32 noundef %7026, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7029, ptr noundef %7032, ptr noundef %7035, i32 noundef %7037) #11
  br label %7056

7039:                                             ; preds = %7017, %7010
  %7040 = load i32, ptr %148, align 4, !tbaa !5
  %7041 = call ptr @__errno_location() #12
  store i32 %7040, ptr %7041, align 4, !tbaa !5
  %7042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7043 = load i32, ptr @test_count, align 4, !tbaa !5
  %7044 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7045 = load i32, ptr %7044, align 4, !tbaa !5
  %7046 = call ptr @s2n_strerror(i32 noundef %7045, ptr noundef @.str.4)
  %7047 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7048 = load i32, ptr %7047, align 4, !tbaa !5
  %7049 = call ptr @s2n_strerror_debug(i32 noundef %7048, ptr noundef @.str.4)
  %7050 = call ptr @__errno_location() #12
  %7051 = load i32, ptr %7050, align 4, !tbaa !5
  %7052 = call ptr @strerror(i32 noundef %7051) #11
  %7053 = call ptr @__errno_location() #12
  %7054 = load i32, ptr %7053, align 4, !tbaa !5
  %7055 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7042, ptr noundef @.str.5, i32 noundef %7043, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 290, ptr noundef %7046, ptr noundef %7049, ptr noundef %7052, i32 noundef %7054) #11
  br label %7056

7056:                                             ; preds = %7039, %7022
  call void @llvm.lifetime.end.p0(i64 4, ptr %148) #11
  br label %7057

7057:                                             ; preds = %7056
  br label %7058

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

7059:                                             ; No predecessors!
  br label %7060

7060:                                             ; preds = %7059
  br label %7061

7061:                                             ; preds = %7060, %7001
  br label %7062

7062:                                             ; preds = %7061
  br label %7063

7063:                                             ; preds = %7062
  br label %7064

7064:                                             ; preds = %7063
  br label %7065

7065:                                             ; preds = %7064
  br label %7066

7066:                                             ; preds = %7065
  %7067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7067, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7068 = call ptr @__errno_location() #12
  store i32 0, ptr %7068, align 4, !tbaa !5
  br label %7069

7069:                                             ; preds = %7066
  br label %7070

7070:                                             ; preds = %7069
  br label %7071

7071:                                             ; preds = %7070
  br label %7072

7072:                                             ; preds = %7071
  br label %7073

7073:                                             ; preds = %7072
  %7074 = load i32, ptr @test_count, align 4, !tbaa !5
  %7075 = add nsw i32 %7074, 1
  store i32 %7075, ptr @test_count, align 4, !tbaa !5
  %7076 = load i32, ptr %143, align 4, !tbaa !5
  %7077 = icmp eq i32 %7076, 1
  br i1 %7077, label %7131, label %7078

7078:                                             ; preds = %7073
  br label %7079

7079:                                             ; preds = %7078
  br label %7080

7080:                                             ; preds = %7079
  call void @llvm.lifetime.start.p0(i64 4, ptr %149) #11
  %7081 = call ptr @__errno_location() #12
  %7082 = load i32, ptr %7081, align 4, !tbaa !5
  store i32 %7082, ptr %149, align 4, !tbaa !5
  %7083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7084 = call i32 @s2n_print_stacktrace(ptr noundef %7083)
  %7085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7086 = trunc i8 %7085 to i1
  br i1 %7086, label %7087, label %7109

7087:                                             ; preds = %7080
  %7088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7089 = call i32 @fileno(ptr noundef %7088) #11
  %7090 = call i32 @isatty(i32 noundef %7089) #11
  %7091 = icmp ne i32 %7090, 0
  br i1 %7091, label %7092, label %7109

7092:                                             ; preds = %7087
  %7093 = load i32, ptr %149, align 4, !tbaa !5
  %7094 = call ptr @__errno_location() #12
  store i32 %7093, ptr %7094, align 4, !tbaa !5
  %7095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7096 = load i32, ptr @test_count, align 4, !tbaa !5
  %7097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7098 = load i32, ptr %7097, align 4, !tbaa !5
  %7099 = call ptr @s2n_strerror(i32 noundef %7098, ptr noundef @.str.4)
  %7100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7101 = load i32, ptr %7100, align 4, !tbaa !5
  %7102 = call ptr @s2n_strerror_debug(i32 noundef %7101, ptr noundef @.str.4)
  %7103 = call ptr @__errno_location() #12
  %7104 = load i32, ptr %7103, align 4, !tbaa !5
  %7105 = call ptr @strerror(i32 noundef %7104) #11
  %7106 = call ptr @__errno_location() #12
  %7107 = load i32, ptr %7106, align 4, !tbaa !5
  %7108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7095, ptr noundef @.str.2, i32 noundef %7096, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7099, ptr noundef %7102, ptr noundef %7105, i32 noundef %7107) #11
  br label %7126

7109:                                             ; preds = %7087, %7080
  %7110 = load i32, ptr %149, align 4, !tbaa !5
  %7111 = call ptr @__errno_location() #12
  store i32 %7110, ptr %7111, align 4, !tbaa !5
  %7112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7113 = load i32, ptr @test_count, align 4, !tbaa !5
  %7114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7115 = load i32, ptr %7114, align 4, !tbaa !5
  %7116 = call ptr @s2n_strerror(i32 noundef %7115, ptr noundef @.str.4)
  %7117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7118 = load i32, ptr %7117, align 4, !tbaa !5
  %7119 = call ptr @s2n_strerror_debug(i32 noundef %7118, ptr noundef @.str.4)
  %7120 = call ptr @__errno_location() #12
  %7121 = load i32, ptr %7120, align 4, !tbaa !5
  %7122 = call ptr @strerror(i32 noundef %7121) #11
  %7123 = call ptr @__errno_location() #12
  %7124 = load i32, ptr %7123, align 4, !tbaa !5
  %7125 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7112, ptr noundef @.str.5, i32 noundef %7113, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7116, ptr noundef %7119, ptr noundef %7122, i32 noundef %7124) #11
  br label %7126

7126:                                             ; preds = %7109, %7092
  call void @llvm.lifetime.end.p0(i64 4, ptr %149) #11
  br label %7127

7127:                                             ; preds = %7126
  br label %7128

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

7129:                                             ; No predecessors!
  br label %7130

7130:                                             ; preds = %7129
  br label %7131

7131:                                             ; preds = %7130, %7073
  br label %7132

7132:                                             ; preds = %7131
  br label %7133

7133:                                             ; preds = %7132
  br label %7134

7134:                                             ; preds = %7133
  %7135 = load i32, ptr @test_count, align 4, !tbaa !5
  %7136 = add nsw i32 %7135, 1
  store i32 %7136, ptr @test_count, align 4, !tbaa !5
  %7137 = load ptr, ptr %136, align 8, !tbaa !9
  %7138 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7137)
  %7139 = icmp eq i32 %7138, 1
  br i1 %7139, label %7193, label %7140

7140:                                             ; preds = %7134
  br label %7141

7141:                                             ; preds = %7140
  br label %7142

7142:                                             ; preds = %7141
  call void @llvm.lifetime.start.p0(i64 4, ptr %150) #11
  %7143 = call ptr @__errno_location() #12
  %7144 = load i32, ptr %7143, align 4, !tbaa !5
  store i32 %7144, ptr %150, align 4, !tbaa !5
  %7145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7146 = call i32 @s2n_print_stacktrace(ptr noundef %7145)
  %7147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7148 = trunc i8 %7147 to i1
  br i1 %7148, label %7149, label %7171

7149:                                             ; preds = %7142
  %7150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7151 = call i32 @fileno(ptr noundef %7150) #11
  %7152 = call i32 @isatty(i32 noundef %7151) #11
  %7153 = icmp ne i32 %7152, 0
  br i1 %7153, label %7154, label %7171

7154:                                             ; preds = %7149
  %7155 = load i32, ptr %150, align 4, !tbaa !5
  %7156 = call ptr @__errno_location() #12
  store i32 %7155, ptr %7156, align 4, !tbaa !5
  %7157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7158 = load i32, ptr @test_count, align 4, !tbaa !5
  %7159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7160 = load i32, ptr %7159, align 4, !tbaa !5
  %7161 = call ptr @s2n_strerror(i32 noundef %7160, ptr noundef @.str.4)
  %7162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7163 = load i32, ptr %7162, align 4, !tbaa !5
  %7164 = call ptr @s2n_strerror_debug(i32 noundef %7163, ptr noundef @.str.4)
  %7165 = call ptr @__errno_location() #12
  %7166 = load i32, ptr %7165, align 4, !tbaa !5
  %7167 = call ptr @strerror(i32 noundef %7166) #11
  %7168 = call ptr @__errno_location() #12
  %7169 = load i32, ptr %7168, align 4, !tbaa !5
  %7170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7157, ptr noundef @.str.2, i32 noundef %7158, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7161, ptr noundef %7164, ptr noundef %7167, i32 noundef %7169) #11
  br label %7188

7171:                                             ; preds = %7149, %7142
  %7172 = load i32, ptr %150, align 4, !tbaa !5
  %7173 = call ptr @__errno_location() #12
  store i32 %7172, ptr %7173, align 4, !tbaa !5
  %7174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7175 = load i32, ptr @test_count, align 4, !tbaa !5
  %7176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7177 = load i32, ptr %7176, align 4, !tbaa !5
  %7178 = call ptr @s2n_strerror(i32 noundef %7177, ptr noundef @.str.4)
  %7179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7180 = load i32, ptr %7179, align 4, !tbaa !5
  %7181 = call ptr @s2n_strerror_debug(i32 noundef %7180, ptr noundef @.str.4)
  %7182 = call ptr @__errno_location() #12
  %7183 = load i32, ptr %7182, align 4, !tbaa !5
  %7184 = call ptr @strerror(i32 noundef %7183) #11
  %7185 = call ptr @__errno_location() #12
  %7186 = load i32, ptr %7185, align 4, !tbaa !5
  %7187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7174, ptr noundef @.str.5, i32 noundef %7175, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 291, ptr noundef %7178, ptr noundef %7181, ptr noundef %7184, i32 noundef %7186) #11
  br label %7188

7188:                                             ; preds = %7171, %7154
  call void @llvm.lifetime.end.p0(i64 4, ptr %150) #11
  br label %7189

7189:                                             ; preds = %7188
  br label %7190

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

7191:                                             ; No predecessors!
  br label %7192

7192:                                             ; preds = %7191
  br label %7193

7193:                                             ; preds = %7192, %7134
  br label %7194

7194:                                             ; preds = %7193
  br label %7195

7195:                                             ; preds = %7194
  br label %7196

7196:                                             ; preds = %7195
  %7197 = load i32, ptr @test_count, align 4, !tbaa !5
  %7198 = add nsw i32 %7197, 1
  store i32 %7198, ptr @test_count, align 4, !tbaa !5
  %7199 = load i64, ptr %144, align 8, !tbaa !42
  %7200 = icmp eq i64 %7199, 0
  br i1 %7200, label %7254, label %7201

7201:                                             ; preds = %7196
  br label %7202

7202:                                             ; preds = %7201
  br label %7203

7203:                                             ; preds = %7202
  call void @llvm.lifetime.start.p0(i64 4, ptr %151) #11
  %7204 = call ptr @__errno_location() #12
  %7205 = load i32, ptr %7204, align 4, !tbaa !5
  store i32 %7205, ptr %151, align 4, !tbaa !5
  %7206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7207 = call i32 @s2n_print_stacktrace(ptr noundef %7206)
  %7208 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7209 = trunc i8 %7208 to i1
  br i1 %7209, label %7210, label %7232

7210:                                             ; preds = %7203
  %7211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7212 = call i32 @fileno(ptr noundef %7211) #11
  %7213 = call i32 @isatty(i32 noundef %7212) #11
  %7214 = icmp ne i32 %7213, 0
  br i1 %7214, label %7215, label %7232

7215:                                             ; preds = %7210
  %7216 = load i32, ptr %151, align 4, !tbaa !5
  %7217 = call ptr @__errno_location() #12
  store i32 %7216, ptr %7217, align 4, !tbaa !5
  %7218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7219 = load i32, ptr @test_count, align 4, !tbaa !5
  %7220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7221 = load i32, ptr %7220, align 4, !tbaa !5
  %7222 = call ptr @s2n_strerror(i32 noundef %7221, ptr noundef @.str.4)
  %7223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7224 = load i32, ptr %7223, align 4, !tbaa !5
  %7225 = call ptr @s2n_strerror_debug(i32 noundef %7224, ptr noundef @.str.4)
  %7226 = call ptr @__errno_location() #12
  %7227 = load i32, ptr %7226, align 4, !tbaa !5
  %7228 = call ptr @strerror(i32 noundef %7227) #11
  %7229 = call ptr @__errno_location() #12
  %7230 = load i32, ptr %7229, align 4, !tbaa !5
  %7231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7218, ptr noundef @.str.2, i32 noundef %7219, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 292, ptr noundef %7222, ptr noundef %7225, ptr noundef %7228, i32 noundef %7230) #11
  br label %7249

7232:                                             ; preds = %7210, %7203
  %7233 = load i32, ptr %151, align 4, !tbaa !5
  %7234 = call ptr @__errno_location() #12
  store i32 %7233, ptr %7234, align 4, !tbaa !5
  %7235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7236 = load i32, ptr @test_count, align 4, !tbaa !5
  %7237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7238 = load i32, ptr %7237, align 4, !tbaa !5
  %7239 = call ptr @s2n_strerror(i32 noundef %7238, ptr noundef @.str.4)
  %7240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7241 = load i32, ptr %7240, align 4, !tbaa !5
  %7242 = call ptr @s2n_strerror_debug(i32 noundef %7241, ptr noundef @.str.4)
  %7243 = call ptr @__errno_location() #12
  %7244 = load i32, ptr %7243, align 4, !tbaa !5
  %7245 = call ptr @strerror(i32 noundef %7244) #11
  %7246 = call ptr @__errno_location() #12
  %7247 = load i32, ptr %7246, align 4, !tbaa !5
  %7248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7235, ptr noundef @.str.5, i32 noundef %7236, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 292, ptr noundef %7239, ptr noundef %7242, ptr noundef %7245, i32 noundef %7247) #11
  br label %7249

7249:                                             ; preds = %7232, %7215
  call void @llvm.lifetime.end.p0(i64 4, ptr %151) #11
  br label %7250

7250:                                             ; preds = %7249
  br label %7251

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

7252:                                             ; No predecessors!
  br label %7253

7253:                                             ; preds = %7252
  br label %7254

7254:                                             ; preds = %7253, %7196
  br label %7255

7255:                                             ; preds = %7254
  br label %7256

7256:                                             ; preds = %7255
  br label %7257

7257:                                             ; preds = %7256
  %7258 = load i32, ptr @test_count, align 4, !tbaa !5
  %7259 = add nsw i32 %7258, 1
  store i32 %7259, ptr @test_count, align 4, !tbaa !5
  %7260 = load ptr, ptr %136, align 8, !tbaa !9
  %7261 = call i32 @s2n_connection_get_early_data_status(ptr noundef %7260, ptr noundef %145)
  %7262 = icmp eq i32 %7261, -1
  br i1 %7262, label %7263, label %7316

7263:                                             ; preds = %7257
  br label %7264

7264:                                             ; preds = %7263
  br label %7265

7265:                                             ; preds = %7264
  call void @llvm.lifetime.start.p0(i64 4, ptr %152) #11
  %7266 = call ptr @__errno_location() #12
  %7267 = load i32, ptr %7266, align 4, !tbaa !5
  store i32 %7267, ptr %152, align 4, !tbaa !5
  %7268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7269 = call i32 @s2n_print_stacktrace(ptr noundef %7268)
  %7270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7271 = trunc i8 %7270 to i1
  br i1 %7271, label %7272, label %7294

7272:                                             ; preds = %7265
  %7273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7274 = call i32 @fileno(ptr noundef %7273) #11
  %7275 = call i32 @isatty(i32 noundef %7274) #11
  %7276 = icmp ne i32 %7275, 0
  br i1 %7276, label %7277, label %7294

7277:                                             ; preds = %7272
  %7278 = load i32, ptr %152, align 4, !tbaa !5
  %7279 = call ptr @__errno_location() #12
  store i32 %7278, ptr %7279, align 4, !tbaa !5
  %7280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7281 = load i32, ptr @test_count, align 4, !tbaa !5
  %7282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7283 = load i32, ptr %7282, align 4, !tbaa !5
  %7284 = call ptr @s2n_strerror(i32 noundef %7283, ptr noundef @.str.4)
  %7285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7286 = load i32, ptr %7285, align 4, !tbaa !5
  %7287 = call ptr @s2n_strerror_debug(i32 noundef %7286, ptr noundef @.str.4)
  %7288 = call ptr @__errno_location() #12
  %7289 = load i32, ptr %7288, align 4, !tbaa !5
  %7290 = call ptr @strerror(i32 noundef %7289) #11
  %7291 = call ptr @__errno_location() #12
  %7292 = load i32, ptr %7291, align 4, !tbaa !5
  %7293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7280, ptr noundef @.str.2, i32 noundef %7281, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7284, ptr noundef %7287, ptr noundef %7290, i32 noundef %7292) #11
  br label %7311

7294:                                             ; preds = %7272, %7265
  %7295 = load i32, ptr %152, align 4, !tbaa !5
  %7296 = call ptr @__errno_location() #12
  store i32 %7295, ptr %7296, align 4, !tbaa !5
  %7297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7298 = load i32, ptr @test_count, align 4, !tbaa !5
  %7299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7300 = load i32, ptr %7299, align 4, !tbaa !5
  %7301 = call ptr @s2n_strerror(i32 noundef %7300, ptr noundef @.str.4)
  %7302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7303 = load i32, ptr %7302, align 4, !tbaa !5
  %7304 = call ptr @s2n_strerror_debug(i32 noundef %7303, ptr noundef @.str.4)
  %7305 = call ptr @__errno_location() #12
  %7306 = load i32, ptr %7305, align 4, !tbaa !5
  %7307 = call ptr @strerror(i32 noundef %7306) #11
  %7308 = call ptr @__errno_location() #12
  %7309 = load i32, ptr %7308, align 4, !tbaa !5
  %7310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7297, ptr noundef @.str.5, i32 noundef %7298, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 294, ptr noundef %7301, ptr noundef %7304, ptr noundef %7307, i32 noundef %7309) #11
  br label %7311

7311:                                             ; preds = %7294, %7277
  call void @llvm.lifetime.end.p0(i64 4, ptr %152) #11
  br label %7312

7312:                                             ; preds = %7311
  br label %7313

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

7314:                                             ; No predecessors!
  br label %7315

7315:                                             ; preds = %7314
  br label %7316

7316:                                             ; preds = %7315, %7257
  br label %7317

7317:                                             ; preds = %7316
  br label %7318

7318:                                             ; preds = %7317
  br label %7319

7319:                                             ; preds = %7318
  %7320 = load i32, ptr @test_count, align 4, !tbaa !5
  %7321 = add nsw i32 %7320, 1
  store i32 %7321, ptr @test_count, align 4, !tbaa !5
  %7322 = load i32, ptr %145, align 4, !tbaa !5
  %7323 = icmp eq i32 %7322, 0
  br i1 %7323, label %7377, label %7324

7324:                                             ; preds = %7319
  br label %7325

7325:                                             ; preds = %7324
  br label %7326

7326:                                             ; preds = %7325
  call void @llvm.lifetime.start.p0(i64 4, ptr %153) #11
  %7327 = call ptr @__errno_location() #12
  %7328 = load i32, ptr %7327, align 4, !tbaa !5
  store i32 %7328, ptr %153, align 4, !tbaa !5
  %7329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7330 = call i32 @s2n_print_stacktrace(ptr noundef %7329)
  %7331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7332 = trunc i8 %7331 to i1
  br i1 %7332, label %7333, label %7355

7333:                                             ; preds = %7326
  %7334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7335 = call i32 @fileno(ptr noundef %7334) #11
  %7336 = call i32 @isatty(i32 noundef %7335) #11
  %7337 = icmp ne i32 %7336, 0
  br i1 %7337, label %7338, label %7355

7338:                                             ; preds = %7333
  %7339 = load i32, ptr %153, align 4, !tbaa !5
  %7340 = call ptr @__errno_location() #12
  store i32 %7339, ptr %7340, align 4, !tbaa !5
  %7341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7342 = load i32, ptr @test_count, align 4, !tbaa !5
  %7343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7344 = load i32, ptr %7343, align 4, !tbaa !5
  %7345 = call ptr @s2n_strerror(i32 noundef %7344, ptr noundef @.str.4)
  %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_debug(i32 noundef %7347, ptr noundef @.str.4)
  %7349 = call ptr @__errno_location() #12
  %7350 = load i32, ptr %7349, align 4, !tbaa !5
  %7351 = call ptr @strerror(i32 noundef %7350) #11
  %7352 = call ptr @__errno_location() #12
  %7353 = load i32, ptr %7352, align 4, !tbaa !5
  %7354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7341, ptr noundef @.str.2, i32 noundef %7342, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7345, ptr noundef %7348, ptr noundef %7351, i32 noundef %7353) #11
  br label %7372

7355:                                             ; preds = %7333, %7326
  %7356 = load i32, ptr %153, align 4, !tbaa !5
  %7357 = call ptr @__errno_location() #12
  store i32 %7356, ptr %7357, align 4, !tbaa !5
  %7358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7359 = load i32, ptr @test_count, align 4, !tbaa !5
  %7360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7361 = load i32, ptr %7360, align 4, !tbaa !5
  %7362 = call ptr @s2n_strerror(i32 noundef %7361, ptr noundef @.str.4)
  %7363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7364 = load i32, ptr %7363, align 4, !tbaa !5
  %7365 = call ptr @s2n_strerror_debug(i32 noundef %7364, ptr noundef @.str.4)
  %7366 = call ptr @__errno_location() #12
  %7367 = load i32, ptr %7366, align 4, !tbaa !5
  %7368 = call ptr @strerror(i32 noundef %7367) #11
  %7369 = call ptr @__errno_location() #12
  %7370 = load i32, ptr %7369, align 4, !tbaa !5
  %7371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7358, ptr noundef @.str.5, i32 noundef %7359, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 295, ptr noundef %7362, ptr noundef %7365, ptr noundef %7368, i32 noundef %7370) #11
  br label %7372

7372:                                             ; preds = %7355, %7338
  call void @llvm.lifetime.end.p0(i64 4, ptr %153) #11
  br label %7373

7373:                                             ; preds = %7372
  br label %7374

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

7375:                                             ; No predecessors!
  br label %7376

7376:                                             ; preds = %7375
  br label %7377

7377:                                             ; preds = %7376, %7319
  br label %7378

7378:                                             ; preds = %7377
  br label %7379

7379:                                             ; preds = %7378
  br label %7380

7380:                                             ; preds = %7379
  br label %7381

7381:                                             ; preds = %7380
  br label %7382

7382:                                             ; preds = %7381
  %7383 = load i32, ptr @test_count, align 4, !tbaa !5
  %7384 = add nsw i32 %7383, 1
  store i32 %7384, ptr @test_count, align 4, !tbaa !5
  %7385 = load ptr, ptr %137, align 8, !tbaa !9
  %7386 = call i32 @s2n_recv_early_data(ptr noundef %7385, ptr noundef null, i64 noundef 0, ptr noundef %144, ptr noundef %143)
  %7387 = icmp eq i32 %7386, -1
  br i1 %7387, label %7441, label %7388

7388:                                             ; preds = %7382
  br label %7389

7389:                                             ; preds = %7388
  br label %7390

7390:                                             ; preds = %7389
  call void @llvm.lifetime.start.p0(i64 4, ptr %154) #11
  %7391 = call ptr @__errno_location() #12
  %7392 = load i32, ptr %7391, align 4, !tbaa !5
  store i32 %7392, ptr %154, align 4, !tbaa !5
  %7393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7394 = call i32 @s2n_print_stacktrace(ptr noundef %7393)
  %7395 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7396 = trunc i8 %7395 to i1
  br i1 %7396, label %7397, label %7419

7397:                                             ; preds = %7390
  %7398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7399 = call i32 @fileno(ptr noundef %7398) #11
  %7400 = call i32 @isatty(i32 noundef %7399) #11
  %7401 = icmp ne i32 %7400, 0
  br i1 %7401, label %7402, label %7419

7402:                                             ; preds = %7397
  %7403 = load i32, ptr %154, align 4, !tbaa !5
  %7404 = call ptr @__errno_location() #12
  store i32 %7403, ptr %7404, align 4, !tbaa !5
  %7405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7406 = load i32, ptr @test_count, align 4, !tbaa !5
  %7407 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7408 = load i32, ptr %7407, align 4, !tbaa !5
  %7409 = call ptr @s2n_strerror(i32 noundef %7408, ptr noundef @.str.4)
  %7410 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7411 = load i32, ptr %7410, align 4, !tbaa !5
  %7412 = call ptr @s2n_strerror_debug(i32 noundef %7411, ptr noundef @.str.4)
  %7413 = call ptr @__errno_location() #12
  %7414 = load i32, ptr %7413, align 4, !tbaa !5
  %7415 = call ptr @strerror(i32 noundef %7414) #11
  %7416 = call ptr @__errno_location() #12
  %7417 = load i32, ptr %7416, align 4, !tbaa !5
  %7418 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7405, ptr noundef @.str.2, i32 noundef %7406, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 297, ptr noundef %7409, ptr noundef %7412, ptr noundef %7415, i32 noundef %7417) #11
  br label %7436

7419:                                             ; preds = %7397, %7390
  %7420 = load i32, ptr %154, align 4, !tbaa !5
  %7421 = call ptr @__errno_location() #12
  store i32 %7420, ptr %7421, align 4, !tbaa !5
  %7422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7423 = load i32, ptr @test_count, align 4, !tbaa !5
  %7424 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7425 = load i32, ptr %7424, align 4, !tbaa !5
  %7426 = call ptr @s2n_strerror(i32 noundef %7425, ptr noundef @.str.4)
  %7427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7428 = load i32, ptr %7427, align 4, !tbaa !5
  %7429 = call ptr @s2n_strerror_debug(i32 noundef %7428, ptr noundef @.str.4)
  %7430 = call ptr @__errno_location() #12
  %7431 = load i32, ptr %7430, align 4, !tbaa !5
  %7432 = call ptr @strerror(i32 noundef %7431) #11
  %7433 = call ptr @__errno_location() #12
  %7434 = load i32, ptr %7433, align 4, !tbaa !5
  %7435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7422, ptr noundef @.str.5, i32 noundef %7423, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 297, ptr noundef %7426, ptr noundef %7429, ptr noundef %7432, i32 noundef %7434) #11
  br label %7436

7436:                                             ; preds = %7419, %7402
  call void @llvm.lifetime.end.p0(i64 4, ptr %154) #11
  br label %7437

7437:                                             ; preds = %7436
  br label %7438

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

7439:                                             ; No predecessors!
  br label %7440

7440:                                             ; preds = %7439
  br label %7441

7441:                                             ; preds = %7440, %7382
  br label %7442

7442:                                             ; preds = %7441
  br label %7443

7443:                                             ; preds = %7442
  br label %7444

7444:                                             ; preds = %7443
  %7445 = load i32, ptr @test_count, align 4, !tbaa !5
  %7446 = add nsw i32 %7445, 1
  store i32 %7446, ptr @test_count, align 4, !tbaa !5
  %7447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7448 = load i32, ptr %7447, align 4, !tbaa !5
  %7449 = icmp eq i32 %7448, 201326592
  br i1 %7449, label %7503, label %7450

7450:                                             ; preds = %7444
  br label %7451

7451:                                             ; preds = %7450
  br label %7452

7452:                                             ; preds = %7451
  call void @llvm.lifetime.start.p0(i64 4, ptr %155) #11
  %7453 = call ptr @__errno_location() #12
  %7454 = load i32, ptr %7453, align 4, !tbaa !5
  store i32 %7454, ptr %155, align 4, !tbaa !5
  %7455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7456 = call i32 @s2n_print_stacktrace(ptr noundef %7455)
  %7457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7458 = trunc i8 %7457 to i1
  br i1 %7458, label %7459, label %7481

7459:                                             ; preds = %7452
  %7460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7461 = call i32 @fileno(ptr noundef %7460) #11
  %7462 = call i32 @isatty(i32 noundef %7461) #11
  %7463 = icmp ne i32 %7462, 0
  br i1 %7463, label %7464, label %7481

7464:                                             ; preds = %7459
  %7465 = load i32, ptr %155, align 4, !tbaa !5
  %7466 = call ptr @__errno_location() #12
  store i32 %7465, ptr %7466, align 4, !tbaa !5
  %7467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7468 = load i32, ptr @test_count, align 4, !tbaa !5
  %7469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7470 = load i32, ptr %7469, align 4, !tbaa !5
  %7471 = call ptr @s2n_strerror(i32 noundef %7470, ptr noundef @.str.4)
  %7472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7473 = load i32, ptr %7472, align 4, !tbaa !5
  %7474 = call ptr @s2n_strerror_debug(i32 noundef %7473, ptr noundef @.str.4)
  %7475 = call ptr @__errno_location() #12
  %7476 = load i32, ptr %7475, align 4, !tbaa !5
  %7477 = call ptr @strerror(i32 noundef %7476) #11
  %7478 = call ptr @__errno_location() #12
  %7479 = load i32, ptr %7478, align 4, !tbaa !5
  %7480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7467, ptr noundef @.str.2, i32 noundef %7468, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 297, ptr noundef %7471, ptr noundef %7474, ptr noundef %7477, i32 noundef %7479) #11
  br label %7498

7481:                                             ; preds = %7459, %7452
  %7482 = load i32, ptr %155, align 4, !tbaa !5
  %7483 = call ptr @__errno_location() #12
  store i32 %7482, ptr %7483, align 4, !tbaa !5
  %7484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7485 = load i32, ptr @test_count, align 4, !tbaa !5
  %7486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7487 = load i32, ptr %7486, align 4, !tbaa !5
  %7488 = call ptr @s2n_strerror(i32 noundef %7487, ptr noundef @.str.4)
  %7489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7490 = load i32, ptr %7489, align 4, !tbaa !5
  %7491 = call ptr @s2n_strerror_debug(i32 noundef %7490, ptr noundef @.str.4)
  %7492 = call ptr @__errno_location() #12
  %7493 = load i32, ptr %7492, align 4, !tbaa !5
  %7494 = call ptr @strerror(i32 noundef %7493) #11
  %7495 = call ptr @__errno_location() #12
  %7496 = load i32, ptr %7495, align 4, !tbaa !5
  %7497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7484, ptr noundef @.str.5, i32 noundef %7485, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 297, ptr noundef %7488, ptr noundef %7491, ptr noundef %7494, i32 noundef %7496) #11
  br label %7498

7498:                                             ; preds = %7481, %7464
  call void @llvm.lifetime.end.p0(i64 4, ptr %155) #11
  br label %7499

7499:                                             ; preds = %7498
  br label %7500

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

7501:                                             ; No predecessors!
  br label %7502

7502:                                             ; preds = %7501
  br label %7503

7503:                                             ; preds = %7502, %7444
  br label %7504

7504:                                             ; preds = %7503
  br label %7505

7505:                                             ; preds = %7504
  br label %7506

7506:                                             ; preds = %7505
  %7507 = load i32, ptr @test_count, align 4, !tbaa !5
  %7508 = add nsw i32 %7507, 1
  store i32 %7508, ptr @test_count, align 4, !tbaa !5
  %7509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7510 = load i32, ptr %7509, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror_debug(i32 noundef %7510, ptr noundef @.str.4)
  %7512 = icmp eq ptr %7511, null
  br i1 %7512, label %7513, label %7566

7513:                                             ; preds = %7506
  br label %7514

7514:                                             ; preds = %7513
  br label %7515

7515:                                             ; preds = %7514
  call void @llvm.lifetime.start.p0(i64 4, ptr %156) #11
  %7516 = call ptr @__errno_location() #12
  %7517 = load i32, ptr %7516, align 4, !tbaa !5
  store i32 %7517, ptr %156, align 4, !tbaa !5
  %7518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7519 = call i32 @s2n_print_stacktrace(ptr noundef %7518)
  %7520 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7521 = trunc i8 %7520 to i1
  br i1 %7521, label %7522, label %7544

7522:                                             ; preds = %7515
  %7523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7524 = call i32 @fileno(ptr noundef %7523) #11
  %7525 = call i32 @isatty(i32 noundef %7524) #11
  %7526 = icmp ne i32 %7525, 0
  br i1 %7526, label %7527, label %7544

7527:                                             ; preds = %7522
  %7528 = load i32, ptr %156, align 4, !tbaa !5
  %7529 = call ptr @__errno_location() #12
  store i32 %7528, ptr %7529, align 4, !tbaa !5
  %7530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7531 = load i32, ptr @test_count, align 4, !tbaa !5
  %7532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7533 = load i32, ptr %7532, align 4, !tbaa !5
  %7534 = call ptr @s2n_strerror(i32 noundef %7533, ptr noundef @.str.4)
  %7535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7536 = load i32, ptr %7535, align 4, !tbaa !5
  %7537 = call ptr @s2n_strerror_debug(i32 noundef %7536, ptr noundef @.str.4)
  %7538 = call ptr @__errno_location() #12
  %7539 = load i32, ptr %7538, align 4, !tbaa !5
  %7540 = call ptr @strerror(i32 noundef %7539) #11
  %7541 = call ptr @__errno_location() #12
  %7542 = load i32, ptr %7541, align 4, !tbaa !5
  %7543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7530, ptr noundef @.str.2, i32 noundef %7531, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 297, ptr noundef %7534, ptr noundef %7537, ptr noundef %7540, i32 noundef %7542) #11
  br label %7561

7544:                                             ; preds = %7522, %7515
  %7545 = load i32, ptr %156, align 4, !tbaa !5
  %7546 = call ptr @__errno_location() #12
  store i32 %7545, ptr %7546, align 4, !tbaa !5
  %7547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7548 = load i32, ptr @test_count, align 4, !tbaa !5
  %7549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7550 = load i32, ptr %7549, align 4, !tbaa !5
  %7551 = call ptr @s2n_strerror(i32 noundef %7550, ptr noundef @.str.4)
  %7552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7553 = load i32, ptr %7552, align 4, !tbaa !5
  %7554 = call ptr @s2n_strerror_debug(i32 noundef %7553, ptr noundef @.str.4)
  %7555 = call ptr @__errno_location() #12
  %7556 = load i32, ptr %7555, align 4, !tbaa !5
  %7557 = call ptr @strerror(i32 noundef %7556) #11
  %7558 = call ptr @__errno_location() #12
  %7559 = load i32, ptr %7558, align 4, !tbaa !5
  %7560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7547, ptr noundef @.str.5, i32 noundef %7548, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 297, ptr noundef %7551, ptr noundef %7554, ptr noundef %7557, i32 noundef %7559) #11
  br label %7561

7561:                                             ; preds = %7544, %7527
  call void @llvm.lifetime.end.p0(i64 4, ptr %156) #11
  br label %7562

7562:                                             ; preds = %7561
  br label %7563

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

7564:                                             ; No predecessors!
  br label %7565

7565:                                             ; preds = %7564
  br label %7566

7566:                                             ; preds = %7565, %7506
  br label %7567

7567:                                             ; preds = %7566
  br label %7568

7568:                                             ; preds = %7567
  br label %7569

7569:                                             ; preds = %7568
  br label %7570

7570:                                             ; preds = %7569
  br label %7571

7571:                                             ; preds = %7570
  %7572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %7572, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %7573 = call ptr @__errno_location() #12
  store i32 0, ptr %7573, align 4, !tbaa !5
  br label %7574

7574:                                             ; preds = %7571
  br label %7575

7575:                                             ; preds = %7574
  br label %7576

7576:                                             ; preds = %7575
  br label %7577

7577:                                             ; preds = %7576
  br label %7578

7578:                                             ; preds = %7577
  %7579 = load i32, ptr @test_count, align 4, !tbaa !5
  %7580 = add nsw i32 %7579, 1
  store i32 %7580, ptr @test_count, align 4, !tbaa !5
  %7581 = load i32, ptr %143, align 4, !tbaa !5
  %7582 = icmp eq i32 %7581, 1
  br i1 %7582, label %7636, label %7583

7583:                                             ; preds = %7578
  br label %7584

7584:                                             ; preds = %7583
  br label %7585

7585:                                             ; preds = %7584
  call void @llvm.lifetime.start.p0(i64 4, ptr %157) #11
  %7586 = call ptr @__errno_location() #12
  %7587 = load i32, ptr %7586, align 4, !tbaa !5
  store i32 %7587, ptr %157, align 4, !tbaa !5
  %7588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7589 = call i32 @s2n_print_stacktrace(ptr noundef %7588)
  %7590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7591 = trunc i8 %7590 to i1
  br i1 %7591, label %7592, label %7614

7592:                                             ; preds = %7585
  %7593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7594 = call i32 @fileno(ptr noundef %7593) #11
  %7595 = call i32 @isatty(i32 noundef %7594) #11
  %7596 = icmp ne i32 %7595, 0
  br i1 %7596, label %7597, label %7614

7597:                                             ; preds = %7592
  %7598 = load i32, ptr %157, align 4, !tbaa !5
  %7599 = call ptr @__errno_location() #12
  store i32 %7598, ptr %7599, align 4, !tbaa !5
  %7600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7601 = load i32, ptr @test_count, align 4, !tbaa !5
  %7602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7603 = load i32, ptr %7602, align 4, !tbaa !5
  %7604 = call ptr @s2n_strerror(i32 noundef %7603, ptr noundef @.str.4)
  %7605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7606 = load i32, ptr %7605, align 4, !tbaa !5
  %7607 = call ptr @s2n_strerror_debug(i32 noundef %7606, ptr noundef @.str.4)
  %7608 = call ptr @__errno_location() #12
  %7609 = load i32, ptr %7608, align 4, !tbaa !5
  %7610 = call ptr @strerror(i32 noundef %7609) #11
  %7611 = call ptr @__errno_location() #12
  %7612 = load i32, ptr %7611, align 4, !tbaa !5
  %7613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7600, ptr noundef @.str.2, i32 noundef %7601, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7604, ptr noundef %7607, ptr noundef %7610, i32 noundef %7612) #11
  br label %7631

7614:                                             ; preds = %7592, %7585
  %7615 = load i32, ptr %157, align 4, !tbaa !5
  %7616 = call ptr @__errno_location() #12
  store i32 %7615, ptr %7616, align 4, !tbaa !5
  %7617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7618 = load i32, ptr @test_count, align 4, !tbaa !5
  %7619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7620 = load i32, ptr %7619, align 4, !tbaa !5
  %7621 = call ptr @s2n_strerror(i32 noundef %7620, ptr noundef @.str.4)
  %7622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7623 = load i32, ptr %7622, align 4, !tbaa !5
  %7624 = call ptr @s2n_strerror_debug(i32 noundef %7623, ptr noundef @.str.4)
  %7625 = call ptr @__errno_location() #12
  %7626 = load i32, ptr %7625, align 4, !tbaa !5
  %7627 = call ptr @strerror(i32 noundef %7626) #11
  %7628 = call ptr @__errno_location() #12
  %7629 = load i32, ptr %7628, align 4, !tbaa !5
  %7630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7617, ptr noundef @.str.5, i32 noundef %7618, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7621, ptr noundef %7624, ptr noundef %7627, i32 noundef %7629) #11
  br label %7631

7631:                                             ; preds = %7614, %7597
  call void @llvm.lifetime.end.p0(i64 4, ptr %157) #11
  br label %7632

7632:                                             ; preds = %7631
  br label %7633

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

7634:                                             ; No predecessors!
  br label %7635

7635:                                             ; preds = %7634
  br label %7636

7636:                                             ; preds = %7635, %7578
  br label %7637

7637:                                             ; preds = %7636
  br label %7638

7638:                                             ; preds = %7637
  br label %7639

7639:                                             ; preds = %7638
  %7640 = load i32, ptr @test_count, align 4, !tbaa !5
  %7641 = add nsw i32 %7640, 1
  store i32 %7641, ptr @test_count, align 4, !tbaa !5
  %7642 = load ptr, ptr %137, align 8, !tbaa !9
  %7643 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7642)
  %7644 = icmp eq i32 %7643, 19
  br i1 %7644, label %7698, label %7645

7645:                                             ; preds = %7639
  br label %7646

7646:                                             ; preds = %7645
  br label %7647

7647:                                             ; preds = %7646
  call void @llvm.lifetime.start.p0(i64 4, ptr %158) #11
  %7648 = call ptr @__errno_location() #12
  %7649 = load i32, ptr %7648, align 4, !tbaa !5
  store i32 %7649, ptr %158, align 4, !tbaa !5
  %7650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7651 = call i32 @s2n_print_stacktrace(ptr noundef %7650)
  %7652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7653 = trunc i8 %7652 to i1
  br i1 %7653, label %7654, label %7676

7654:                                             ; preds = %7647
  %7655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7656 = call i32 @fileno(ptr noundef %7655) #11
  %7657 = call i32 @isatty(i32 noundef %7656) #11
  %7658 = icmp ne i32 %7657, 0
  br i1 %7658, label %7659, label %7676

7659:                                             ; preds = %7654
  %7660 = load i32, ptr %158, align 4, !tbaa !5
  %7661 = call ptr @__errno_location() #12
  store i32 %7660, ptr %7661, align 4, !tbaa !5
  %7662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7663 = load i32, ptr @test_count, align 4, !tbaa !5
  %7664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7665 = load i32, ptr %7664, align 4, !tbaa !5
  %7666 = call ptr @s2n_strerror(i32 noundef %7665, ptr noundef @.str.4)
  %7667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7668 = load i32, ptr %7667, align 4, !tbaa !5
  %7669 = call ptr @s2n_strerror_debug(i32 noundef %7668, ptr noundef @.str.4)
  %7670 = call ptr @__errno_location() #12
  %7671 = load i32, ptr %7670, align 4, !tbaa !5
  %7672 = call ptr @strerror(i32 noundef %7671) #11
  %7673 = call ptr @__errno_location() #12
  %7674 = load i32, ptr %7673, align 4, !tbaa !5
  %7675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7662, ptr noundef @.str.2, i32 noundef %7663, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7666, ptr noundef %7669, ptr noundef %7672, i32 noundef %7674) #11
  br label %7693

7676:                                             ; preds = %7654, %7647
  %7677 = load i32, ptr %158, align 4, !tbaa !5
  %7678 = call ptr @__errno_location() #12
  store i32 %7677, ptr %7678, align 4, !tbaa !5
  %7679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7680 = load i32, ptr @test_count, align 4, !tbaa !5
  %7681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7682 = load i32, ptr %7681, align 4, !tbaa !5
  %7683 = call ptr @s2n_strerror(i32 noundef %7682, ptr noundef @.str.4)
  %7684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7685 = load i32, ptr %7684, align 4, !tbaa !5
  %7686 = call ptr @s2n_strerror_debug(i32 noundef %7685, ptr noundef @.str.4)
  %7687 = call ptr @__errno_location() #12
  %7688 = load i32, ptr %7687, align 4, !tbaa !5
  %7689 = call ptr @strerror(i32 noundef %7688) #11
  %7690 = call ptr @__errno_location() #12
  %7691 = load i32, ptr %7690, align 4, !tbaa !5
  %7692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7679, ptr noundef @.str.5, i32 noundef %7680, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 298, ptr noundef %7683, ptr noundef %7686, ptr noundef %7689, i32 noundef %7691) #11
  br label %7693

7693:                                             ; preds = %7676, %7659
  call void @llvm.lifetime.end.p0(i64 4, ptr %158) #11
  br label %7694

7694:                                             ; preds = %7693
  br label %7695

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

7696:                                             ; No predecessors!
  br label %7697

7697:                                             ; preds = %7696
  br label %7698

7698:                                             ; preds = %7697, %7639
  br label %7699

7699:                                             ; preds = %7698
  br label %7700

7700:                                             ; preds = %7699
  br label %7701

7701:                                             ; preds = %7700
  %7702 = load i32, ptr @test_count, align 4, !tbaa !5
  %7703 = add nsw i32 %7702, 1
  store i32 %7703, ptr @test_count, align 4, !tbaa !5
  %7704 = load i64, ptr %144, align 8, !tbaa !42
  %7705 = icmp eq i64 %7704, 0
  br i1 %7705, label %7759, label %7706

7706:                                             ; preds = %7701
  br label %7707

7707:                                             ; preds = %7706
  br label %7708

7708:                                             ; preds = %7707
  call void @llvm.lifetime.start.p0(i64 4, ptr %159) #11
  %7709 = call ptr @__errno_location() #12
  %7710 = load i32, ptr %7709, align 4, !tbaa !5
  store i32 %7710, ptr %159, align 4, !tbaa !5
  %7711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7712 = call i32 @s2n_print_stacktrace(ptr noundef %7711)
  %7713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7714 = trunc i8 %7713 to i1
  br i1 %7714, label %7715, label %7737

7715:                                             ; preds = %7708
  %7716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7717 = call i32 @fileno(ptr noundef %7716) #11
  %7718 = call i32 @isatty(i32 noundef %7717) #11
  %7719 = icmp ne i32 %7718, 0
  br i1 %7719, label %7720, label %7737

7720:                                             ; preds = %7715
  %7721 = load i32, ptr %159, align 4, !tbaa !5
  %7722 = call ptr @__errno_location() #12
  store i32 %7721, ptr %7722, align 4, !tbaa !5
  %7723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7724 = load i32, ptr @test_count, align 4, !tbaa !5
  %7725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7726 = load i32, ptr %7725, align 4, !tbaa !5
  %7727 = call ptr @s2n_strerror(i32 noundef %7726, ptr noundef @.str.4)
  %7728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7729 = load i32, ptr %7728, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror_debug(i32 noundef %7729, ptr noundef @.str.4)
  %7731 = call ptr @__errno_location() #12
  %7732 = load i32, ptr %7731, align 4, !tbaa !5
  %7733 = call ptr @strerror(i32 noundef %7732) #11
  %7734 = call ptr @__errno_location() #12
  %7735 = load i32, ptr %7734, align 4, !tbaa !5
  %7736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7723, ptr noundef @.str.2, i32 noundef %7724, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7727, ptr noundef %7730, ptr noundef %7733, i32 noundef %7735) #11
  br label %7754

7737:                                             ; preds = %7715, %7708
  %7738 = load i32, ptr %159, align 4, !tbaa !5
  %7739 = call ptr @__errno_location() #12
  store i32 %7738, ptr %7739, align 4, !tbaa !5
  %7740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7741 = load i32, ptr @test_count, align 4, !tbaa !5
  %7742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7743 = load i32, ptr %7742, align 4, !tbaa !5
  %7744 = call ptr @s2n_strerror(i32 noundef %7743, ptr noundef @.str.4)
  %7745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7746 = load i32, ptr %7745, align 4, !tbaa !5
  %7747 = call ptr @s2n_strerror_debug(i32 noundef %7746, ptr noundef @.str.4)
  %7748 = call ptr @__errno_location() #12
  %7749 = load i32, ptr %7748, align 4, !tbaa !5
  %7750 = call ptr @strerror(i32 noundef %7749) #11
  %7751 = call ptr @__errno_location() #12
  %7752 = load i32, ptr %7751, align 4, !tbaa !5
  %7753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7740, ptr noundef @.str.5, i32 noundef %7741, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 299, ptr noundef %7744, ptr noundef %7747, ptr noundef %7750, i32 noundef %7752) #11
  br label %7754

7754:                                             ; preds = %7737, %7720
  call void @llvm.lifetime.end.p0(i64 4, ptr %159) #11
  br label %7755

7755:                                             ; preds = %7754
  br label %7756

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

7757:                                             ; No predecessors!
  br label %7758

7758:                                             ; preds = %7757
  br label %7759

7759:                                             ; preds = %7758, %7701
  br label %7760

7760:                                             ; preds = %7759
  br label %7761

7761:                                             ; preds = %7760
  br label %7762

7762:                                             ; preds = %7761
  %7763 = load i32, ptr @test_count, align 4, !tbaa !5
  %7764 = add nsw i32 %7763, 1
  store i32 %7764, ptr @test_count, align 4, !tbaa !5
  %7765 = load ptr, ptr %137, align 8, !tbaa !9
  %7766 = call i32 @s2n_connection_get_early_data_status(ptr noundef %7765, ptr noundef %145)
  %7767 = icmp eq i32 %7766, -1
  br i1 %7767, label %7768, label %7821

7768:                                             ; preds = %7762
  br label %7769

7769:                                             ; preds = %7768
  br label %7770

7770:                                             ; preds = %7769
  call void @llvm.lifetime.start.p0(i64 4, ptr %160) #11
  %7771 = call ptr @__errno_location() #12
  %7772 = load i32, ptr %7771, align 4, !tbaa !5
  store i32 %7772, ptr %160, align 4, !tbaa !5
  %7773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7774 = call i32 @s2n_print_stacktrace(ptr noundef %7773)
  %7775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7776 = trunc i8 %7775 to i1
  br i1 %7776, label %7777, label %7799

7777:                                             ; preds = %7770
  %7778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7779 = call i32 @fileno(ptr noundef %7778) #11
  %7780 = call i32 @isatty(i32 noundef %7779) #11
  %7781 = icmp ne i32 %7780, 0
  br i1 %7781, label %7782, label %7799

7782:                                             ; preds = %7777
  %7783 = load i32, ptr %160, align 4, !tbaa !5
  %7784 = call ptr @__errno_location() #12
  store i32 %7783, ptr %7784, align 4, !tbaa !5
  %7785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7786 = load i32, ptr @test_count, align 4, !tbaa !5
  %7787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7788 = load i32, ptr %7787, align 4, !tbaa !5
  %7789 = call ptr @s2n_strerror(i32 noundef %7788, ptr noundef @.str.4)
  %7790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7791 = load i32, ptr %7790, align 4, !tbaa !5
  %7792 = call ptr @s2n_strerror_debug(i32 noundef %7791, ptr noundef @.str.4)
  %7793 = call ptr @__errno_location() #12
  %7794 = load i32, ptr %7793, align 4, !tbaa !5
  %7795 = call ptr @strerror(i32 noundef %7794) #11
  %7796 = call ptr @__errno_location() #12
  %7797 = load i32, ptr %7796, align 4, !tbaa !5
  %7798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7785, ptr noundef @.str.2, i32 noundef %7786, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 301, ptr noundef %7789, ptr noundef %7792, ptr noundef %7795, i32 noundef %7797) #11
  br label %7816

7799:                                             ; preds = %7777, %7770
  %7800 = load i32, ptr %160, align 4, !tbaa !5
  %7801 = call ptr @__errno_location() #12
  store i32 %7800, ptr %7801, align 4, !tbaa !5
  %7802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7803 = load i32, ptr @test_count, align 4, !tbaa !5
  %7804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7805 = load i32, ptr %7804, align 4, !tbaa !5
  %7806 = call ptr @s2n_strerror(i32 noundef %7805, ptr noundef @.str.4)
  %7807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7808 = load i32, ptr %7807, align 4, !tbaa !5
  %7809 = call ptr @s2n_strerror_debug(i32 noundef %7808, ptr noundef @.str.4)
  %7810 = call ptr @__errno_location() #12
  %7811 = load i32, ptr %7810, align 4, !tbaa !5
  %7812 = call ptr @strerror(i32 noundef %7811) #11
  %7813 = call ptr @__errno_location() #12
  %7814 = load i32, ptr %7813, align 4, !tbaa !5
  %7815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7802, ptr noundef @.str.5, i32 noundef %7803, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 301, ptr noundef %7806, ptr noundef %7809, ptr noundef %7812, i32 noundef %7814) #11
  br label %7816

7816:                                             ; preds = %7799, %7782
  call void @llvm.lifetime.end.p0(i64 4, ptr %160) #11
  br label %7817

7817:                                             ; preds = %7816
  br label %7818

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

7819:                                             ; No predecessors!
  br label %7820

7820:                                             ; preds = %7819
  br label %7821

7821:                                             ; preds = %7820, %7762
  br label %7822

7822:                                             ; preds = %7821
  br label %7823

7823:                                             ; preds = %7822
  br label %7824

7824:                                             ; preds = %7823
  %7825 = load i32, ptr @test_count, align 4, !tbaa !5
  %7826 = add nsw i32 %7825, 1
  store i32 %7826, ptr @test_count, align 4, !tbaa !5
  %7827 = load i32, ptr %145, align 4, !tbaa !5
  %7828 = icmp eq i32 %7827, 0
  br i1 %7828, label %7882, label %7829

7829:                                             ; preds = %7824
  br label %7830

7830:                                             ; preds = %7829
  br label %7831

7831:                                             ; preds = %7830
  call void @llvm.lifetime.start.p0(i64 4, ptr %161) #11
  %7832 = call ptr @__errno_location() #12
  %7833 = load i32, ptr %7832, align 4, !tbaa !5
  store i32 %7833, ptr %161, align 4, !tbaa !5
  %7834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7835 = call i32 @s2n_print_stacktrace(ptr noundef %7834)
  %7836 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7837 = trunc i8 %7836 to i1
  br i1 %7837, label %7838, label %7860

7838:                                             ; preds = %7831
  %7839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7840 = call i32 @fileno(ptr noundef %7839) #11
  %7841 = call i32 @isatty(i32 noundef %7840) #11
  %7842 = icmp ne i32 %7841, 0
  br i1 %7842, label %7843, label %7860

7843:                                             ; preds = %7838
  %7844 = load i32, ptr %161, align 4, !tbaa !5
  %7845 = call ptr @__errno_location() #12
  store i32 %7844, ptr %7845, align 4, !tbaa !5
  %7846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7847 = load i32, ptr @test_count, align 4, !tbaa !5
  %7848 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7849 = load i32, ptr %7848, align 4, !tbaa !5
  %7850 = call ptr @s2n_strerror(i32 noundef %7849, ptr noundef @.str.4)
  %7851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7852 = load i32, ptr %7851, align 4, !tbaa !5
  %7853 = call ptr @s2n_strerror_debug(i32 noundef %7852, ptr noundef @.str.4)
  %7854 = call ptr @__errno_location() #12
  %7855 = load i32, ptr %7854, align 4, !tbaa !5
  %7856 = call ptr @strerror(i32 noundef %7855) #11
  %7857 = call ptr @__errno_location() #12
  %7858 = load i32, ptr %7857, align 4, !tbaa !5
  %7859 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7846, ptr noundef @.str.2, i32 noundef %7847, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 302, ptr noundef %7850, ptr noundef %7853, ptr noundef %7856, i32 noundef %7858) #11
  br label %7877

7860:                                             ; preds = %7838, %7831
  %7861 = load i32, ptr %161, align 4, !tbaa !5
  %7862 = call ptr @__errno_location() #12
  store i32 %7861, ptr %7862, align 4, !tbaa !5
  %7863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7864 = load i32, ptr @test_count, align 4, !tbaa !5
  %7865 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7866 = load i32, ptr %7865, align 4, !tbaa !5
  %7867 = call ptr @s2n_strerror(i32 noundef %7866, ptr noundef @.str.4)
  %7868 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7869 = load i32, ptr %7868, align 4, !tbaa !5
  %7870 = call ptr @s2n_strerror_debug(i32 noundef %7869, ptr noundef @.str.4)
  %7871 = call ptr @__errno_location() #12
  %7872 = load i32, ptr %7871, align 4, !tbaa !5
  %7873 = call ptr @strerror(i32 noundef %7872) #11
  %7874 = call ptr @__errno_location() #12
  %7875 = load i32, ptr %7874, align 4, !tbaa !5
  %7876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7863, ptr noundef @.str.5, i32 noundef %7864, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 302, ptr noundef %7867, ptr noundef %7870, ptr noundef %7873, i32 noundef %7875) #11
  br label %7877

7877:                                             ; preds = %7860, %7843
  call void @llvm.lifetime.end.p0(i64 4, ptr %161) #11
  br label %7878

7878:                                             ; preds = %7877
  br label %7879

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

7880:                                             ; No predecessors!
  br label %7881

7881:                                             ; preds = %7880
  br label %7882

7882:                                             ; preds = %7881, %7824
  br label %7883

7883:                                             ; preds = %7882
  br label %7884

7884:                                             ; preds = %7883
  br label %7885

7885:                                             ; preds = %7884
  %7886 = load i32, ptr @test_count, align 4, !tbaa !5
  %7887 = add nsw i32 %7886, 1
  store i32 %7887, ptr @test_count, align 4, !tbaa !5
  %7888 = load ptr, ptr %137, align 8, !tbaa !9
  %7889 = load ptr, ptr %136, align 8, !tbaa !9
  %7890 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7888, ptr noundef %7889)
  %7891 = icmp eq i32 %7890, -1
  br i1 %7891, label %7892, label %7945

7892:                                             ; preds = %7885
  br label %7893

7893:                                             ; preds = %7892
  br label %7894

7894:                                             ; preds = %7893
  call void @llvm.lifetime.start.p0(i64 4, ptr %162) #11
  %7895 = call ptr @__errno_location() #12
  %7896 = load i32, ptr %7895, align 4, !tbaa !5
  store i32 %7896, ptr %162, align 4, !tbaa !5
  %7897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7898 = call i32 @s2n_print_stacktrace(ptr noundef %7897)
  %7899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7900 = trunc i8 %7899 to i1
  br i1 %7900, label %7901, label %7923

7901:                                             ; preds = %7894
  %7902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7903 = call i32 @fileno(ptr noundef %7902) #11
  %7904 = call i32 @isatty(i32 noundef %7903) #11
  %7905 = icmp ne i32 %7904, 0
  br i1 %7905, label %7906, label %7923

7906:                                             ; preds = %7901
  %7907 = load i32, ptr %162, align 4, !tbaa !5
  %7908 = call ptr @__errno_location() #12
  store i32 %7907, ptr %7908, align 4, !tbaa !5
  %7909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7910 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7912, ptr noundef @.str.4)
  %7914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7915 = load i32, ptr %7914, align 4, !tbaa !5
  %7916 = call ptr @s2n_strerror_debug(i32 noundef %7915, ptr noundef @.str.4)
  %7917 = call ptr @__errno_location() #12
  %7918 = load i32, ptr %7917, align 4, !tbaa !5
  %7919 = call ptr @strerror(i32 noundef %7918) #11
  %7920 = call ptr @__errno_location() #12
  %7921 = load i32, ptr %7920, align 4, !tbaa !5
  %7922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7909, ptr noundef @.str.2, i32 noundef %7910, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7913, ptr noundef %7916, ptr noundef %7919, i32 noundef %7921) #11
  br label %7940

7923:                                             ; preds = %7901, %7894
  %7924 = load i32, ptr %162, align 4, !tbaa !5
  %7925 = call ptr @__errno_location() #12
  store i32 %7924, ptr %7925, align 4, !tbaa !5
  %7926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7927 = load i32, ptr @test_count, align 4, !tbaa !5
  %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(i32 noundef %7929, ptr noundef @.str.4)
  %7931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7932 = load i32, ptr %7931, align 4, !tbaa !5
  %7933 = call ptr @s2n_strerror_debug(i32 noundef %7932, ptr noundef @.str.4)
  %7934 = call ptr @__errno_location() #12
  %7935 = load i32, ptr %7934, align 4, !tbaa !5
  %7936 = call ptr @strerror(i32 noundef %7935) #11
  %7937 = call ptr @__errno_location() #12
  %7938 = load i32, ptr %7937, align 4, !tbaa !5
  %7939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7926, ptr noundef @.str.5, i32 noundef %7927, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 304, ptr noundef %7930, ptr noundef %7933, ptr noundef %7936, i32 noundef %7938) #11
  br label %7940

7940:                                             ; preds = %7923, %7906
  call void @llvm.lifetime.end.p0(i64 4, ptr %162) #11
  br label %7941

7941:                                             ; preds = %7940
  br label %7942

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

7943:                                             ; No predecessors!
  br label %7944

7944:                                             ; preds = %7943
  br label %7945

7945:                                             ; preds = %7944, %7885
  br label %7946

7946:                                             ; preds = %7945
  br label %7947

7947:                                             ; preds = %7946
  br label %7948

7948:                                             ; preds = %7947
  %7949 = load i32, ptr @test_count, align 4, !tbaa !5
  %7950 = add nsw i32 %7949, 1
  store i32 %7950, ptr @test_count, align 4, !tbaa !5
  %7951 = load ptr, ptr %136, align 8, !tbaa !9
  %7952 = call i32 @s2n_connection_free(ptr noundef %7951)
  %7953 = icmp eq i32 %7952, -1
  br i1 %7953, label %7954, label %8007

7954:                                             ; preds = %7948
  br label %7955

7955:                                             ; preds = %7954
  br label %7956

7956:                                             ; preds = %7955
  call void @llvm.lifetime.start.p0(i64 4, ptr %163) #11
  %7957 = call ptr @__errno_location() #12
  %7958 = load i32, ptr %7957, align 4, !tbaa !5
  store i32 %7958, ptr %163, align 4, !tbaa !5
  %7959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7960 = call i32 @s2n_print_stacktrace(ptr noundef %7959)
  %7961 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7962 = trunc i8 %7961 to i1
  br i1 %7962, label %7963, label %7985

7963:                                             ; preds = %7956
  %7964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7965 = call i32 @fileno(ptr noundef %7964) #11
  %7966 = call i32 @isatty(i32 noundef %7965) #11
  %7967 = icmp ne i32 %7966, 0
  br i1 %7967, label %7968, label %7985

7968:                                             ; preds = %7963
  %7969 = load i32, ptr %163, align 4, !tbaa !5
  %7970 = call ptr @__errno_location() #12
  store i32 %7969, ptr %7970, align 4, !tbaa !5
  %7971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7972 = load i32, ptr @test_count, align 4, !tbaa !5
  %7973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7974 = load i32, ptr %7973, align 4, !tbaa !5
  %7975 = call ptr @s2n_strerror(i32 noundef %7974, ptr noundef @.str.4)
  %7976 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7977 = load i32, ptr %7976, align 4, !tbaa !5
  %7978 = call ptr @s2n_strerror_debug(i32 noundef %7977, ptr noundef @.str.4)
  %7979 = call ptr @__errno_location() #12
  %7980 = load i32, ptr %7979, align 4, !tbaa !5
  %7981 = call ptr @strerror(i32 noundef %7980) #11
  %7982 = call ptr @__errno_location() #12
  %7983 = load i32, ptr %7982, align 4, !tbaa !5
  %7984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7971, ptr noundef @.str.2, i32 noundef %7972, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 306, ptr noundef %7975, ptr noundef %7978, ptr noundef %7981, i32 noundef %7983) #11
  br label %8002

7985:                                             ; preds = %7963, %7956
  %7986 = load i32, ptr %163, align 4, !tbaa !5
  %7987 = call ptr @__errno_location() #12
  store i32 %7986, ptr %7987, align 4, !tbaa !5
  %7988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7989 = load i32, ptr @test_count, align 4, !tbaa !5
  %7990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7991 = load i32, ptr %7990, align 4, !tbaa !5
  %7992 = call ptr @s2n_strerror(i32 noundef %7991, ptr noundef @.str.4)
  %7993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %7994 = load i32, ptr %7993, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror_debug(i32 noundef %7994, ptr noundef @.str.4)
  %7996 = call ptr @__errno_location() #12
  %7997 = load i32, ptr %7996, align 4, !tbaa !5
  %7998 = call ptr @strerror(i32 noundef %7997) #11
  %7999 = call ptr @__errno_location() #12
  %8000 = load i32, ptr %7999, align 4, !tbaa !5
  %8001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7988, ptr noundef @.str.5, i32 noundef %7989, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 306, ptr noundef %7992, ptr noundef %7995, ptr noundef %7998, i32 noundef %8000) #11
  br label %8002

8002:                                             ; preds = %7985, %7968
  call void @llvm.lifetime.end.p0(i64 4, ptr %163) #11
  br label %8003

8003:                                             ; preds = %8002
  br label %8004

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

8005:                                             ; No predecessors!
  br label %8006

8006:                                             ; preds = %8005
  br label %8007

8007:                                             ; preds = %8006, %7948
  br label %8008

8008:                                             ; preds = %8007
  br label %8009

8009:                                             ; preds = %8008
  br label %8010

8010:                                             ; preds = %8009
  %8011 = load i32, ptr @test_count, align 4, !tbaa !5
  %8012 = add nsw i32 %8011, 1
  store i32 %8012, ptr @test_count, align 4, !tbaa !5
  %8013 = load ptr, ptr %137, align 8, !tbaa !9
  %8014 = call i32 @s2n_connection_free(ptr noundef %8013)
  %8015 = icmp eq i32 %8014, -1
  br i1 %8015, label %8016, label %8069

8016:                                             ; preds = %8010
  br label %8017

8017:                                             ; preds = %8016
  br label %8018

8018:                                             ; preds = %8017
  call void @llvm.lifetime.start.p0(i64 4, ptr %164) #11
  %8019 = call ptr @__errno_location() #12
  %8020 = load i32, ptr %8019, align 4, !tbaa !5
  store i32 %8020, ptr %164, align 4, !tbaa !5
  %8021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8022 = call i32 @s2n_print_stacktrace(ptr noundef %8021)
  %8023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8024 = trunc i8 %8023 to i1
  br i1 %8024, label %8025, label %8047

8025:                                             ; preds = %8018
  %8026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8027 = call i32 @fileno(ptr noundef %8026) #11
  %8028 = call i32 @isatty(i32 noundef %8027) #11
  %8029 = icmp ne i32 %8028, 0
  br i1 %8029, label %8030, label %8047

8030:                                             ; preds = %8025
  %8031 = load i32, ptr %164, align 4, !tbaa !5
  %8032 = call ptr @__errno_location() #12
  store i32 %8031, ptr %8032, align 4, !tbaa !5
  %8033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8034 = load i32, ptr @test_count, align 4, !tbaa !5
  %8035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8036 = load i32, ptr %8035, align 4, !tbaa !5
  %8037 = call ptr @s2n_strerror(i32 noundef %8036, ptr noundef @.str.4)
  %8038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8039 = load i32, ptr %8038, align 4, !tbaa !5
  %8040 = call ptr @s2n_strerror_debug(i32 noundef %8039, ptr noundef @.str.4)
  %8041 = call ptr @__errno_location() #12
  %8042 = load i32, ptr %8041, align 4, !tbaa !5
  %8043 = call ptr @strerror(i32 noundef %8042) #11
  %8044 = call ptr @__errno_location() #12
  %8045 = load i32, ptr %8044, align 4, !tbaa !5
  %8046 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8033, ptr noundef @.str.2, i32 noundef %8034, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 307, ptr noundef %8037, ptr noundef %8040, ptr noundef %8043, i32 noundef %8045) #11
  br label %8064

8047:                                             ; preds = %8025, %8018
  %8048 = load i32, ptr %164, 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.4)
  %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.4)
  %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.5, i32 noundef %8051, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 307, ptr noundef %8054, ptr noundef %8057, ptr noundef %8060, i32 noundef %8062) #11
  br label %8064

8064:                                             ; preds = %8047, %8030
  call void @llvm.lifetime.end.p0(i64 4, ptr %164) #11
  br label %8065

8065:                                             ; preds = %8064
  br label %8066

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

8067:                                             ; No predecessors!
  br label %8068

8068:                                             ; preds = %8067
  br label %8069

8069:                                             ; preds = %8068, %8010
  br label %8070

8070:                                             ; preds = %8069
  br label %8071

8071:                                             ; preds = %8070
  call void @llvm.lifetime.end.p0(i64 4, ptr %145) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %144) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %143) #11
  %8072 = call i32 @s2n_io_pair_close(ptr noundef %138)
  call void @llvm.lifetime.end.p0(i64 8, ptr %138) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %137) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %136) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %165) #11
  store ptr null, ptr %165, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %166) #11
  store ptr null, ptr %166, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %167) #11
  call void @llvm.memset.p0.i64(ptr align 4 %167, i8 0, i64 8, i1 false)
  br label %8073

8073:                                             ; preds = %8071
  %8074 = load i32, ptr @test_count, align 4, !tbaa !5
  %8075 = add nsw i32 %8074, 1
  store i32 %8075, ptr @test_count, align 4, !tbaa !5
  %8076 = call i32 @s2n_test_client_and_server_new(ptr noundef %165, ptr noundef %166, ptr noundef %167)
  %8077 = getelementptr inbounds %struct.s2n_result, ptr %168, i32 0, i32 0
  store i32 %8076, ptr %8077, align 4
  %8078 = getelementptr inbounds %struct.s2n_result, ptr %168, i32 0, i32 0
  %8079 = load i32, ptr %8078, align 4
  %8080 = call zeroext i1 @s2n_result_is_ok(i32 %8079)
  br i1 %8080, label %8134, label %8081

8081:                                             ; preds = %8073
  br label %8082

8082:                                             ; preds = %8081
  br label %8083

8083:                                             ; preds = %8082
  call void @llvm.lifetime.start.p0(i64 4, ptr %169) #11
  %8084 = call ptr @__errno_location() #12
  %8085 = load i32, ptr %8084, align 4, !tbaa !5
  store i32 %8085, ptr %169, align 4, !tbaa !5
  %8086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8087 = call i32 @s2n_print_stacktrace(ptr noundef %8086)
  %8088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8089 = trunc i8 %8088 to i1
  br i1 %8089, label %8090, label %8112

8090:                                             ; preds = %8083
  %8091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8092 = call i32 @fileno(ptr noundef %8091) #11
  %8093 = call i32 @isatty(i32 noundef %8092) #11
  %8094 = icmp ne i32 %8093, 0
  br i1 %8094, label %8095, label %8112

8095:                                             ; preds = %8090
  %8096 = load i32, ptr %169, align 4, !tbaa !5
  %8097 = call ptr @__errno_location() #12
  store i32 %8096, ptr %8097, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = load i32, ptr @test_count, align 4, !tbaa !5
  %8100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8101 = load i32, ptr %8100, align 4, !tbaa !5
  %8102 = call ptr @s2n_strerror(i32 noundef %8101, ptr noundef @.str.4)
  %8103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8104 = load i32, ptr %8103, align 4, !tbaa !5
  %8105 = call ptr @s2n_strerror_debug(i32 noundef %8104, ptr noundef @.str.4)
  %8106 = call ptr @__errno_location() #12
  %8107 = load i32, ptr %8106, align 4, !tbaa !5
  %8108 = call ptr @strerror(i32 noundef %8107) #11
  %8109 = call ptr @__errno_location() #12
  %8110 = load i32, ptr %8109, align 4, !tbaa !5
  %8111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8098, ptr noundef @.str.2, i32 noundef %8099, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8102, ptr noundef %8105, ptr noundef %8108, i32 noundef %8110) #11
  br label %8129

8112:                                             ; preds = %8090, %8083
  %8113 = load i32, ptr %169, align 4, !tbaa !5
  %8114 = call ptr @__errno_location() #12
  store i32 %8113, ptr %8114, align 4, !tbaa !5
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = load i32, ptr @test_count, align 4, !tbaa !5
  %8117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8118 = load i32, ptr %8117, align 4, !tbaa !5
  %8119 = call ptr @s2n_strerror(i32 noundef %8118, ptr noundef @.str.4)
  %8120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8121 = load i32, ptr %8120, align 4, !tbaa !5
  %8122 = call ptr @s2n_strerror_debug(i32 noundef %8121, ptr noundef @.str.4)
  %8123 = call ptr @__errno_location() #12
  %8124 = load i32, ptr %8123, align 4, !tbaa !5
  %8125 = call ptr @strerror(i32 noundef %8124) #11
  %8126 = call ptr @__errno_location() #12
  %8127 = load i32, ptr %8126, align 4, !tbaa !5
  %8128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8115, ptr noundef @.str.5, i32 noundef %8116, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 314, ptr noundef %8119, ptr noundef %8122, ptr noundef %8125, i32 noundef %8127) #11
  br label %8129

8129:                                             ; preds = %8112, %8095
  call void @llvm.lifetime.end.p0(i64 4, ptr %169) #11
  br label %8130

8130:                                             ; preds = %8129
  br label %8131

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

8132:                                             ; No predecessors!
  br label %8133

8133:                                             ; preds = %8132
  br label %8134

8134:                                             ; preds = %8133, %8073
  br label %8135

8135:                                             ; preds = %8134
  br label %8136

8136:                                             ; preds = %8135
  br label %8137

8137:                                             ; preds = %8136
  %8138 = load i32, ptr @test_count, align 4, !tbaa !5
  %8139 = add nsw i32 %8138, 1
  store i32 %8139, ptr @test_count, align 4, !tbaa !5
  %8140 = load ptr, ptr %165, align 8, !tbaa !9
  %8141 = load ptr, ptr %13, align 8, !tbaa !9
  %8142 = call i32 @s2n_connection_append_psk(ptr noundef %8140, ptr noundef %8141)
  %8143 = icmp eq i32 %8142, -1
  br i1 %8143, label %8144, label %8197

8144:                                             ; preds = %8137
  br label %8145

8145:                                             ; preds = %8144
  br label %8146

8146:                                             ; preds = %8145
  call void @llvm.lifetime.start.p0(i64 4, ptr %170) #11
  %8147 = call ptr @__errno_location() #12
  %8148 = load i32, ptr %8147, align 4, !tbaa !5
  store i32 %8148, ptr %170, align 4, !tbaa !5
  %8149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8150 = call i32 @s2n_print_stacktrace(ptr noundef %8149)
  %8151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8152 = trunc i8 %8151 to i1
  br i1 %8152, label %8153, label %8175

8153:                                             ; preds = %8146
  %8154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8155 = call i32 @fileno(ptr noundef %8154) #11
  %8156 = call i32 @isatty(i32 noundef %8155) #11
  %8157 = icmp ne i32 %8156, 0
  br i1 %8157, label %8158, label %8175

8158:                                             ; preds = %8153
  %8159 = load i32, ptr %170, align 4, !tbaa !5
  %8160 = call ptr @__errno_location() #12
  store i32 %8159, ptr %8160, align 4, !tbaa !5
  %8161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8162 = load i32, ptr @test_count, align 4, !tbaa !5
  %8163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8164 = load i32, ptr %8163, align 4, !tbaa !5
  %8165 = call ptr @s2n_strerror(i32 noundef %8164, ptr noundef @.str.4)
  %8166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8167 = load i32, ptr %8166, align 4, !tbaa !5
  %8168 = call ptr @s2n_strerror_debug(i32 noundef %8167, ptr noundef @.str.4)
  %8169 = call ptr @__errno_location() #12
  %8170 = load i32, ptr %8169, align 4, !tbaa !5
  %8171 = call ptr @strerror(i32 noundef %8170) #11
  %8172 = call ptr @__errno_location() #12
  %8173 = load i32, ptr %8172, align 4, !tbaa !5
  %8174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8161, ptr noundef @.str.2, i32 noundef %8162, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8165, ptr noundef %8168, ptr noundef %8171, i32 noundef %8173) #11
  br label %8192

8175:                                             ; preds = %8153, %8146
  %8176 = load i32, ptr %170, align 4, !tbaa !5
  %8177 = call ptr @__errno_location() #12
  store i32 %8176, ptr %8177, align 4, !tbaa !5
  %8178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8179 = load i32, ptr @test_count, align 4, !tbaa !5
  %8180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8181 = load i32, ptr %8180, align 4, !tbaa !5
  %8182 = call ptr @s2n_strerror(i32 noundef %8181, ptr noundef @.str.4)
  %8183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8184 = load i32, ptr %8183, align 4, !tbaa !5
  %8185 = call ptr @s2n_strerror_debug(i32 noundef %8184, ptr noundef @.str.4)
  %8186 = call ptr @__errno_location() #12
  %8187 = load i32, ptr %8186, align 4, !tbaa !5
  %8188 = call ptr @strerror(i32 noundef %8187) #11
  %8189 = call ptr @__errno_location() #12
  %8190 = load i32, ptr %8189, align 4, !tbaa !5
  %8191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8178, ptr noundef @.str.5, i32 noundef %8179, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 316, ptr noundef %8182, ptr noundef %8185, ptr noundef %8188, i32 noundef %8190) #11
  br label %8192

8192:                                             ; preds = %8175, %8158
  call void @llvm.lifetime.end.p0(i64 4, ptr %170) #11
  br label %8193

8193:                                             ; preds = %8192
  br label %8194

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

8195:                                             ; No predecessors!
  br label %8196

8196:                                             ; preds = %8195
  br label %8197

8197:                                             ; preds = %8196, %8137
  br label %8198

8198:                                             ; preds = %8197
  br label %8199

8199:                                             ; preds = %8198
  br label %8200

8200:                                             ; preds = %8199
  %8201 = load i32, ptr @test_count, align 4, !tbaa !5
  %8202 = add nsw i32 %8201, 1
  store i32 %8202, ptr @test_count, align 4, !tbaa !5
  %8203 = load ptr, ptr %166, align 8, !tbaa !9
  %8204 = load ptr, ptr %13, align 8, !tbaa !9
  %8205 = call i32 @s2n_connection_append_psk(ptr noundef %8203, ptr noundef %8204)
  %8206 = icmp eq i32 %8205, -1
  br i1 %8206, label %8207, label %8260

8207:                                             ; preds = %8200
  br label %8208

8208:                                             ; preds = %8207
  br label %8209

8209:                                             ; preds = %8208
  call void @llvm.lifetime.start.p0(i64 4, ptr %171) #11
  %8210 = call ptr @__errno_location() #12
  %8211 = load i32, ptr %8210, align 4, !tbaa !5
  store i32 %8211, ptr %171, align 4, !tbaa !5
  %8212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8213 = call i32 @s2n_print_stacktrace(ptr noundef %8212)
  %8214 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8215 = trunc i8 %8214 to i1
  br i1 %8215, label %8216, label %8238

8216:                                             ; preds = %8209
  %8217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8218 = call i32 @fileno(ptr noundef %8217) #11
  %8219 = call i32 @isatty(i32 noundef %8218) #11
  %8220 = icmp ne i32 %8219, 0
  br i1 %8220, label %8221, label %8238

8221:                                             ; preds = %8216
  %8222 = load i32, ptr %171, align 4, !tbaa !5
  %8223 = call ptr @__errno_location() #12
  store i32 %8222, ptr %8223, align 4, !tbaa !5
  %8224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8225 = load i32, ptr @test_count, align 4, !tbaa !5
  %8226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8227 = load i32, ptr %8226, align 4, !tbaa !5
  %8228 = call ptr @s2n_strerror(i32 noundef %8227, ptr noundef @.str.4)
  %8229 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8230 = load i32, ptr %8229, align 4, !tbaa !5
  %8231 = call ptr @s2n_strerror_debug(i32 noundef %8230, ptr noundef @.str.4)
  %8232 = call ptr @__errno_location() #12
  %8233 = load i32, ptr %8232, align 4, !tbaa !5
  %8234 = call ptr @strerror(i32 noundef %8233) #11
  %8235 = call ptr @__errno_location() #12
  %8236 = load i32, ptr %8235, align 4, !tbaa !5
  %8237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8224, ptr noundef @.str.2, i32 noundef %8225, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8228, ptr noundef %8231, ptr noundef %8234, i32 noundef %8236) #11
  br label %8255

8238:                                             ; preds = %8216, %8209
  %8239 = load i32, ptr %171, align 4, !tbaa !5
  %8240 = call ptr @__errno_location() #12
  store i32 %8239, ptr %8240, align 4, !tbaa !5
  %8241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8242 = load i32, ptr @test_count, align 4, !tbaa !5
  %8243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8244 = load i32, ptr %8243, align 4, !tbaa !5
  %8245 = call ptr @s2n_strerror(i32 noundef %8244, ptr noundef @.str.4)
  %8246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8247 = load i32, ptr %8246, align 4, !tbaa !5
  %8248 = call ptr @s2n_strerror_debug(i32 noundef %8247, ptr noundef @.str.4)
  %8249 = call ptr @__errno_location() #12
  %8250 = load i32, ptr %8249, align 4, !tbaa !5
  %8251 = call ptr @strerror(i32 noundef %8250) #11
  %8252 = call ptr @__errno_location() #12
  %8253 = load i32, ptr %8252, align 4, !tbaa !5
  %8254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8241, ptr noundef @.str.5, i32 noundef %8242, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 317, ptr noundef %8245, ptr noundef %8248, ptr noundef %8251, i32 noundef %8253) #11
  br label %8255

8255:                                             ; preds = %8238, %8221
  call void @llvm.lifetime.end.p0(i64 4, ptr %171) #11
  br label %8256

8256:                                             ; preds = %8255
  br label %8257

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

8258:                                             ; No predecessors!
  br label %8259

8259:                                             ; preds = %8258
  br label %8260

8260:                                             ; preds = %8259, %8200
  br label %8261

8261:                                             ; preds = %8260
  br label %8262

8262:                                             ; preds = %8261
  call void @llvm.lifetime.start.p0(i64 100, ptr %172) #11
  call void @llvm.memset.p0.i64(ptr align 16 %172, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %173) #11
  store i32 0, ptr %173, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %174) #11
  store i64 0, ptr %174, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr %175) #11
  store i32 0, ptr %175, align 4, !tbaa !5
  br label %8263

8263:                                             ; preds = %8262
  br label %8264

8264:                                             ; preds = %8263
  br label %8265

8265:                                             ; preds = %8264
  %8266 = load i32, ptr @test_count, align 4, !tbaa !5
  %8267 = add nsw i32 %8266, 1
  store i32 %8267, ptr @test_count, align 4, !tbaa !5
  %8268 = load ptr, ptr %165, align 8, !tbaa !9
  %8269 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %8270 = call i32 @s2n_send_early_data(ptr noundef %8268, ptr noundef %8269, i64 noundef 12, ptr noundef %174, ptr noundef %173)
  %8271 = icmp eq i32 %8270, -1
  br i1 %8271, label %8325, label %8272

8272:                                             ; preds = %8265
  br label %8273

8273:                                             ; preds = %8272
  br label %8274

8274:                                             ; preds = %8273
  call void @llvm.lifetime.start.p0(i64 4, ptr %176) #11
  %8275 = call ptr @__errno_location() #12
  %8276 = load i32, ptr %8275, align 4, !tbaa !5
  store i32 %8276, ptr %176, align 4, !tbaa !5
  %8277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8278 = call i32 @s2n_print_stacktrace(ptr noundef %8277)
  %8279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8280 = trunc i8 %8279 to i1
  br i1 %8280, label %8281, label %8303

8281:                                             ; preds = %8274
  %8282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8283 = call i32 @fileno(ptr noundef %8282) #11
  %8284 = call i32 @isatty(i32 noundef %8283) #11
  %8285 = icmp ne i32 %8284, 0
  br i1 %8285, label %8286, label %8303

8286:                                             ; preds = %8281
  %8287 = load i32, ptr %176, align 4, !tbaa !5
  %8288 = call ptr @__errno_location() #12
  store i32 %8287, ptr %8288, align 4, !tbaa !5
  %8289 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8290 = load i32, ptr @test_count, align 4, !tbaa !5
  %8291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8292 = load i32, ptr %8291, align 4, !tbaa !5
  %8293 = call ptr @s2n_strerror(i32 noundef %8292, ptr noundef @.str.4)
  %8294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8295 = load i32, ptr %8294, align 4, !tbaa !5
  %8296 = call ptr @s2n_strerror_debug(i32 noundef %8295, ptr noundef @.str.4)
  %8297 = call ptr @__errno_location() #12
  %8298 = load i32, ptr %8297, align 4, !tbaa !5
  %8299 = call ptr @strerror(i32 noundef %8298) #11
  %8300 = call ptr @__errno_location() #12
  %8301 = load i32, ptr %8300, align 4, !tbaa !5
  %8302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8289, ptr noundef @.str.2, i32 noundef %8290, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8293, ptr noundef %8296, ptr noundef %8299, i32 noundef %8301) #11
  br label %8320

8303:                                             ; preds = %8281, %8274
  %8304 = load i32, ptr %176, align 4, !tbaa !5
  %8305 = call ptr @__errno_location() #12
  store i32 %8304, ptr %8305, align 4, !tbaa !5
  %8306 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8307 = load i32, ptr @test_count, align 4, !tbaa !5
  %8308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8309 = load i32, ptr %8308, align 4, !tbaa !5
  %8310 = call ptr @s2n_strerror(i32 noundef %8309, ptr noundef @.str.4)
  %8311 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8312 = load i32, ptr %8311, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror_debug(i32 noundef %8312, ptr noundef @.str.4)
  %8314 = call ptr @__errno_location() #12
  %8315 = load i32, ptr %8314, align 4, !tbaa !5
  %8316 = call ptr @strerror(i32 noundef %8315) #11
  %8317 = call ptr @__errno_location() #12
  %8318 = load i32, ptr %8317, align 4, !tbaa !5
  %8319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8306, ptr noundef @.str.5, i32 noundef %8307, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8310, ptr noundef %8313, ptr noundef %8316, i32 noundef %8318) #11
  br label %8320

8320:                                             ; preds = %8303, %8286
  call void @llvm.lifetime.end.p0(i64 4, ptr %176) #11
  br label %8321

8321:                                             ; preds = %8320
  br label %8322

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

8323:                                             ; No predecessors!
  br label %8324

8324:                                             ; preds = %8323
  br label %8325

8325:                                             ; preds = %8324, %8265
  br label %8326

8326:                                             ; preds = %8325
  br label %8327

8327:                                             ; preds = %8326
  br label %8328

8328:                                             ; preds = %8327
  %8329 = load i32, ptr @test_count, align 4, !tbaa !5
  %8330 = add nsw i32 %8329, 1
  store i32 %8330, ptr @test_count, align 4, !tbaa !5
  %8331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8332 = load i32, ptr %8331, align 4, !tbaa !5
  %8333 = icmp eq i32 %8332, 201326592
  br i1 %8333, label %8387, label %8334

8334:                                             ; preds = %8328
  br label %8335

8335:                                             ; preds = %8334
  br label %8336

8336:                                             ; preds = %8335
  call void @llvm.lifetime.start.p0(i64 4, ptr %177) #11
  %8337 = call ptr @__errno_location() #12
  %8338 = load i32, ptr %8337, align 4, !tbaa !5
  store i32 %8338, ptr %177, align 4, !tbaa !5
  %8339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8340 = call i32 @s2n_print_stacktrace(ptr noundef %8339)
  %8341 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8342 = trunc i8 %8341 to i1
  br i1 %8342, label %8343, label %8365

8343:                                             ; preds = %8336
  %8344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8345 = call i32 @fileno(ptr noundef %8344) #11
  %8346 = call i32 @isatty(i32 noundef %8345) #11
  %8347 = icmp ne i32 %8346, 0
  br i1 %8347, label %8348, label %8365

8348:                                             ; preds = %8343
  %8349 = load i32, ptr %177, align 4, !tbaa !5
  %8350 = call ptr @__errno_location() #12
  store i32 %8349, ptr %8350, align 4, !tbaa !5
  %8351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8352 = load i32, ptr @test_count, align 4, !tbaa !5
  %8353 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8354 = load i32, ptr %8353, align 4, !tbaa !5
  %8355 = call ptr @s2n_strerror(i32 noundef %8354, ptr noundef @.str.4)
  %8356 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8357 = load i32, ptr %8356, align 4, !tbaa !5
  %8358 = call ptr @s2n_strerror_debug(i32 noundef %8357, ptr noundef @.str.4)
  %8359 = call ptr @__errno_location() #12
  %8360 = load i32, ptr %8359, align 4, !tbaa !5
  %8361 = call ptr @strerror(i32 noundef %8360) #11
  %8362 = call ptr @__errno_location() #12
  %8363 = load i32, ptr %8362, align 4, !tbaa !5
  %8364 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8351, ptr noundef @.str.2, i32 noundef %8352, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8355, ptr noundef %8358, ptr noundef %8361, i32 noundef %8363) #11
  br label %8382

8365:                                             ; preds = %8343, %8336
  %8366 = load i32, ptr %177, align 4, !tbaa !5
  %8367 = call ptr @__errno_location() #12
  store i32 %8366, ptr %8367, align 4, !tbaa !5
  %8368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8369 = load i32, ptr @test_count, align 4, !tbaa !5
  %8370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8371 = load i32, ptr %8370, align 4, !tbaa !5
  %8372 = call ptr @s2n_strerror(i32 noundef %8371, ptr noundef @.str.4)
  %8373 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8374 = load i32, ptr %8373, align 4, !tbaa !5
  %8375 = call ptr @s2n_strerror_debug(i32 noundef %8374, ptr noundef @.str.4)
  %8376 = call ptr @__errno_location() #12
  %8377 = load i32, ptr %8376, align 4, !tbaa !5
  %8378 = call ptr @strerror(i32 noundef %8377) #11
  %8379 = call ptr @__errno_location() #12
  %8380 = load i32, ptr %8379, align 4, !tbaa !5
  %8381 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8368, ptr noundef @.str.5, i32 noundef %8369, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8372, ptr noundef %8375, ptr noundef %8378, i32 noundef %8380) #11
  br label %8382

8382:                                             ; preds = %8365, %8348
  call void @llvm.lifetime.end.p0(i64 4, ptr %177) #11
  br label %8383

8383:                                             ; preds = %8382
  br label %8384

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

8385:                                             ; No predecessors!
  br label %8386

8386:                                             ; preds = %8385
  br label %8387

8387:                                             ; preds = %8386, %8328
  br label %8388

8388:                                             ; preds = %8387
  br label %8389

8389:                                             ; preds = %8388
  br label %8390

8390:                                             ; preds = %8389
  %8391 = load i32, ptr @test_count, align 4, !tbaa !5
  %8392 = add nsw i32 %8391, 1
  store i32 %8392, ptr @test_count, align 4, !tbaa !5
  %8393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8394 = load i32, ptr %8393, align 4, !tbaa !5
  %8395 = call ptr @s2n_strerror_debug(i32 noundef %8394, ptr noundef @.str.4)
  %8396 = icmp eq ptr %8395, null
  br i1 %8396, label %8397, label %8450

8397:                                             ; preds = %8390
  br label %8398

8398:                                             ; preds = %8397
  br label %8399

8399:                                             ; preds = %8398
  call void @llvm.lifetime.start.p0(i64 4, ptr %178) #11
  %8400 = call ptr @__errno_location() #12
  %8401 = load i32, ptr %8400, align 4, !tbaa !5
  store i32 %8401, ptr %178, align 4, !tbaa !5
  %8402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8403 = call i32 @s2n_print_stacktrace(ptr noundef %8402)
  %8404 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8405 = trunc i8 %8404 to i1
  br i1 %8405, label %8406, label %8428

8406:                                             ; preds = %8399
  %8407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8408 = call i32 @fileno(ptr noundef %8407) #11
  %8409 = call i32 @isatty(i32 noundef %8408) #11
  %8410 = icmp ne i32 %8409, 0
  br i1 %8410, label %8411, label %8428

8411:                                             ; preds = %8406
  %8412 = load i32, ptr %178, align 4, !tbaa !5
  %8413 = call ptr @__errno_location() #12
  store i32 %8412, ptr %8413, align 4, !tbaa !5
  %8414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8415 = load i32, ptr @test_count, align 4, !tbaa !5
  %8416 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8417 = load i32, ptr %8416, align 4, !tbaa !5
  %8418 = call ptr @s2n_strerror(i32 noundef %8417, ptr noundef @.str.4)
  %8419 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8420 = load i32, ptr %8419, align 4, !tbaa !5
  %8421 = call ptr @s2n_strerror_debug(i32 noundef %8420, ptr noundef @.str.4)
  %8422 = call ptr @__errno_location() #12
  %8423 = load i32, ptr %8422, align 4, !tbaa !5
  %8424 = call ptr @strerror(i32 noundef %8423) #11
  %8425 = call ptr @__errno_location() #12
  %8426 = load i32, ptr %8425, align 4, !tbaa !5
  %8427 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8414, ptr noundef @.str.2, i32 noundef %8415, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8418, ptr noundef %8421, ptr noundef %8424, i32 noundef %8426) #11
  br label %8445

8428:                                             ; preds = %8406, %8399
  %8429 = load i32, ptr %178, align 4, !tbaa !5
  %8430 = call ptr @__errno_location() #12
  store i32 %8429, ptr %8430, align 4, !tbaa !5
  %8431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8432 = load i32, ptr @test_count, align 4, !tbaa !5
  %8433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8434 = load i32, ptr %8433, align 4, !tbaa !5
  %8435 = call ptr @s2n_strerror(i32 noundef %8434, ptr noundef @.str.4)
  %8436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8437 = load i32, ptr %8436, align 4, !tbaa !5
  %8438 = call ptr @s2n_strerror_debug(i32 noundef %8437, ptr noundef @.str.4)
  %8439 = call ptr @__errno_location() #12
  %8440 = load i32, ptr %8439, align 4, !tbaa !5
  %8441 = call ptr @strerror(i32 noundef %8440) #11
  %8442 = call ptr @__errno_location() #12
  %8443 = load i32, ptr %8442, align 4, !tbaa !5
  %8444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8431, ptr noundef @.str.5, i32 noundef %8432, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 324, ptr noundef %8435, ptr noundef %8438, ptr noundef %8441, i32 noundef %8443) #11
  br label %8445

8445:                                             ; preds = %8428, %8411
  call void @llvm.lifetime.end.p0(i64 4, ptr %178) #11
  br label %8446

8446:                                             ; preds = %8445
  br label %8447

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

8448:                                             ; No predecessors!
  br label %8449

8449:                                             ; preds = %8448
  br label %8450

8450:                                             ; preds = %8449, %8390
  br label %8451

8451:                                             ; preds = %8450
  br label %8452

8452:                                             ; preds = %8451
  br label %8453

8453:                                             ; preds = %8452
  br label %8454

8454:                                             ; preds = %8453
  br label %8455

8455:                                             ; preds = %8454
  %8456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8456, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8457 = call ptr @__errno_location() #12
  store i32 0, ptr %8457, align 4, !tbaa !5
  br label %8458

8458:                                             ; preds = %8455
  br label %8459

8459:                                             ; preds = %8458
  br label %8460

8460:                                             ; preds = %8459
  br label %8461

8461:                                             ; preds = %8460
  br label %8462

8462:                                             ; preds = %8461
  %8463 = load i32, ptr @test_count, align 4, !tbaa !5
  %8464 = add nsw i32 %8463, 1
  store i32 %8464, ptr @test_count, align 4, !tbaa !5
  %8465 = load i32, ptr %173, align 4, !tbaa !5
  %8466 = icmp eq i32 %8465, 1
  br i1 %8466, label %8520, label %8467

8467:                                             ; preds = %8462
  br label %8468

8468:                                             ; preds = %8467
  br label %8469

8469:                                             ; preds = %8468
  call void @llvm.lifetime.start.p0(i64 4, ptr %179) #11
  %8470 = call ptr @__errno_location() #12
  %8471 = load i32, ptr %8470, align 4, !tbaa !5
  store i32 %8471, ptr %179, align 4, !tbaa !5
  %8472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8473 = call i32 @s2n_print_stacktrace(ptr noundef %8472)
  %8474 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8475 = trunc i8 %8474 to i1
  br i1 %8475, label %8476, label %8498

8476:                                             ; preds = %8469
  %8477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8478 = call i32 @fileno(ptr noundef %8477) #11
  %8479 = call i32 @isatty(i32 noundef %8478) #11
  %8480 = icmp ne i32 %8479, 0
  br i1 %8480, label %8481, label %8498

8481:                                             ; preds = %8476
  %8482 = load i32, ptr %179, align 4, !tbaa !5
  %8483 = call ptr @__errno_location() #12
  store i32 %8482, ptr %8483, align 4, !tbaa !5
  %8484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8485 = load i32, ptr @test_count, align 4, !tbaa !5
  %8486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8487 = load i32, ptr %8486, align 4, !tbaa !5
  %8488 = call ptr @s2n_strerror(i32 noundef %8487, ptr noundef @.str.4)
  %8489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8490 = load i32, ptr %8489, align 4, !tbaa !5
  %8491 = call ptr @s2n_strerror_debug(i32 noundef %8490, ptr noundef @.str.4)
  %8492 = call ptr @__errno_location() #12
  %8493 = load i32, ptr %8492, align 4, !tbaa !5
  %8494 = call ptr @strerror(i32 noundef %8493) #11
  %8495 = call ptr @__errno_location() #12
  %8496 = load i32, ptr %8495, align 4, !tbaa !5
  %8497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8484, ptr noundef @.str.2, i32 noundef %8485, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 325, ptr noundef %8488, ptr noundef %8491, ptr noundef %8494, i32 noundef %8496) #11
  br label %8515

8498:                                             ; preds = %8476, %8469
  %8499 = load i32, ptr %179, align 4, !tbaa !5
  %8500 = call ptr @__errno_location() #12
  store i32 %8499, ptr %8500, align 4, !tbaa !5
  %8501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8502 = load i32, ptr @test_count, align 4, !tbaa !5
  %8503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8504 = load i32, ptr %8503, align 4, !tbaa !5
  %8505 = call ptr @s2n_strerror(i32 noundef %8504, ptr noundef @.str.4)
  %8506 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8507 = load i32, ptr %8506, align 4, !tbaa !5
  %8508 = call ptr @s2n_strerror_debug(i32 noundef %8507, ptr noundef @.str.4)
  %8509 = call ptr @__errno_location() #12
  %8510 = load i32, ptr %8509, align 4, !tbaa !5
  %8511 = call ptr @strerror(i32 noundef %8510) #11
  %8512 = call ptr @__errno_location() #12
  %8513 = load i32, ptr %8512, align 4, !tbaa !5
  %8514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8501, ptr noundef @.str.5, i32 noundef %8502, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 325, ptr noundef %8505, ptr noundef %8508, ptr noundef %8511, i32 noundef %8513) #11
  br label %8515

8515:                                             ; preds = %8498, %8481
  call void @llvm.lifetime.end.p0(i64 4, ptr %179) #11
  br label %8516

8516:                                             ; preds = %8515
  br label %8517

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

8518:                                             ; No predecessors!
  br label %8519

8519:                                             ; preds = %8518
  br label %8520

8520:                                             ; preds = %8519, %8462
  br label %8521

8521:                                             ; preds = %8520
  br label %8522

8522:                                             ; preds = %8521
  br label %8523

8523:                                             ; preds = %8522
  %8524 = load i32, ptr @test_count, align 4, !tbaa !5
  %8525 = add nsw i32 %8524, 1
  store i32 %8525, ptr @test_count, align 4, !tbaa !5
  %8526 = load ptr, ptr %165, align 8, !tbaa !9
  %8527 = call i32 @s2n_conn_get_current_message_type(ptr noundef %8526)
  %8528 = icmp eq i32 %8527, 1
  br i1 %8528, label %8582, label %8529

8529:                                             ; preds = %8523
  br label %8530

8530:                                             ; preds = %8529
  br label %8531

8531:                                             ; preds = %8530
  call void @llvm.lifetime.start.p0(i64 4, ptr %180) #11
  %8532 = call ptr @__errno_location() #12
  %8533 = load i32, ptr %8532, align 4, !tbaa !5
  store i32 %8533, ptr %180, align 4, !tbaa !5
  %8534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8535 = call i32 @s2n_print_stacktrace(ptr noundef %8534)
  %8536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8537 = trunc i8 %8536 to i1
  br i1 %8537, label %8538, label %8560

8538:                                             ; preds = %8531
  %8539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8540 = call i32 @fileno(ptr noundef %8539) #11
  %8541 = call i32 @isatty(i32 noundef %8540) #11
  %8542 = icmp ne i32 %8541, 0
  br i1 %8542, label %8543, label %8560

8543:                                             ; preds = %8538
  %8544 = load i32, ptr %180, align 4, !tbaa !5
  %8545 = call ptr @__errno_location() #12
  store i32 %8544, ptr %8545, align 4, !tbaa !5
  %8546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8547 = load i32, ptr @test_count, align 4, !tbaa !5
  %8548 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8549 = load i32, ptr %8548, align 4, !tbaa !5
  %8550 = call ptr @s2n_strerror(i32 noundef %8549, ptr noundef @.str.4)
  %8551 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8552 = load i32, ptr %8551, align 4, !tbaa !5
  %8553 = call ptr @s2n_strerror_debug(i32 noundef %8552, ptr noundef @.str.4)
  %8554 = call ptr @__errno_location() #12
  %8555 = load i32, ptr %8554, align 4, !tbaa !5
  %8556 = call ptr @strerror(i32 noundef %8555) #11
  %8557 = call ptr @__errno_location() #12
  %8558 = load i32, ptr %8557, align 4, !tbaa !5
  %8559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8546, ptr noundef @.str.2, i32 noundef %8547, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 325, ptr noundef %8550, ptr noundef %8553, ptr noundef %8556, i32 noundef %8558) #11
  br label %8577

8560:                                             ; preds = %8538, %8531
  %8561 = load i32, ptr %180, align 4, !tbaa !5
  %8562 = call ptr @__errno_location() #12
  store i32 %8561, ptr %8562, align 4, !tbaa !5
  %8563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8564 = load i32, ptr @test_count, align 4, !tbaa !5
  %8565 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8566 = load i32, ptr %8565, align 4, !tbaa !5
  %8567 = call ptr @s2n_strerror(i32 noundef %8566, ptr noundef @.str.4)
  %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_debug(i32 noundef %8569, ptr noundef @.str.4)
  %8571 = call ptr @__errno_location() #12
  %8572 = load i32, ptr %8571, align 4, !tbaa !5
  %8573 = call ptr @strerror(i32 noundef %8572) #11
  %8574 = call ptr @__errno_location() #12
  %8575 = load i32, ptr %8574, align 4, !tbaa !5
  %8576 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8563, ptr noundef @.str.5, i32 noundef %8564, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 325, ptr noundef %8567, ptr noundef %8570, ptr noundef %8573, i32 noundef %8575) #11
  br label %8577

8577:                                             ; preds = %8560, %8543
  call void @llvm.lifetime.end.p0(i64 4, ptr %180) #11
  br label %8578

8578:                                             ; preds = %8577
  br label %8579

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

8580:                                             ; No predecessors!
  br label %8581

8581:                                             ; preds = %8580
  br label %8582

8582:                                             ; preds = %8581, %8523
  br label %8583

8583:                                             ; preds = %8582
  br label %8584

8584:                                             ; preds = %8583
  br label %8585

8585:                                             ; preds = %8584
  %8586 = load i32, ptr @test_count, align 4, !tbaa !5
  %8587 = add nsw i32 %8586, 1
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = load i64, ptr %174, align 8, !tbaa !42
  %8589 = icmp eq i64 %8588, 12
  br i1 %8589, label %8643, label %8590

8590:                                             ; preds = %8585
  br label %8591

8591:                                             ; preds = %8590
  br label %8592

8592:                                             ; preds = %8591
  call void @llvm.lifetime.start.p0(i64 4, ptr %181) #11
  %8593 = call ptr @__errno_location() #12
  %8594 = load i32, ptr %8593, align 4, !tbaa !5
  store i32 %8594, ptr %181, align 4, !tbaa !5
  %8595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8596 = call i32 @s2n_print_stacktrace(ptr noundef %8595)
  %8597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8598 = trunc i8 %8597 to i1
  br i1 %8598, label %8599, label %8621

8599:                                             ; preds = %8592
  %8600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8601 = call i32 @fileno(ptr noundef %8600) #11
  %8602 = call i32 @isatty(i32 noundef %8601) #11
  %8603 = icmp ne i32 %8602, 0
  br i1 %8603, label %8604, label %8621

8604:                                             ; preds = %8599
  %8605 = load i32, ptr %181, align 4, !tbaa !5
  %8606 = call ptr @__errno_location() #12
  store i32 %8605, ptr %8606, align 4, !tbaa !5
  %8607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8608 = load i32, ptr @test_count, align 4, !tbaa !5
  %8609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8610 = load i32, ptr %8609, align 4, !tbaa !5
  %8611 = call ptr @s2n_strerror(i32 noundef %8610, ptr noundef @.str.4)
  %8612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8613 = load i32, ptr %8612, align 4, !tbaa !5
  %8614 = call ptr @s2n_strerror_debug(i32 noundef %8613, ptr noundef @.str.4)
  %8615 = call ptr @__errno_location() #12
  %8616 = load i32, ptr %8615, align 4, !tbaa !5
  %8617 = call ptr @strerror(i32 noundef %8616) #11
  %8618 = call ptr @__errno_location() #12
  %8619 = load i32, ptr %8618, align 4, !tbaa !5
  %8620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8607, ptr noundef @.str.2, i32 noundef %8608, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 326, ptr noundef %8611, ptr noundef %8614, ptr noundef %8617, i32 noundef %8619) #11
  br label %8638

8621:                                             ; preds = %8599, %8592
  %8622 = load i32, ptr %181, align 4, !tbaa !5
  %8623 = call ptr @__errno_location() #12
  store i32 %8622, ptr %8623, align 4, !tbaa !5
  %8624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8625 = load i32, ptr @test_count, align 4, !tbaa !5
  %8626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8627 = load i32, ptr %8626, align 4, !tbaa !5
  %8628 = call ptr @s2n_strerror(i32 noundef %8627, ptr noundef @.str.4)
  %8629 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8630 = load i32, ptr %8629, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror_debug(i32 noundef %8630, ptr noundef @.str.4)
  %8632 = call ptr @__errno_location() #12
  %8633 = load i32, ptr %8632, align 4, !tbaa !5
  %8634 = call ptr @strerror(i32 noundef %8633) #11
  %8635 = call ptr @__errno_location() #12
  %8636 = load i32, ptr %8635, align 4, !tbaa !5
  %8637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8624, ptr noundef @.str.5, i32 noundef %8625, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 326, ptr noundef %8628, ptr noundef %8631, ptr noundef %8634, i32 noundef %8636) #11
  br label %8638

8638:                                             ; preds = %8621, %8604
  call void @llvm.lifetime.end.p0(i64 4, ptr %181) #11
  br label %8639

8639:                                             ; preds = %8638
  br label %8640

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

8641:                                             ; No predecessors!
  br label %8642

8642:                                             ; preds = %8641
  br label %8643

8643:                                             ; preds = %8642, %8585
  br label %8644

8644:                                             ; preds = %8643
  br label %8645

8645:                                             ; preds = %8644
  br label %8646

8646:                                             ; preds = %8645
  %8647 = load i32, ptr @test_count, align 4, !tbaa !5
  %8648 = add nsw i32 %8647, 1
  store i32 %8648, ptr @test_count, align 4, !tbaa !5
  %8649 = load ptr, ptr %165, align 8, !tbaa !9
  %8650 = call i32 @s2n_connection_get_early_data_status(ptr noundef %8649, ptr noundef %175)
  %8651 = icmp eq i32 %8650, -1
  br i1 %8651, label %8652, label %8705

8652:                                             ; preds = %8646
  br label %8653

8653:                                             ; preds = %8652
  br label %8654

8654:                                             ; preds = %8653
  call void @llvm.lifetime.start.p0(i64 4, ptr %182) #11
  %8655 = call ptr @__errno_location() #12
  %8656 = load i32, ptr %8655, align 4, !tbaa !5
  store i32 %8656, ptr %182, align 4, !tbaa !5
  %8657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8658 = call i32 @s2n_print_stacktrace(ptr noundef %8657)
  %8659 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8660 = trunc i8 %8659 to i1
  br i1 %8660, label %8661, label %8683

8661:                                             ; preds = %8654
  %8662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8663 = call i32 @fileno(ptr noundef %8662) #11
  %8664 = call i32 @isatty(i32 noundef %8663) #11
  %8665 = icmp ne i32 %8664, 0
  br i1 %8665, label %8666, label %8683

8666:                                             ; preds = %8661
  %8667 = load i32, ptr %182, align 4, !tbaa !5
  %8668 = call ptr @__errno_location() #12
  store i32 %8667, ptr %8668, align 4, !tbaa !5
  %8669 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8670 = load i32, ptr @test_count, align 4, !tbaa !5
  %8671 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8672 = load i32, ptr %8671, align 4, !tbaa !5
  %8673 = call ptr @s2n_strerror(i32 noundef %8672, ptr noundef @.str.4)
  %8674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8675 = load i32, ptr %8674, align 4, !tbaa !5
  %8676 = call ptr @s2n_strerror_debug(i32 noundef %8675, ptr noundef @.str.4)
  %8677 = call ptr @__errno_location() #12
  %8678 = load i32, ptr %8677, align 4, !tbaa !5
  %8679 = call ptr @strerror(i32 noundef %8678) #11
  %8680 = call ptr @__errno_location() #12
  %8681 = load i32, ptr %8680, align 4, !tbaa !5
  %8682 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8669, ptr noundef @.str.2, i32 noundef %8670, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 328, ptr noundef %8673, ptr noundef %8676, ptr noundef %8679, i32 noundef %8681) #11
  br label %8700

8683:                                             ; preds = %8661, %8654
  %8684 = load i32, ptr %182, align 4, !tbaa !5
  %8685 = call ptr @__errno_location() #12
  store i32 %8684, ptr %8685, align 4, !tbaa !5
  %8686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8687 = load i32, ptr @test_count, align 4, !tbaa !5
  %8688 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8689 = load i32, ptr %8688, align 4, !tbaa !5
  %8690 = call ptr @s2n_strerror(i32 noundef %8689, ptr noundef @.str.4)
  %8691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8692 = load i32, ptr %8691, align 4, !tbaa !5
  %8693 = call ptr @s2n_strerror_debug(i32 noundef %8692, ptr noundef @.str.4)
  %8694 = call ptr @__errno_location() #12
  %8695 = load i32, ptr %8694, align 4, !tbaa !5
  %8696 = call ptr @strerror(i32 noundef %8695) #11
  %8697 = call ptr @__errno_location() #12
  %8698 = load i32, ptr %8697, align 4, !tbaa !5
  %8699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8686, ptr noundef @.str.5, i32 noundef %8687, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 328, ptr noundef %8690, ptr noundef %8693, ptr noundef %8696, i32 noundef %8698) #11
  br label %8700

8700:                                             ; preds = %8683, %8666
  call void @llvm.lifetime.end.p0(i64 4, ptr %182) #11
  br label %8701

8701:                                             ; preds = %8700
  br label %8702

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

8703:                                             ; No predecessors!
  br label %8704

8704:                                             ; preds = %8703
  br label %8705

8705:                                             ; preds = %8704, %8646
  br label %8706

8706:                                             ; preds = %8705
  br label %8707

8707:                                             ; preds = %8706
  br label %8708

8708:                                             ; preds = %8707
  %8709 = load i32, ptr @test_count, align 4, !tbaa !5
  %8710 = add nsw i32 %8709, 1
  store i32 %8710, ptr @test_count, align 4, !tbaa !5
  %8711 = load i32, ptr %175, align 4, !tbaa !5
  %8712 = icmp eq i32 %8711, 0
  br i1 %8712, label %8766, label %8713

8713:                                             ; preds = %8708
  br label %8714

8714:                                             ; preds = %8713
  br label %8715

8715:                                             ; preds = %8714
  call void @llvm.lifetime.start.p0(i64 4, ptr %183) #11
  %8716 = call ptr @__errno_location() #12
  %8717 = load i32, ptr %8716, align 4, !tbaa !5
  store i32 %8717, ptr %183, align 4, !tbaa !5
  %8718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8719 = call i32 @s2n_print_stacktrace(ptr noundef %8718)
  %8720 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8721 = trunc i8 %8720 to i1
  br i1 %8721, label %8722, label %8744

8722:                                             ; preds = %8715
  %8723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8724 = call i32 @fileno(ptr noundef %8723) #11
  %8725 = call i32 @isatty(i32 noundef %8724) #11
  %8726 = icmp ne i32 %8725, 0
  br i1 %8726, label %8727, label %8744

8727:                                             ; preds = %8722
  %8728 = load i32, ptr %183, align 4, !tbaa !5
  %8729 = call ptr @__errno_location() #12
  store i32 %8728, ptr %8729, align 4, !tbaa !5
  %8730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8731 = load i32, ptr @test_count, align 4, !tbaa !5
  %8732 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8733 = load i32, ptr %8732, align 4, !tbaa !5
  %8734 = call ptr @s2n_strerror(i32 noundef %8733, ptr noundef @.str.4)
  %8735 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8736 = load i32, ptr %8735, align 4, !tbaa !5
  %8737 = call ptr @s2n_strerror_debug(i32 noundef %8736, ptr noundef @.str.4)
  %8738 = call ptr @__errno_location() #12
  %8739 = load i32, ptr %8738, align 4, !tbaa !5
  %8740 = call ptr @strerror(i32 noundef %8739) #11
  %8741 = call ptr @__errno_location() #12
  %8742 = load i32, ptr %8741, align 4, !tbaa !5
  %8743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8730, ptr noundef @.str.2, i32 noundef %8731, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8734, ptr noundef %8737, ptr noundef %8740, i32 noundef %8742) #11
  br label %8761

8744:                                             ; preds = %8722, %8715
  %8745 = load i32, ptr %183, align 4, !tbaa !5
  %8746 = call ptr @__errno_location() #12
  store i32 %8745, ptr %8746, align 4, !tbaa !5
  %8747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8748 = load i32, ptr @test_count, align 4, !tbaa !5
  %8749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8750 = load i32, ptr %8749, align 4, !tbaa !5
  %8751 = call ptr @s2n_strerror(i32 noundef %8750, ptr noundef @.str.4)
  %8752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8753 = load i32, ptr %8752, align 4, !tbaa !5
  %8754 = call ptr @s2n_strerror_debug(i32 noundef %8753, ptr noundef @.str.4)
  %8755 = call ptr @__errno_location() #12
  %8756 = load i32, ptr %8755, align 4, !tbaa !5
  %8757 = call ptr @strerror(i32 noundef %8756) #11
  %8758 = call ptr @__errno_location() #12
  %8759 = load i32, ptr %8758, align 4, !tbaa !5
  %8760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8747, ptr noundef @.str.5, i32 noundef %8748, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 329, ptr noundef %8751, ptr noundef %8754, ptr noundef %8757, i32 noundef %8759) #11
  br label %8761

8761:                                             ; preds = %8744, %8727
  call void @llvm.lifetime.end.p0(i64 4, ptr %183) #11
  br label %8762

8762:                                             ; preds = %8761
  br label %8763

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

8764:                                             ; No predecessors!
  br label %8765

8765:                                             ; preds = %8764
  br label %8766

8766:                                             ; preds = %8765, %8708
  br label %8767

8767:                                             ; preds = %8766
  br label %8768

8768:                                             ; preds = %8767
  br label %8769

8769:                                             ; preds = %8768
  br label %8770

8770:                                             ; preds = %8769
  br label %8771

8771:                                             ; preds = %8770
  %8772 = load i32, ptr @test_count, align 4, !tbaa !5
  %8773 = add nsw i32 %8772, 1
  store i32 %8773, ptr @test_count, align 4, !tbaa !5
  %8774 = load ptr, ptr %166, align 8, !tbaa !9
  %8775 = getelementptr inbounds [100 x i8], ptr %172, i64 0, i64 0
  %8776 = call i32 @s2n_recv_early_data(ptr noundef %8774, ptr noundef %8775, i64 noundef 100, ptr noundef %174, ptr noundef %173)
  %8777 = icmp eq i32 %8776, -1
  br i1 %8777, label %8831, label %8778

8778:                                             ; preds = %8771
  br label %8779

8779:                                             ; preds = %8778
  br label %8780

8780:                                             ; preds = %8779
  call void @llvm.lifetime.start.p0(i64 4, ptr %184) #11
  %8781 = call ptr @__errno_location() #12
  %8782 = load i32, ptr %8781, align 4, !tbaa !5
  store i32 %8782, ptr %184, align 4, !tbaa !5
  %8783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8784 = call i32 @s2n_print_stacktrace(ptr noundef %8783)
  %8785 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8786 = trunc i8 %8785 to i1
  br i1 %8786, label %8787, label %8809

8787:                                             ; preds = %8780
  %8788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8789 = call i32 @fileno(ptr noundef %8788) #11
  %8790 = call i32 @isatty(i32 noundef %8789) #11
  %8791 = icmp ne i32 %8790, 0
  br i1 %8791, label %8792, label %8809

8792:                                             ; preds = %8787
  %8793 = load i32, ptr %184, align 4, !tbaa !5
  %8794 = call ptr @__errno_location() #12
  store i32 %8793, ptr %8794, align 4, !tbaa !5
  %8795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8796 = load i32, ptr @test_count, align 4, !tbaa !5
  %8797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8798 = load i32, ptr %8797, align 4, !tbaa !5
  %8799 = call ptr @s2n_strerror(i32 noundef %8798, ptr noundef @.str.4)
  %8800 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8801 = load i32, ptr %8800, align 4, !tbaa !5
  %8802 = call ptr @s2n_strerror_debug(i32 noundef %8801, ptr noundef @.str.4)
  %8803 = call ptr @__errno_location() #12
  %8804 = load i32, ptr %8803, align 4, !tbaa !5
  %8805 = call ptr @strerror(i32 noundef %8804) #11
  %8806 = call ptr @__errno_location() #12
  %8807 = load i32, ptr %8806, align 4, !tbaa !5
  %8808 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8795, ptr noundef @.str.2, i32 noundef %8796, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 331, ptr noundef %8799, ptr noundef %8802, ptr noundef %8805, i32 noundef %8807) #11
  br label %8826

8809:                                             ; preds = %8787, %8780
  %8810 = load i32, ptr %184, align 4, !tbaa !5
  %8811 = call ptr @__errno_location() #12
  store i32 %8810, ptr %8811, align 4, !tbaa !5
  %8812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8813 = load i32, ptr @test_count, align 4, !tbaa !5
  %8814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8815 = load i32, ptr %8814, align 4, !tbaa !5
  %8816 = call ptr @s2n_strerror(i32 noundef %8815, ptr noundef @.str.4)
  %8817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8818 = load i32, ptr %8817, align 4, !tbaa !5
  %8819 = call ptr @s2n_strerror_debug(i32 noundef %8818, ptr noundef @.str.4)
  %8820 = call ptr @__errno_location() #12
  %8821 = load i32, ptr %8820, align 4, !tbaa !5
  %8822 = call ptr @strerror(i32 noundef %8821) #11
  %8823 = call ptr @__errno_location() #12
  %8824 = load i32, ptr %8823, align 4, !tbaa !5
  %8825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8812, ptr noundef @.str.5, i32 noundef %8813, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 331, ptr noundef %8816, ptr noundef %8819, ptr noundef %8822, i32 noundef %8824) #11
  br label %8826

8826:                                             ; preds = %8809, %8792
  call void @llvm.lifetime.end.p0(i64 4, ptr %184) #11
  br label %8827

8827:                                             ; preds = %8826
  br label %8828

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

8829:                                             ; No predecessors!
  br label %8830

8830:                                             ; preds = %8829
  br label %8831

8831:                                             ; preds = %8830, %8771
  br label %8832

8832:                                             ; preds = %8831
  br label %8833

8833:                                             ; preds = %8832
  br label %8834

8834:                                             ; preds = %8833
  %8835 = load i32, ptr @test_count, align 4, !tbaa !5
  %8836 = add nsw i32 %8835, 1
  store i32 %8836, ptr @test_count, align 4, !tbaa !5
  %8837 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8838 = load i32, ptr %8837, align 4, !tbaa !5
  %8839 = icmp eq i32 %8838, 201326592
  br i1 %8839, label %8893, label %8840

8840:                                             ; preds = %8834
  br label %8841

8841:                                             ; preds = %8840
  br label %8842

8842:                                             ; preds = %8841
  call void @llvm.lifetime.start.p0(i64 4, ptr %185) #11
  %8843 = call ptr @__errno_location() #12
  %8844 = load i32, ptr %8843, align 4, !tbaa !5
  store i32 %8844, ptr %185, align 4, !tbaa !5
  %8845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8846 = call i32 @s2n_print_stacktrace(ptr noundef %8845)
  %8847 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8848 = trunc i8 %8847 to i1
  br i1 %8848, label %8849, label %8871

8849:                                             ; preds = %8842
  %8850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8851 = call i32 @fileno(ptr noundef %8850) #11
  %8852 = call i32 @isatty(i32 noundef %8851) #11
  %8853 = icmp ne i32 %8852, 0
  br i1 %8853, label %8854, label %8871

8854:                                             ; preds = %8849
  %8855 = load i32, ptr %185, align 4, !tbaa !5
  %8856 = call ptr @__errno_location() #12
  store i32 %8855, ptr %8856, align 4, !tbaa !5
  %8857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8858 = load i32, ptr @test_count, align 4, !tbaa !5
  %8859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8860 = load i32, ptr %8859, align 4, !tbaa !5
  %8861 = call ptr @s2n_strerror(i32 noundef %8860, ptr noundef @.str.4)
  %8862 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8863 = load i32, ptr %8862, align 4, !tbaa !5
  %8864 = call ptr @s2n_strerror_debug(i32 noundef %8863, ptr noundef @.str.4)
  %8865 = call ptr @__errno_location() #12
  %8866 = load i32, ptr %8865, align 4, !tbaa !5
  %8867 = call ptr @strerror(i32 noundef %8866) #11
  %8868 = call ptr @__errno_location() #12
  %8869 = load i32, ptr %8868, align 4, !tbaa !5
  %8870 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8857, ptr noundef @.str.2, i32 noundef %8858, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 331, ptr noundef %8861, ptr noundef %8864, ptr noundef %8867, i32 noundef %8869) #11
  br label %8888

8871:                                             ; preds = %8849, %8842
  %8872 = load i32, ptr %185, align 4, !tbaa !5
  %8873 = call ptr @__errno_location() #12
  store i32 %8872, ptr %8873, align 4, !tbaa !5
  %8874 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8875 = load i32, ptr @test_count, align 4, !tbaa !5
  %8876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8877 = load i32, ptr %8876, align 4, !tbaa !5
  %8878 = call ptr @s2n_strerror(i32 noundef %8877, ptr noundef @.str.4)
  %8879 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8880 = load i32, ptr %8879, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror_debug(i32 noundef %8880, ptr noundef @.str.4)
  %8882 = call ptr @__errno_location() #12
  %8883 = load i32, ptr %8882, align 4, !tbaa !5
  %8884 = call ptr @strerror(i32 noundef %8883) #11
  %8885 = call ptr @__errno_location() #12
  %8886 = load i32, ptr %8885, align 4, !tbaa !5
  %8887 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8874, ptr noundef @.str.5, i32 noundef %8875, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 331, ptr noundef %8878, ptr noundef %8881, ptr noundef %8884, i32 noundef %8886) #11
  br label %8888

8888:                                             ; preds = %8871, %8854
  call void @llvm.lifetime.end.p0(i64 4, ptr %185) #11
  br label %8889

8889:                                             ; preds = %8888
  br label %8890

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

8891:                                             ; No predecessors!
  br label %8892

8892:                                             ; preds = %8891
  br label %8893

8893:                                             ; preds = %8892, %8834
  br label %8894

8894:                                             ; preds = %8893
  br label %8895

8895:                                             ; preds = %8894
  br label %8896

8896:                                             ; preds = %8895
  %8897 = load i32, ptr @test_count, align 4, !tbaa !5
  %8898 = add nsw i32 %8897, 1
  store i32 %8898, ptr @test_count, align 4, !tbaa !5
  %8899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8900 = load i32, ptr %8899, align 4, !tbaa !5
  %8901 = call ptr @s2n_strerror_debug(i32 noundef %8900, ptr noundef @.str.4)
  %8902 = icmp eq ptr %8901, null
  br i1 %8902, label %8903, label %8956

8903:                                             ; preds = %8896
  br label %8904

8904:                                             ; preds = %8903
  br label %8905

8905:                                             ; preds = %8904
  call void @llvm.lifetime.start.p0(i64 4, ptr %186) #11
  %8906 = call ptr @__errno_location() #12
  %8907 = load i32, ptr %8906, align 4, !tbaa !5
  store i32 %8907, ptr %186, align 4, !tbaa !5
  %8908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8909 = call i32 @s2n_print_stacktrace(ptr noundef %8908)
  %8910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8911 = trunc i8 %8910 to i1
  br i1 %8911, label %8912, label %8934

8912:                                             ; preds = %8905
  %8913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8914 = call i32 @fileno(ptr noundef %8913) #11
  %8915 = call i32 @isatty(i32 noundef %8914) #11
  %8916 = icmp ne i32 %8915, 0
  br i1 %8916, label %8917, label %8934

8917:                                             ; preds = %8912
  %8918 = load i32, ptr %186, align 4, !tbaa !5
  %8919 = call ptr @__errno_location() #12
  store i32 %8918, ptr %8919, align 4, !tbaa !5
  %8920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8921 = load i32, ptr @test_count, align 4, !tbaa !5
  %8922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8923 = load i32, ptr %8922, align 4, !tbaa !5
  %8924 = call ptr @s2n_strerror(i32 noundef %8923, ptr noundef @.str.4)
  %8925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8926 = load i32, ptr %8925, align 4, !tbaa !5
  %8927 = call ptr @s2n_strerror_debug(i32 noundef %8926, ptr noundef @.str.4)
  %8928 = call ptr @__errno_location() #12
  %8929 = load i32, ptr %8928, align 4, !tbaa !5
  %8930 = call ptr @strerror(i32 noundef %8929) #11
  %8931 = call ptr @__errno_location() #12
  %8932 = load i32, ptr %8931, align 4, !tbaa !5
  %8933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8920, ptr noundef @.str.2, i32 noundef %8921, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 331, ptr noundef %8924, ptr noundef %8927, ptr noundef %8930, i32 noundef %8932) #11
  br label %8951

8934:                                             ; preds = %8912, %8905
  %8935 = load i32, ptr %186, align 4, !tbaa !5
  %8936 = call ptr @__errno_location() #12
  store i32 %8935, ptr %8936, align 4, !tbaa !5
  %8937 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8938 = load i32, ptr @test_count, align 4, !tbaa !5
  %8939 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8940 = load i32, ptr %8939, align 4, !tbaa !5
  %8941 = call ptr @s2n_strerror(i32 noundef %8940, ptr noundef @.str.4)
  %8942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8943 = load i32, ptr %8942, align 4, !tbaa !5
  %8944 = call ptr @s2n_strerror_debug(i32 noundef %8943, ptr noundef @.str.4)
  %8945 = call ptr @__errno_location() #12
  %8946 = load i32, ptr %8945, align 4, !tbaa !5
  %8947 = call ptr @strerror(i32 noundef %8946) #11
  %8948 = call ptr @__errno_location() #12
  %8949 = load i32, ptr %8948, align 4, !tbaa !5
  %8950 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8937, ptr noundef @.str.5, i32 noundef %8938, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 331, ptr noundef %8941, ptr noundef %8944, ptr noundef %8947, i32 noundef %8949) #11
  br label %8951

8951:                                             ; preds = %8934, %8917
  call void @llvm.lifetime.end.p0(i64 4, ptr %186) #11
  br label %8952

8952:                                             ; preds = %8951
  br label %8953

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

8954:                                             ; No predecessors!
  br label %8955

8955:                                             ; preds = %8954
  br label %8956

8956:                                             ; preds = %8955, %8896
  br label %8957

8957:                                             ; preds = %8956
  br label %8958

8958:                                             ; preds = %8957
  br label %8959

8959:                                             ; preds = %8958
  br label %8960

8960:                                             ; preds = %8959
  br label %8961

8961:                                             ; preds = %8960
  %8962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %8962, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %8963 = call ptr @__errno_location() #12
  store i32 0, ptr %8963, align 4, !tbaa !5
  br label %8964

8964:                                             ; preds = %8961
  br label %8965

8965:                                             ; preds = %8964
  br label %8966

8966:                                             ; preds = %8965
  br label %8967

8967:                                             ; preds = %8966
  br label %8968

8968:                                             ; preds = %8967
  %8969 = load i32, ptr @test_count, align 4, !tbaa !5
  %8970 = add nsw i32 %8969, 1
  store i32 %8970, ptr @test_count, align 4, !tbaa !5
  %8971 = load i32, ptr %173, align 4, !tbaa !5
  %8972 = icmp eq i32 %8971, 1
  br i1 %8972, label %9026, label %8973

8973:                                             ; preds = %8968
  br label %8974

8974:                                             ; preds = %8973
  br label %8975

8975:                                             ; preds = %8974
  call void @llvm.lifetime.start.p0(i64 4, ptr %187) #11
  %8976 = call ptr @__errno_location() #12
  %8977 = load i32, ptr %8976, align 4, !tbaa !5
  store i32 %8977, ptr %187, align 4, !tbaa !5
  %8978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8979 = call i32 @s2n_print_stacktrace(ptr noundef %8978)
  %8980 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8981 = trunc i8 %8980 to i1
  br i1 %8981, label %8982, label %9004

8982:                                             ; preds = %8975
  %8983 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8984 = call i32 @fileno(ptr noundef %8983) #11
  %8985 = call i32 @isatty(i32 noundef %8984) #11
  %8986 = icmp ne i32 %8985, 0
  br i1 %8986, label %8987, label %9004

8987:                                             ; preds = %8982
  %8988 = load i32, ptr %187, align 4, !tbaa !5
  %8989 = call ptr @__errno_location() #12
  store i32 %8988, ptr %8989, align 4, !tbaa !5
  %8990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8991 = load i32, ptr @test_count, align 4, !tbaa !5
  %8992 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8993 = load i32, ptr %8992, align 4, !tbaa !5
  %8994 = call ptr @s2n_strerror(i32 noundef %8993, ptr noundef @.str.4)
  %8995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %8996 = load i32, ptr %8995, align 4, !tbaa !5
  %8997 = call ptr @s2n_strerror_debug(i32 noundef %8996, ptr noundef @.str.4)
  %8998 = call ptr @__errno_location() #12
  %8999 = load i32, ptr %8998, align 4, !tbaa !5
  %9000 = call ptr @strerror(i32 noundef %8999) #11
  %9001 = call ptr @__errno_location() #12
  %9002 = load i32, ptr %9001, align 4, !tbaa !5
  %9003 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8990, ptr noundef @.str.2, i32 noundef %8991, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 332, ptr noundef %8994, ptr noundef %8997, ptr noundef %9000, i32 noundef %9002) #11
  br label %9021

9004:                                             ; preds = %8982, %8975
  %9005 = load i32, ptr %187, align 4, !tbaa !5
  %9006 = call ptr @__errno_location() #12
  store i32 %9005, ptr %9006, align 4, !tbaa !5
  %9007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9008 = load i32, ptr @test_count, align 4, !tbaa !5
  %9009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9010 = load i32, ptr %9009, align 4, !tbaa !5
  %9011 = call ptr @s2n_strerror(i32 noundef %9010, ptr noundef @.str.4)
  %9012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9013 = load i32, ptr %9012, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef %9013, ptr noundef @.str.4)
  %9015 = call ptr @__errno_location() #12
  %9016 = load i32, ptr %9015, align 4, !tbaa !5
  %9017 = call ptr @strerror(i32 noundef %9016) #11
  %9018 = call ptr @__errno_location() #12
  %9019 = load i32, ptr %9018, align 4, !tbaa !5
  %9020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9007, ptr noundef @.str.5, i32 noundef %9008, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 332, ptr noundef %9011, ptr noundef %9014, ptr noundef %9017, i32 noundef %9019) #11
  br label %9021

9021:                                             ; preds = %9004, %8987
  call void @llvm.lifetime.end.p0(i64 4, ptr %187) #11
  br label %9022

9022:                                             ; preds = %9021
  br label %9023

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

9024:                                             ; No predecessors!
  br label %9025

9025:                                             ; preds = %9024
  br label %9026

9026:                                             ; preds = %9025, %8968
  br label %9027

9027:                                             ; preds = %9026
  br label %9028

9028:                                             ; preds = %9027
  br label %9029

9029:                                             ; preds = %9028
  %9030 = load i32, ptr @test_count, align 4, !tbaa !5
  %9031 = add nsw i32 %9030, 1
  store i32 %9031, ptr @test_count, align 4, !tbaa !5
  %9032 = load ptr, ptr %166, align 8, !tbaa !9
  %9033 = call i32 @s2n_conn_get_current_message_type(ptr noundef %9032)
  %9034 = icmp eq i32 %9033, 19
  br i1 %9034, label %9088, label %9035

9035:                                             ; preds = %9029
  br label %9036

9036:                                             ; preds = %9035
  br label %9037

9037:                                             ; preds = %9036
  call void @llvm.lifetime.start.p0(i64 4, ptr %188) #11
  %9038 = call ptr @__errno_location() #12
  %9039 = load i32, ptr %9038, align 4, !tbaa !5
  store i32 %9039, ptr %188, align 4, !tbaa !5
  %9040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9041 = call i32 @s2n_print_stacktrace(ptr noundef %9040)
  %9042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9043 = trunc i8 %9042 to i1
  br i1 %9043, label %9044, label %9066

9044:                                             ; preds = %9037
  %9045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9046 = call i32 @fileno(ptr noundef %9045) #11
  %9047 = call i32 @isatty(i32 noundef %9046) #11
  %9048 = icmp ne i32 %9047, 0
  br i1 %9048, label %9049, label %9066

9049:                                             ; preds = %9044
  %9050 = load i32, ptr %188, align 4, !tbaa !5
  %9051 = call ptr @__errno_location() #12
  store i32 %9050, ptr %9051, align 4, !tbaa !5
  %9052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9053 = load i32, ptr @test_count, align 4, !tbaa !5
  %9054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9055 = load i32, ptr %9054, align 4, !tbaa !5
  %9056 = call ptr @s2n_strerror(i32 noundef %9055, ptr noundef @.str.4)
  %9057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9058 = load i32, ptr %9057, align 4, !tbaa !5
  %9059 = call ptr @s2n_strerror_debug(i32 noundef %9058, ptr noundef @.str.4)
  %9060 = call ptr @__errno_location() #12
  %9061 = load i32, ptr %9060, align 4, !tbaa !5
  %9062 = call ptr @strerror(i32 noundef %9061) #11
  %9063 = call ptr @__errno_location() #12
  %9064 = load i32, ptr %9063, align 4, !tbaa !5
  %9065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9052, ptr noundef @.str.2, i32 noundef %9053, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 332, ptr noundef %9056, ptr noundef %9059, ptr noundef %9062, i32 noundef %9064) #11
  br label %9083

9066:                                             ; preds = %9044, %9037
  %9067 = load i32, ptr %188, align 4, !tbaa !5
  %9068 = call ptr @__errno_location() #12
  store i32 %9067, ptr %9068, align 4, !tbaa !5
  %9069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9070 = load i32, ptr @test_count, align 4, !tbaa !5
  %9071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9072 = load i32, ptr %9071, align 4, !tbaa !5
  %9073 = call ptr @s2n_strerror(i32 noundef %9072, ptr noundef @.str.4)
  %9074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9075 = load i32, ptr %9074, align 4, !tbaa !5
  %9076 = call ptr @s2n_strerror_debug(i32 noundef %9075, ptr noundef @.str.4)
  %9077 = call ptr @__errno_location() #12
  %9078 = load i32, ptr %9077, align 4, !tbaa !5
  %9079 = call ptr @strerror(i32 noundef %9078) #11
  %9080 = call ptr @__errno_location() #12
  %9081 = load i32, ptr %9080, align 4, !tbaa !5
  %9082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9069, ptr noundef @.str.5, i32 noundef %9070, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 332, ptr noundef %9073, ptr noundef %9076, ptr noundef %9079, i32 noundef %9081) #11
  br label %9083

9083:                                             ; preds = %9066, %9049
  call void @llvm.lifetime.end.p0(i64 4, ptr %188) #11
  br label %9084

9084:                                             ; preds = %9083
  br label %9085

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

9086:                                             ; No predecessors!
  br label %9087

9087:                                             ; preds = %9086
  br label %9088

9088:                                             ; preds = %9087, %9029
  br label %9089

9089:                                             ; preds = %9088
  br label %9090

9090:                                             ; preds = %9089
  br label %9091

9091:                                             ; preds = %9090
  %9092 = load i32, ptr @test_count, align 4, !tbaa !5
  %9093 = add nsw i32 %9092, 1
  store i32 %9093, ptr @test_count, align 4, !tbaa !5
  %9094 = load i64, ptr %174, align 8, !tbaa !42
  %9095 = icmp eq i64 %9094, 12
  br i1 %9095, label %9149, label %9096

9096:                                             ; preds = %9091
  br label %9097

9097:                                             ; preds = %9096
  br label %9098

9098:                                             ; preds = %9097
  call void @llvm.lifetime.start.p0(i64 4, ptr %189) #11
  %9099 = call ptr @__errno_location() #12
  %9100 = load i32, ptr %9099, align 4, !tbaa !5
  store i32 %9100, ptr %189, align 4, !tbaa !5
  %9101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9102 = call i32 @s2n_print_stacktrace(ptr noundef %9101)
  %9103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9104 = trunc i8 %9103 to i1
  br i1 %9104, label %9105, label %9127

9105:                                             ; preds = %9098
  %9106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9107 = call i32 @fileno(ptr noundef %9106) #11
  %9108 = call i32 @isatty(i32 noundef %9107) #11
  %9109 = icmp ne i32 %9108, 0
  br i1 %9109, label %9110, label %9127

9110:                                             ; preds = %9105
  %9111 = load i32, ptr %189, align 4, !tbaa !5
  %9112 = call ptr @__errno_location() #12
  store i32 %9111, ptr %9112, align 4, !tbaa !5
  %9113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9114 = load i32, ptr @test_count, align 4, !tbaa !5
  %9115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9116 = load i32, ptr %9115, align 4, !tbaa !5
  %9117 = call ptr @s2n_strerror(i32 noundef %9116, ptr noundef @.str.4)
  %9118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9119 = load i32, ptr %9118, align 4, !tbaa !5
  %9120 = call ptr @s2n_strerror_debug(i32 noundef %9119, ptr noundef @.str.4)
  %9121 = call ptr @__errno_location() #12
  %9122 = load i32, ptr %9121, align 4, !tbaa !5
  %9123 = call ptr @strerror(i32 noundef %9122) #11
  %9124 = call ptr @__errno_location() #12
  %9125 = load i32, ptr %9124, align 4, !tbaa !5
  %9126 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9113, ptr noundef @.str.2, i32 noundef %9114, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 333, ptr noundef %9117, ptr noundef %9120, ptr noundef %9123, i32 noundef %9125) #11
  br label %9144

9127:                                             ; preds = %9105, %9098
  %9128 = load i32, ptr %189, align 4, !tbaa !5
  %9129 = call ptr @__errno_location() #12
  store i32 %9128, ptr %9129, align 4, !tbaa !5
  %9130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9131 = load i32, ptr @test_count, align 4, !tbaa !5
  %9132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9133 = load i32, ptr %9132, align 4, !tbaa !5
  %9134 = call ptr @s2n_strerror(i32 noundef %9133, ptr noundef @.str.4)
  %9135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9136 = load i32, ptr %9135, align 4, !tbaa !5
  %9137 = call ptr @s2n_strerror_debug(i32 noundef %9136, ptr noundef @.str.4)
  %9138 = call ptr @__errno_location() #12
  %9139 = load i32, ptr %9138, align 4, !tbaa !5
  %9140 = call ptr @strerror(i32 noundef %9139) #11
  %9141 = call ptr @__errno_location() #12
  %9142 = load i32, ptr %9141, align 4, !tbaa !5
  %9143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9130, ptr noundef @.str.5, i32 noundef %9131, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 333, ptr noundef %9134, ptr noundef %9137, ptr noundef %9140, i32 noundef %9142) #11
  br label %9144

9144:                                             ; preds = %9127, %9110
  call void @llvm.lifetime.end.p0(i64 4, ptr %189) #11
  br label %9145

9145:                                             ; preds = %9144
  br label %9146

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

9147:                                             ; No predecessors!
  br label %9148

9148:                                             ; preds = %9147
  br label %9149

9149:                                             ; preds = %9148, %9091
  br label %9150

9150:                                             ; preds = %9149
  br label %9151

9151:                                             ; preds = %9150
  br label %9152

9152:                                             ; preds = %9151
  br label %9153

9153:                                             ; preds = %9152
  %9154 = load i32, ptr @test_count, align 4, !tbaa !5
  %9155 = add nsw i32 %9154, 1
  store i32 %9155, ptr @test_count, align 4, !tbaa !5
  %9156 = getelementptr inbounds [100 x i8], ptr %172, i64 0, i64 0
  %9157 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %9158 = call i32 @memcmp(ptr noundef %9156, ptr noundef %9157, i64 noundef 12) #14
  %9159 = icmp eq i32 %9158, 0
  br i1 %9159, label %9213, label %9160

9160:                                             ; preds = %9153
  br label %9161

9161:                                             ; preds = %9160
  br label %9162

9162:                                             ; preds = %9161
  call void @llvm.lifetime.start.p0(i64 4, ptr %190) #11
  %9163 = call ptr @__errno_location() #12
  %9164 = load i32, ptr %9163, align 4, !tbaa !5
  store i32 %9164, ptr %190, align 4, !tbaa !5
  %9165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9166 = call i32 @s2n_print_stacktrace(ptr noundef %9165)
  %9167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9168 = trunc i8 %9167 to i1
  br i1 %9168, label %9169, label %9191

9169:                                             ; preds = %9162
  %9170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9171 = call i32 @fileno(ptr noundef %9170) #11
  %9172 = call i32 @isatty(i32 noundef %9171) #11
  %9173 = icmp ne i32 %9172, 0
  br i1 %9173, label %9174, label %9191

9174:                                             ; preds = %9169
  %9175 = load i32, ptr %190, align 4, !tbaa !5
  %9176 = call ptr @__errno_location() #12
  store i32 %9175, ptr %9176, align 4, !tbaa !5
  %9177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9178 = load i32, ptr @test_count, align 4, !tbaa !5
  %9179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9180 = load i32, ptr %9179, align 4, !tbaa !5
  %9181 = call ptr @s2n_strerror(i32 noundef %9180, ptr noundef @.str.4)
  %9182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9183 = load i32, ptr %9182, align 4, !tbaa !5
  %9184 = call ptr @s2n_strerror_debug(i32 noundef %9183, ptr noundef @.str.4)
  %9185 = call ptr @__errno_location() #12
  %9186 = load i32, ptr %9185, align 4, !tbaa !5
  %9187 = call ptr @strerror(i32 noundef %9186) #11
  %9188 = call ptr @__errno_location() #12
  %9189 = load i32, ptr %9188, align 4, !tbaa !5
  %9190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9177, ptr noundef @.str.2, i32 noundef %9178, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 334, ptr noundef %9181, ptr noundef %9184, ptr noundef %9187, i32 noundef %9189) #11
  br label %9208

9191:                                             ; preds = %9169, %9162
  %9192 = load i32, ptr %190, align 4, !tbaa !5
  %9193 = call ptr @__errno_location() #12
  store i32 %9192, ptr %9193, align 4, !tbaa !5
  %9194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9195 = load i32, ptr @test_count, align 4, !tbaa !5
  %9196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9197 = load i32, ptr %9196, align 4, !tbaa !5
  %9198 = call ptr @s2n_strerror(i32 noundef %9197, ptr noundef @.str.4)
  %9199 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9200 = load i32, ptr %9199, align 4, !tbaa !5
  %9201 = call ptr @s2n_strerror_debug(i32 noundef %9200, ptr noundef @.str.4)
  %9202 = call ptr @__errno_location() #12
  %9203 = load i32, ptr %9202, align 4, !tbaa !5
  %9204 = call ptr @strerror(i32 noundef %9203) #11
  %9205 = call ptr @__errno_location() #12
  %9206 = load i32, ptr %9205, align 4, !tbaa !5
  %9207 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9194, ptr noundef @.str.5, i32 noundef %9195, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 334, ptr noundef %9198, ptr noundef %9201, ptr noundef %9204, i32 noundef %9206) #11
  br label %9208

9208:                                             ; preds = %9191, %9174
  call void @llvm.lifetime.end.p0(i64 4, ptr %190) #11
  br label %9209

9209:                                             ; preds = %9208
  br label %9210

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

9211:                                             ; No predecessors!
  br label %9212

9212:                                             ; preds = %9211
  br label %9213

9213:                                             ; preds = %9212, %9153
  br label %9214

9214:                                             ; preds = %9213
  br label %9215

9215:                                             ; preds = %9214
  br label %9216

9216:                                             ; preds = %9215
  br label %9217

9217:                                             ; preds = %9216
  br label %9218

9218:                                             ; preds = %9217
  %9219 = load i32, ptr @test_count, align 4, !tbaa !5
  %9220 = add nsw i32 %9219, 1
  store i32 %9220, ptr @test_count, align 4, !tbaa !5
  %9221 = load ptr, ptr %166, align 8, !tbaa !9
  %9222 = call i32 @s2n_connection_get_early_data_status(ptr noundef %9221, ptr noundef %175)
  %9223 = icmp eq i32 %9222, -1
  br i1 %9223, label %9224, label %9277

9224:                                             ; preds = %9218
  br label %9225

9225:                                             ; preds = %9224
  br label %9226

9226:                                             ; preds = %9225
  call void @llvm.lifetime.start.p0(i64 4, ptr %191) #11
  %9227 = call ptr @__errno_location() #12
  %9228 = load i32, ptr %9227, align 4, !tbaa !5
  store i32 %9228, ptr %191, align 4, !tbaa !5
  %9229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9230 = call i32 @s2n_print_stacktrace(ptr noundef %9229)
  %9231 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9232 = trunc i8 %9231 to i1
  br i1 %9232, label %9233, label %9255

9233:                                             ; preds = %9226
  %9234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9235 = call i32 @fileno(ptr noundef %9234) #11
  %9236 = call i32 @isatty(i32 noundef %9235) #11
  %9237 = icmp ne i32 %9236, 0
  br i1 %9237, label %9238, label %9255

9238:                                             ; preds = %9233
  %9239 = load i32, ptr %191, align 4, !tbaa !5
  %9240 = call ptr @__errno_location() #12
  store i32 %9239, ptr %9240, align 4, !tbaa !5
  %9241 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9242 = load i32, ptr @test_count, align 4, !tbaa !5
  %9243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9244 = load i32, ptr %9243, align 4, !tbaa !5
  %9245 = call ptr @s2n_strerror(i32 noundef %9244, ptr noundef @.str.4)
  %9246 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9247 = load i32, ptr %9246, align 4, !tbaa !5
  %9248 = call ptr @s2n_strerror_debug(i32 noundef %9247, ptr noundef @.str.4)
  %9249 = call ptr @__errno_location() #12
  %9250 = load i32, ptr %9249, align 4, !tbaa !5
  %9251 = call ptr @strerror(i32 noundef %9250) #11
  %9252 = call ptr @__errno_location() #12
  %9253 = load i32, ptr %9252, align 4, !tbaa !5
  %9254 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9241, ptr noundef @.str.2, i32 noundef %9242, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 336, ptr noundef %9245, ptr noundef %9248, ptr noundef %9251, i32 noundef %9253) #11
  br label %9272

9255:                                             ; preds = %9233, %9226
  %9256 = load i32, ptr %191, align 4, !tbaa !5
  %9257 = call ptr @__errno_location() #12
  store i32 %9256, ptr %9257, align 4, !tbaa !5
  %9258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9259 = load i32, ptr @test_count, align 4, !tbaa !5
  %9260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9261 = load i32, ptr %9260, align 4, !tbaa !5
  %9262 = call ptr @s2n_strerror(i32 noundef %9261, ptr noundef @.str.4)
  %9263 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9264 = load i32, ptr %9263, align 4, !tbaa !5
  %9265 = call ptr @s2n_strerror_debug(i32 noundef %9264, ptr noundef @.str.4)
  %9266 = call ptr @__errno_location() #12
  %9267 = load i32, ptr %9266, align 4, !tbaa !5
  %9268 = call ptr @strerror(i32 noundef %9267) #11
  %9269 = call ptr @__errno_location() #12
  %9270 = load i32, ptr %9269, align 4, !tbaa !5
  %9271 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9258, ptr noundef @.str.5, i32 noundef %9259, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 336, ptr noundef %9262, ptr noundef %9265, ptr noundef %9268, i32 noundef %9270) #11
  br label %9272

9272:                                             ; preds = %9255, %9238
  call void @llvm.lifetime.end.p0(i64 4, ptr %191) #11
  br label %9273

9273:                                             ; preds = %9272
  br label %9274

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

9275:                                             ; No predecessors!
  br label %9276

9276:                                             ; preds = %9275
  br label %9277

9277:                                             ; preds = %9276, %9218
  br label %9278

9278:                                             ; preds = %9277
  br label %9279

9279:                                             ; preds = %9278
  br label %9280

9280:                                             ; preds = %9279
  %9281 = load i32, ptr @test_count, align 4, !tbaa !5
  %9282 = add nsw i32 %9281, 1
  store i32 %9282, ptr @test_count, align 4, !tbaa !5
  %9283 = load i32, ptr %175, align 4, !tbaa !5
  %9284 = icmp eq i32 %9283, 0
  br i1 %9284, label %9338, label %9285

9285:                                             ; preds = %9280
  br label %9286

9286:                                             ; preds = %9285
  br label %9287

9287:                                             ; preds = %9286
  call void @llvm.lifetime.start.p0(i64 4, ptr %192) #11
  %9288 = call ptr @__errno_location() #12
  %9289 = load i32, ptr %9288, align 4, !tbaa !5
  store i32 %9289, ptr %192, align 4, !tbaa !5
  %9290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9291 = call i32 @s2n_print_stacktrace(ptr noundef %9290)
  %9292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9293 = trunc i8 %9292 to i1
  br i1 %9293, label %9294, label %9316

9294:                                             ; preds = %9287
  %9295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9296 = call i32 @fileno(ptr noundef %9295) #11
  %9297 = call i32 @isatty(i32 noundef %9296) #11
  %9298 = icmp ne i32 %9297, 0
  br i1 %9298, label %9299, label %9316

9299:                                             ; preds = %9294
  %9300 = load i32, ptr %192, align 4, !tbaa !5
  %9301 = call ptr @__errno_location() #12
  store i32 %9300, ptr %9301, align 4, !tbaa !5
  %9302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9303 = load i32, ptr @test_count, align 4, !tbaa !5
  %9304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9305 = load i32, ptr %9304, align 4, !tbaa !5
  %9306 = call ptr @s2n_strerror(i32 noundef %9305, ptr noundef @.str.4)
  %9307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9308 = load i32, ptr %9307, align 4, !tbaa !5
  %9309 = call ptr @s2n_strerror_debug(i32 noundef %9308, ptr noundef @.str.4)
  %9310 = call ptr @__errno_location() #12
  %9311 = load i32, ptr %9310, align 4, !tbaa !5
  %9312 = call ptr @strerror(i32 noundef %9311) #11
  %9313 = call ptr @__errno_location() #12
  %9314 = load i32, ptr %9313, align 4, !tbaa !5
  %9315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9302, ptr noundef @.str.2, i32 noundef %9303, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9306, ptr noundef %9309, ptr noundef %9312, i32 noundef %9314) #11
  br label %9333

9316:                                             ; preds = %9294, %9287
  %9317 = load i32, ptr %192, align 4, !tbaa !5
  %9318 = call ptr @__errno_location() #12
  store i32 %9317, ptr %9318, align 4, !tbaa !5
  %9319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9320 = load i32, ptr @test_count, align 4, !tbaa !5
  %9321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9322 = load i32, ptr %9321, align 4, !tbaa !5
  %9323 = call ptr @s2n_strerror(i32 noundef %9322, ptr noundef @.str.4)
  %9324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9325 = load i32, ptr %9324, align 4, !tbaa !5
  %9326 = call ptr @s2n_strerror_debug(i32 noundef %9325, ptr noundef @.str.4)
  %9327 = call ptr @__errno_location() #12
  %9328 = load i32, ptr %9327, align 4, !tbaa !5
  %9329 = call ptr @strerror(i32 noundef %9328) #11
  %9330 = call ptr @__errno_location() #12
  %9331 = load i32, ptr %9330, align 4, !tbaa !5
  %9332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9319, ptr noundef @.str.5, i32 noundef %9320, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 337, ptr noundef %9323, ptr noundef %9326, ptr noundef %9329, i32 noundef %9331) #11
  br label %9333

9333:                                             ; preds = %9316, %9299
  call void @llvm.lifetime.end.p0(i64 4, ptr %192) #11
  br label %9334

9334:                                             ; preds = %9333
  br label %9335

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

9336:                                             ; No predecessors!
  br label %9337

9337:                                             ; preds = %9336
  br label %9338

9338:                                             ; preds = %9337, %9280
  br label %9339

9339:                                             ; preds = %9338
  br label %9340

9340:                                             ; preds = %9339
  br label %9341

9341:                                             ; preds = %9340
  %9342 = load i32, ptr @test_count, align 4, !tbaa !5
  %9343 = add nsw i32 %9342, 1
  store i32 %9343, ptr @test_count, align 4, !tbaa !5
  %9344 = load ptr, ptr %166, align 8, !tbaa !9
  %9345 = load ptr, ptr %165, align 8, !tbaa !9
  %9346 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %9344, ptr noundef %9345)
  %9347 = icmp eq i32 %9346, -1
  br i1 %9347, label %9348, label %9401

9348:                                             ; preds = %9341
  br label %9349

9349:                                             ; preds = %9348
  br label %9350

9350:                                             ; preds = %9349
  call void @llvm.lifetime.start.p0(i64 4, ptr %193) #11
  %9351 = call ptr @__errno_location() #12
  %9352 = load i32, ptr %9351, align 4, !tbaa !5
  store i32 %9352, ptr %193, align 4, !tbaa !5
  %9353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9354 = call i32 @s2n_print_stacktrace(ptr noundef %9353)
  %9355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9356 = trunc i8 %9355 to i1
  br i1 %9356, label %9357, label %9379

9357:                                             ; preds = %9350
  %9358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9359 = call i32 @fileno(ptr noundef %9358) #11
  %9360 = call i32 @isatty(i32 noundef %9359) #11
  %9361 = icmp ne i32 %9360, 0
  br i1 %9361, label %9362, label %9379

9362:                                             ; preds = %9357
  %9363 = load i32, ptr %193, align 4, !tbaa !5
  %9364 = call ptr @__errno_location() #12
  store i32 %9363, ptr %9364, align 4, !tbaa !5
  %9365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9366 = load i32, ptr @test_count, align 4, !tbaa !5
  %9367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9368 = load i32, ptr %9367, align 4, !tbaa !5
  %9369 = call ptr @s2n_strerror(i32 noundef %9368, ptr noundef @.str.4)
  %9370 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9371 = load i32, ptr %9370, align 4, !tbaa !5
  %9372 = call ptr @s2n_strerror_debug(i32 noundef %9371, ptr noundef @.str.4)
  %9373 = call ptr @__errno_location() #12
  %9374 = load i32, ptr %9373, align 4, !tbaa !5
  %9375 = call ptr @strerror(i32 noundef %9374) #11
  %9376 = call ptr @__errno_location() #12
  %9377 = load i32, ptr %9376, align 4, !tbaa !5
  %9378 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9365, ptr noundef @.str.2, i32 noundef %9366, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 339, ptr noundef %9369, ptr noundef %9372, ptr noundef %9375, i32 noundef %9377) #11
  br label %9396

9379:                                             ; preds = %9357, %9350
  %9380 = load i32, ptr %193, align 4, !tbaa !5
  %9381 = call ptr @__errno_location() #12
  store i32 %9380, ptr %9381, align 4, !tbaa !5
  %9382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9383 = load i32, ptr @test_count, align 4, !tbaa !5
  %9384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9385 = load i32, ptr %9384, align 4, !tbaa !5
  %9386 = call ptr @s2n_strerror(i32 noundef %9385, ptr noundef @.str.4)
  %9387 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9388 = load i32, ptr %9387, align 4, !tbaa !5
  %9389 = call ptr @s2n_strerror_debug(i32 noundef %9388, ptr noundef @.str.4)
  %9390 = call ptr @__errno_location() #12
  %9391 = load i32, ptr %9390, align 4, !tbaa !5
  %9392 = call ptr @strerror(i32 noundef %9391) #11
  %9393 = call ptr @__errno_location() #12
  %9394 = load i32, ptr %9393, align 4, !tbaa !5
  %9395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9382, ptr noundef @.str.5, i32 noundef %9383, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 339, ptr noundef %9386, ptr noundef %9389, ptr noundef %9392, i32 noundef %9394) #11
  br label %9396

9396:                                             ; preds = %9379, %9362
  call void @llvm.lifetime.end.p0(i64 4, ptr %193) #11
  br label %9397

9397:                                             ; preds = %9396
  br label %9398

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

9399:                                             ; No predecessors!
  br label %9400

9400:                                             ; preds = %9399
  br label %9401

9401:                                             ; preds = %9400, %9341
  br label %9402

9402:                                             ; preds = %9401
  br label %9403

9403:                                             ; preds = %9402
  br label %9404

9404:                                             ; preds = %9403
  %9405 = load i32, ptr @test_count, align 4, !tbaa !5
  %9406 = add nsw i32 %9405, 1
  store i32 %9406, ptr @test_count, align 4, !tbaa !5
  %9407 = load ptr, ptr %165, align 8, !tbaa !9
  %9408 = call i32 @s2n_connection_free(ptr noundef %9407)
  %9409 = icmp eq i32 %9408, -1
  br i1 %9409, label %9410, label %9463

9410:                                             ; preds = %9404
  br label %9411

9411:                                             ; preds = %9410
  br label %9412

9412:                                             ; preds = %9411
  call void @llvm.lifetime.start.p0(i64 4, ptr %194) #11
  %9413 = call ptr @__errno_location() #12
  %9414 = load i32, ptr %9413, align 4, !tbaa !5
  store i32 %9414, ptr %194, align 4, !tbaa !5
  %9415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9416 = call i32 @s2n_print_stacktrace(ptr noundef %9415)
  %9417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9418 = trunc i8 %9417 to i1
  br i1 %9418, label %9419, label %9441

9419:                                             ; preds = %9412
  %9420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9421 = call i32 @fileno(ptr noundef %9420) #11
  %9422 = call i32 @isatty(i32 noundef %9421) #11
  %9423 = icmp ne i32 %9422, 0
  br i1 %9423, label %9424, label %9441

9424:                                             ; preds = %9419
  %9425 = load i32, ptr %194, align 4, !tbaa !5
  %9426 = call ptr @__errno_location() #12
  store i32 %9425, ptr %9426, align 4, !tbaa !5
  %9427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9428 = load i32, ptr @test_count, align 4, !tbaa !5
  %9429 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9430 = load i32, ptr %9429, align 4, !tbaa !5
  %9431 = call ptr @s2n_strerror(i32 noundef %9430, ptr noundef @.str.4)
  %9432 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9433 = load i32, ptr %9432, align 4, !tbaa !5
  %9434 = call ptr @s2n_strerror_debug(i32 noundef %9433, ptr noundef @.str.4)
  %9435 = call ptr @__errno_location() #12
  %9436 = load i32, ptr %9435, align 4, !tbaa !5
  %9437 = call ptr @strerror(i32 noundef %9436) #11
  %9438 = call ptr @__errno_location() #12
  %9439 = load i32, ptr %9438, align 4, !tbaa !5
  %9440 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9427, ptr noundef @.str.2, i32 noundef %9428, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 341, ptr noundef %9431, ptr noundef %9434, ptr noundef %9437, i32 noundef %9439) #11
  br label %9458

9441:                                             ; preds = %9419, %9412
  %9442 = load i32, ptr %194, align 4, !tbaa !5
  %9443 = call ptr @__errno_location() #12
  store i32 %9442, ptr %9443, align 4, !tbaa !5
  %9444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9445 = load i32, ptr @test_count, align 4, !tbaa !5
  %9446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9447 = load i32, ptr %9446, align 4, !tbaa !5
  %9448 = call ptr @s2n_strerror(i32 noundef %9447, ptr noundef @.str.4)
  %9449 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9450 = load i32, ptr %9449, align 4, !tbaa !5
  %9451 = call ptr @s2n_strerror_debug(i32 noundef %9450, ptr noundef @.str.4)
  %9452 = call ptr @__errno_location() #12
  %9453 = load i32, ptr %9452, align 4, !tbaa !5
  %9454 = call ptr @strerror(i32 noundef %9453) #11
  %9455 = call ptr @__errno_location() #12
  %9456 = load i32, ptr %9455, align 4, !tbaa !5
  %9457 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9444, ptr noundef @.str.5, i32 noundef %9445, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 341, ptr noundef %9448, ptr noundef %9451, ptr noundef %9454, i32 noundef %9456) #11
  br label %9458

9458:                                             ; preds = %9441, %9424
  call void @llvm.lifetime.end.p0(i64 4, ptr %194) #11
  br label %9459

9459:                                             ; preds = %9458
  br label %9460

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

9461:                                             ; No predecessors!
  br label %9462

9462:                                             ; preds = %9461
  br label %9463

9463:                                             ; preds = %9462, %9404
  br label %9464

9464:                                             ; preds = %9463
  br label %9465

9465:                                             ; preds = %9464
  br label %9466

9466:                                             ; preds = %9465
  %9467 = load i32, ptr @test_count, align 4, !tbaa !5
  %9468 = add nsw i32 %9467, 1
  store i32 %9468, ptr @test_count, align 4, !tbaa !5
  %9469 = load ptr, ptr %166, align 8, !tbaa !9
  %9470 = call i32 @s2n_connection_free(ptr noundef %9469)
  %9471 = icmp eq i32 %9470, -1
  br i1 %9471, label %9472, label %9525

9472:                                             ; preds = %9466
  br label %9473

9473:                                             ; preds = %9472
  br label %9474

9474:                                             ; preds = %9473
  call void @llvm.lifetime.start.p0(i64 4, ptr %195) #11
  %9475 = call ptr @__errno_location() #12
  %9476 = load i32, ptr %9475, align 4, !tbaa !5
  store i32 %9476, ptr %195, align 4, !tbaa !5
  %9477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9478 = call i32 @s2n_print_stacktrace(ptr noundef %9477)
  %9479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9480 = trunc i8 %9479 to i1
  br i1 %9480, label %9481, label %9503

9481:                                             ; preds = %9474
  %9482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9483 = call i32 @fileno(ptr noundef %9482) #11
  %9484 = call i32 @isatty(i32 noundef %9483) #11
  %9485 = icmp ne i32 %9484, 0
  br i1 %9485, label %9486, label %9503

9486:                                             ; preds = %9481
  %9487 = load i32, ptr %195, align 4, !tbaa !5
  %9488 = call ptr @__errno_location() #12
  store i32 %9487, ptr %9488, align 4, !tbaa !5
  %9489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9490 = load i32, ptr @test_count, align 4, !tbaa !5
  %9491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9492 = load i32, ptr %9491, align 4, !tbaa !5
  %9493 = call ptr @s2n_strerror(i32 noundef %9492, ptr noundef @.str.4)
  %9494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9495 = load i32, ptr %9494, align 4, !tbaa !5
  %9496 = call ptr @s2n_strerror_debug(i32 noundef %9495, ptr noundef @.str.4)
  %9497 = call ptr @__errno_location() #12
  %9498 = load i32, ptr %9497, align 4, !tbaa !5
  %9499 = call ptr @strerror(i32 noundef %9498) #11
  %9500 = call ptr @__errno_location() #12
  %9501 = load i32, ptr %9500, align 4, !tbaa !5
  %9502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9489, ptr noundef @.str.2, i32 noundef %9490, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 342, ptr noundef %9493, ptr noundef %9496, ptr noundef %9499, i32 noundef %9501) #11
  br label %9520

9503:                                             ; preds = %9481, %9474
  %9504 = load i32, ptr %195, align 4, !tbaa !5
  %9505 = call ptr @__errno_location() #12
  store i32 %9504, ptr %9505, align 4, !tbaa !5
  %9506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9507 = load i32, ptr @test_count, align 4, !tbaa !5
  %9508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9509 = load i32, ptr %9508, align 4, !tbaa !5
  %9510 = call ptr @s2n_strerror(i32 noundef %9509, ptr noundef @.str.4)
  %9511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9512 = load i32, ptr %9511, align 4, !tbaa !5
  %9513 = call ptr @s2n_strerror_debug(i32 noundef %9512, ptr noundef @.str.4)
  %9514 = call ptr @__errno_location() #12
  %9515 = load i32, ptr %9514, align 4, !tbaa !5
  %9516 = call ptr @strerror(i32 noundef %9515) #11
  %9517 = call ptr @__errno_location() #12
  %9518 = load i32, ptr %9517, align 4, !tbaa !5
  %9519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9506, ptr noundef @.str.5, i32 noundef %9507, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 342, ptr noundef %9510, ptr noundef %9513, ptr noundef %9516, i32 noundef %9518) #11
  br label %9520

9520:                                             ; preds = %9503, %9486
  call void @llvm.lifetime.end.p0(i64 4, ptr %195) #11
  br label %9521

9521:                                             ; preds = %9520
  br label %9522

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

9523:                                             ; No predecessors!
  br label %9524

9524:                                             ; preds = %9523
  br label %9525

9525:                                             ; preds = %9524, %9466
  br label %9526

9526:                                             ; preds = %9525
  br label %9527

9527:                                             ; preds = %9526
  call void @llvm.lifetime.end.p0(i64 4, ptr %175) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %174) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %173) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %172) #11
  %9528 = call i32 @s2n_io_pair_close(ptr noundef %167)
  call void @llvm.lifetime.end.p0(i64 8, ptr %167) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %166) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %165) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %196) #11
  store ptr null, ptr %196, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %197) #11
  store ptr null, ptr %197, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %198) #11
  call void @llvm.memset.p0.i64(ptr align 4 %198, i8 0, i64 8, i1 false)
  br label %9529

9529:                                             ; preds = %9527
  %9530 = load i32, ptr @test_count, align 4, !tbaa !5
  %9531 = add nsw i32 %9530, 1
  store i32 %9531, ptr @test_count, align 4, !tbaa !5
  %9532 = call i32 @s2n_test_client_and_server_new(ptr noundef %196, ptr noundef %197, ptr noundef %198)
  %9533 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  store i32 %9532, ptr %9533, align 4
  %9534 = getelementptr inbounds %struct.s2n_result, ptr %199, i32 0, i32 0
  %9535 = load i32, ptr %9534, align 4
  %9536 = call zeroext i1 @s2n_result_is_ok(i32 %9535)
  br i1 %9536, label %9590, label %9537

9537:                                             ; preds = %9529
  br label %9538

9538:                                             ; preds = %9537
  br label %9539

9539:                                             ; preds = %9538
  call void @llvm.lifetime.start.p0(i64 4, ptr %200) #11
  %9540 = call ptr @__errno_location() #12
  %9541 = load i32, ptr %9540, align 4, !tbaa !5
  store i32 %9541, ptr %200, align 4, !tbaa !5
  %9542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9543 = call i32 @s2n_print_stacktrace(ptr noundef %9542)
  %9544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9545 = trunc i8 %9544 to i1
  br i1 %9545, label %9546, label %9568

9546:                                             ; preds = %9539
  %9547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9548 = call i32 @fileno(ptr noundef %9547) #11
  %9549 = call i32 @isatty(i32 noundef %9548) #11
  %9550 = icmp ne i32 %9549, 0
  br i1 %9550, label %9551, label %9568

9551:                                             ; preds = %9546
  %9552 = load i32, ptr %200, align 4, !tbaa !5
  %9553 = call ptr @__errno_location() #12
  store i32 %9552, ptr %9553, align 4, !tbaa !5
  %9554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9555 = load i32, ptr @test_count, align 4, !tbaa !5
  %9556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9557 = load i32, ptr %9556, align 4, !tbaa !5
  %9558 = call ptr @s2n_strerror(i32 noundef %9557, ptr noundef @.str.4)
  %9559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9560 = load i32, ptr %9559, align 4, !tbaa !5
  %9561 = call ptr @s2n_strerror_debug(i32 noundef %9560, ptr noundef @.str.4)
  %9562 = call ptr @__errno_location() #12
  %9563 = load i32, ptr %9562, align 4, !tbaa !5
  %9564 = call ptr @strerror(i32 noundef %9563) #11
  %9565 = call ptr @__errno_location() #12
  %9566 = load i32, ptr %9565, align 4, !tbaa !5
  %9567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9554, ptr noundef @.str.2, i32 noundef %9555, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 349, ptr noundef %9558, ptr noundef %9561, ptr noundef %9564, i32 noundef %9566) #11
  br label %9585

9568:                                             ; preds = %9546, %9539
  %9569 = load i32, ptr %200, align 4, !tbaa !5
  %9570 = call ptr @__errno_location() #12
  store i32 %9569, ptr %9570, align 4, !tbaa !5
  %9571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9572 = load i32, ptr @test_count, align 4, !tbaa !5
  %9573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9574 = load i32, ptr %9573, align 4, !tbaa !5
  %9575 = call ptr @s2n_strerror(i32 noundef %9574, ptr noundef @.str.4)
  %9576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9577 = load i32, ptr %9576, align 4, !tbaa !5
  %9578 = call ptr @s2n_strerror_debug(i32 noundef %9577, ptr noundef @.str.4)
  %9579 = call ptr @__errno_location() #12
  %9580 = load i32, ptr %9579, align 4, !tbaa !5
  %9581 = call ptr @strerror(i32 noundef %9580) #11
  %9582 = call ptr @__errno_location() #12
  %9583 = load i32, ptr %9582, align 4, !tbaa !5
  %9584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9571, ptr noundef @.str.5, i32 noundef %9572, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 349, ptr noundef %9575, ptr noundef %9578, ptr noundef %9581, i32 noundef %9583) #11
  br label %9585

9585:                                             ; preds = %9568, %9551
  call void @llvm.lifetime.end.p0(i64 4, ptr %200) #11
  br label %9586

9586:                                             ; preds = %9585
  br label %9587

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

9588:                                             ; No predecessors!
  br label %9589

9589:                                             ; preds = %9588
  br label %9590

9590:                                             ; preds = %9589, %9529
  br label %9591

9591:                                             ; preds = %9590
  br label %9592

9592:                                             ; preds = %9591
  br label %9593

9593:                                             ; preds = %9592
  %9594 = load i32, ptr @test_count, align 4, !tbaa !5
  %9595 = add nsw i32 %9594, 1
  store i32 %9595, ptr @test_count, align 4, !tbaa !5
  %9596 = load ptr, ptr %196, align 8, !tbaa !9
  %9597 = load ptr, ptr %13, align 8, !tbaa !9
  %9598 = call i32 @s2n_connection_append_psk(ptr noundef %9596, ptr noundef %9597)
  %9599 = icmp eq i32 %9598, -1
  br i1 %9599, label %9600, label %9653

9600:                                             ; preds = %9593
  br label %9601

9601:                                             ; preds = %9600
  br label %9602

9602:                                             ; preds = %9601
  call void @llvm.lifetime.start.p0(i64 4, ptr %201) #11
  %9603 = call ptr @__errno_location() #12
  %9604 = load i32, ptr %9603, align 4, !tbaa !5
  store i32 %9604, ptr %201, align 4, !tbaa !5
  %9605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9606 = call i32 @s2n_print_stacktrace(ptr noundef %9605)
  %9607 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9608 = trunc i8 %9607 to i1
  br i1 %9608, label %9609, label %9631

9609:                                             ; preds = %9602
  %9610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9611 = call i32 @fileno(ptr noundef %9610) #11
  %9612 = call i32 @isatty(i32 noundef %9611) #11
  %9613 = icmp ne i32 %9612, 0
  br i1 %9613, label %9614, label %9631

9614:                                             ; preds = %9609
  %9615 = load i32, ptr %201, align 4, !tbaa !5
  %9616 = call ptr @__errno_location() #12
  store i32 %9615, ptr %9616, align 4, !tbaa !5
  %9617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9618 = load i32, ptr @test_count, align 4, !tbaa !5
  %9619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9620 = load i32, ptr %9619, align 4, !tbaa !5
  %9621 = call ptr @s2n_strerror(i32 noundef %9620, ptr noundef @.str.4)
  %9622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9623 = load i32, ptr %9622, align 4, !tbaa !5
  %9624 = call ptr @s2n_strerror_debug(i32 noundef %9623, ptr noundef @.str.4)
  %9625 = call ptr @__errno_location() #12
  %9626 = load i32, ptr %9625, align 4, !tbaa !5
  %9627 = call ptr @strerror(i32 noundef %9626) #11
  %9628 = call ptr @__errno_location() #12
  %9629 = load i32, ptr %9628, align 4, !tbaa !5
  %9630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9617, ptr noundef @.str.2, i32 noundef %9618, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 351, ptr noundef %9621, ptr noundef %9624, ptr noundef %9627, i32 noundef %9629) #11
  br label %9648

9631:                                             ; preds = %9609, %9602
  %9632 = load i32, ptr %201, align 4, !tbaa !5
  %9633 = call ptr @__errno_location() #12
  store i32 %9632, ptr %9633, align 4, !tbaa !5
  %9634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9635 = load i32, ptr @test_count, align 4, !tbaa !5
  %9636 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9637 = load i32, ptr %9636, align 4, !tbaa !5
  %9638 = call ptr @s2n_strerror(i32 noundef %9637, ptr noundef @.str.4)
  %9639 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9640 = load i32, ptr %9639, align 4, !tbaa !5
  %9641 = call ptr @s2n_strerror_debug(i32 noundef %9640, ptr noundef @.str.4)
  %9642 = call ptr @__errno_location() #12
  %9643 = load i32, ptr %9642, align 4, !tbaa !5
  %9644 = call ptr @strerror(i32 noundef %9643) #11
  %9645 = call ptr @__errno_location() #12
  %9646 = load i32, ptr %9645, align 4, !tbaa !5
  %9647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9634, ptr noundef @.str.5, i32 noundef %9635, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 351, ptr noundef %9638, ptr noundef %9641, ptr noundef %9644, i32 noundef %9646) #11
  br label %9648

9648:                                             ; preds = %9631, %9614
  call void @llvm.lifetime.end.p0(i64 4, ptr %201) #11
  br label %9649

9649:                                             ; preds = %9648
  br label %9650

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

9651:                                             ; No predecessors!
  br label %9652

9652:                                             ; preds = %9651
  br label %9653

9653:                                             ; preds = %9652, %9593
  br label %9654

9654:                                             ; preds = %9653
  br label %9655

9655:                                             ; preds = %9654
  br label %9656

9656:                                             ; preds = %9655
  %9657 = load i32, ptr @test_count, align 4, !tbaa !5
  %9658 = add nsw i32 %9657, 1
  store i32 %9658, ptr @test_count, align 4, !tbaa !5
  %9659 = load ptr, ptr %197, align 8, !tbaa !9
  %9660 = load ptr, ptr %13, align 8, !tbaa !9
  %9661 = call i32 @s2n_connection_append_psk(ptr noundef %9659, ptr noundef %9660)
  %9662 = icmp eq i32 %9661, -1
  br i1 %9662, label %9663, label %9716

9663:                                             ; preds = %9656
  br label %9664

9664:                                             ; preds = %9663
  br label %9665

9665:                                             ; preds = %9664
  call void @llvm.lifetime.start.p0(i64 4, ptr %202) #11
  %9666 = call ptr @__errno_location() #12
  %9667 = load i32, ptr %9666, align 4, !tbaa !5
  store i32 %9667, ptr %202, align 4, !tbaa !5
  %9668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9669 = call i32 @s2n_print_stacktrace(ptr noundef %9668)
  %9670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9671 = trunc i8 %9670 to i1
  br i1 %9671, label %9672, label %9694

9672:                                             ; preds = %9665
  %9673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9674 = call i32 @fileno(ptr noundef %9673) #11
  %9675 = call i32 @isatty(i32 noundef %9674) #11
  %9676 = icmp ne i32 %9675, 0
  br i1 %9676, label %9677, label %9694

9677:                                             ; preds = %9672
  %9678 = load i32, ptr %202, align 4, !tbaa !5
  %9679 = call ptr @__errno_location() #12
  store i32 %9678, ptr %9679, align 4, !tbaa !5
  %9680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9681 = load i32, ptr @test_count, align 4, !tbaa !5
  %9682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9683 = load i32, ptr %9682, align 4, !tbaa !5
  %9684 = call ptr @s2n_strerror(i32 noundef %9683, ptr noundef @.str.4)
  %9685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9686 = load i32, ptr %9685, align 4, !tbaa !5
  %9687 = call ptr @s2n_strerror_debug(i32 noundef %9686, ptr noundef @.str.4)
  %9688 = call ptr @__errno_location() #12
  %9689 = load i32, ptr %9688, align 4, !tbaa !5
  %9690 = call ptr @strerror(i32 noundef %9689) #11
  %9691 = call ptr @__errno_location() #12
  %9692 = load i32, ptr %9691, align 4, !tbaa !5
  %9693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9680, ptr noundef @.str.2, i32 noundef %9681, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 352, ptr noundef %9684, ptr noundef %9687, ptr noundef %9690, i32 noundef %9692) #11
  br label %9711

9694:                                             ; preds = %9672, %9665
  %9695 = load i32, ptr %202, align 4, !tbaa !5
  %9696 = call ptr @__errno_location() #12
  store i32 %9695, ptr %9696, align 4, !tbaa !5
  %9697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9698 = load i32, ptr @test_count, align 4, !tbaa !5
  %9699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9700 = load i32, ptr %9699, align 4, !tbaa !5
  %9701 = call ptr @s2n_strerror(i32 noundef %9700, ptr noundef @.str.4)
  %9702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9703 = load i32, ptr %9702, align 4, !tbaa !5
  %9704 = call ptr @s2n_strerror_debug(i32 noundef %9703, ptr noundef @.str.4)
  %9705 = call ptr @__errno_location() #12
  %9706 = load i32, ptr %9705, align 4, !tbaa !5
  %9707 = call ptr @strerror(i32 noundef %9706) #11
  %9708 = call ptr @__errno_location() #12
  %9709 = load i32, ptr %9708, align 4, !tbaa !5
  %9710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9697, ptr noundef @.str.5, i32 noundef %9698, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 352, ptr noundef %9701, ptr noundef %9704, ptr noundef %9707, i32 noundef %9709) #11
  br label %9711

9711:                                             ; preds = %9694, %9677
  call void @llvm.lifetime.end.p0(i64 4, ptr %202) #11
  br label %9712

9712:                                             ; preds = %9711
  br label %9713

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

9714:                                             ; No predecessors!
  br label %9715

9715:                                             ; preds = %9714
  br label %9716

9716:                                             ; preds = %9715, %9656
  br label %9717

9717:                                             ; preds = %9716
  br label %9718

9718:                                             ; preds = %9717
  call void @llvm.lifetime.start.p0(i64 100, ptr %203) #11
  call void @llvm.memset.p0.i64(ptr align 16 %203, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %204) #11
  store i32 0, ptr %204, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %205) #11
  store i64 0, ptr %205, align 8, !tbaa !42
  br label %9719

9719:                                             ; preds = %9718
  br label %9720

9720:                                             ; preds = %9719
  br label %9721

9721:                                             ; preds = %9720
  %9722 = load i32, ptr @test_count, align 4, !tbaa !5
  %9723 = add nsw i32 %9722, 1
  store i32 %9723, ptr @test_count, align 4, !tbaa !5
  %9724 = load ptr, ptr %196, align 8, !tbaa !9
  %9725 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %9726 = call i32 @s2n_send_early_data(ptr noundef %9724, ptr noundef %9725, i64 noundef 12, ptr noundef %205, ptr noundef %204)
  %9727 = icmp eq i32 %9726, -1
  br i1 %9727, label %9781, label %9728

9728:                                             ; preds = %9721
  br label %9729

9729:                                             ; preds = %9728
  br label %9730

9730:                                             ; preds = %9729
  call void @llvm.lifetime.start.p0(i64 4, ptr %206) #11
  %9731 = call ptr @__errno_location() #12
  %9732 = load i32, ptr %9731, align 4, !tbaa !5
  store i32 %9732, ptr %206, align 4, !tbaa !5
  %9733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9734 = call i32 @s2n_print_stacktrace(ptr noundef %9733)
  %9735 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9736 = trunc i8 %9735 to i1
  br i1 %9736, label %9737, label %9759

9737:                                             ; preds = %9730
  %9738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9739 = call i32 @fileno(ptr noundef %9738) #11
  %9740 = call i32 @isatty(i32 noundef %9739) #11
  %9741 = icmp ne i32 %9740, 0
  br i1 %9741, label %9742, label %9759

9742:                                             ; preds = %9737
  %9743 = load i32, ptr %206, align 4, !tbaa !5
  %9744 = call ptr @__errno_location() #12
  store i32 %9743, ptr %9744, align 4, !tbaa !5
  %9745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9746 = load i32, ptr @test_count, align 4, !tbaa !5
  %9747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9748 = load i32, ptr %9747, align 4, !tbaa !5
  %9749 = call ptr @s2n_strerror(i32 noundef %9748, ptr noundef @.str.4)
  %9750 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9751 = load i32, ptr %9750, align 4, !tbaa !5
  %9752 = call ptr @s2n_strerror_debug(i32 noundef %9751, ptr noundef @.str.4)
  %9753 = call ptr @__errno_location() #12
  %9754 = load i32, ptr %9753, align 4, !tbaa !5
  %9755 = call ptr @strerror(i32 noundef %9754) #11
  %9756 = call ptr @__errno_location() #12
  %9757 = load i32, ptr %9756, align 4, !tbaa !5
  %9758 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9745, ptr noundef @.str.2, i32 noundef %9746, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9749, ptr noundef %9752, ptr noundef %9755, i32 noundef %9757) #11
  br label %9776

9759:                                             ; preds = %9737, %9730
  %9760 = load i32, ptr %206, align 4, !tbaa !5
  %9761 = call ptr @__errno_location() #12
  store i32 %9760, ptr %9761, align 4, !tbaa !5
  %9762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9763 = load i32, ptr @test_count, align 4, !tbaa !5
  %9764 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9765 = load i32, ptr %9764, align 4, !tbaa !5
  %9766 = call ptr @s2n_strerror(i32 noundef %9765, ptr noundef @.str.4)
  %9767 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9768 = load i32, ptr %9767, align 4, !tbaa !5
  %9769 = call ptr @s2n_strerror_debug(i32 noundef %9768, ptr noundef @.str.4)
  %9770 = call ptr @__errno_location() #12
  %9771 = load i32, ptr %9770, align 4, !tbaa !5
  %9772 = call ptr @strerror(i32 noundef %9771) #11
  %9773 = call ptr @__errno_location() #12
  %9774 = load i32, ptr %9773, align 4, !tbaa !5
  %9775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9762, ptr noundef @.str.5, i32 noundef %9763, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9766, ptr noundef %9769, ptr noundef %9772, i32 noundef %9774) #11
  br label %9776

9776:                                             ; preds = %9759, %9742
  call void @llvm.lifetime.end.p0(i64 4, ptr %206) #11
  br label %9777

9777:                                             ; preds = %9776
  br label %9778

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

9779:                                             ; No predecessors!
  br label %9780

9780:                                             ; preds = %9779
  br label %9781

9781:                                             ; preds = %9780, %9721
  br label %9782

9782:                                             ; preds = %9781
  br label %9783

9783:                                             ; preds = %9782
  br label %9784

9784:                                             ; preds = %9783
  %9785 = load i32, ptr @test_count, align 4, !tbaa !5
  %9786 = add nsw i32 %9785, 1
  store i32 %9786, ptr @test_count, align 4, !tbaa !5
  %9787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9788 = load i32, ptr %9787, align 4, !tbaa !5
  %9789 = icmp eq i32 %9788, 201326592
  br i1 %9789, label %9843, label %9790

9790:                                             ; preds = %9784
  br label %9791

9791:                                             ; preds = %9790
  br label %9792

9792:                                             ; preds = %9791
  call void @llvm.lifetime.start.p0(i64 4, ptr %207) #11
  %9793 = call ptr @__errno_location() #12
  %9794 = load i32, ptr %9793, align 4, !tbaa !5
  store i32 %9794, ptr %207, align 4, !tbaa !5
  %9795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9796 = call i32 @s2n_print_stacktrace(ptr noundef %9795)
  %9797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9798 = trunc i8 %9797 to i1
  br i1 %9798, label %9799, label %9821

9799:                                             ; preds = %9792
  %9800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9801 = call i32 @fileno(ptr noundef %9800) #11
  %9802 = call i32 @isatty(i32 noundef %9801) #11
  %9803 = icmp ne i32 %9802, 0
  br i1 %9803, label %9804, label %9821

9804:                                             ; preds = %9799
  %9805 = load i32, ptr %207, align 4, !tbaa !5
  %9806 = call ptr @__errno_location() #12
  store i32 %9805, ptr %9806, align 4, !tbaa !5
  %9807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9808 = load i32, ptr @test_count, align 4, !tbaa !5
  %9809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9810 = load i32, ptr %9809, align 4, !tbaa !5
  %9811 = call ptr @s2n_strerror(i32 noundef %9810, ptr noundef @.str.4)
  %9812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9813 = load i32, ptr %9812, align 4, !tbaa !5
  %9814 = call ptr @s2n_strerror_debug(i32 noundef %9813, ptr noundef @.str.4)
  %9815 = call ptr @__errno_location() #12
  %9816 = load i32, ptr %9815, align 4, !tbaa !5
  %9817 = call ptr @strerror(i32 noundef %9816) #11
  %9818 = call ptr @__errno_location() #12
  %9819 = load i32, ptr %9818, align 4, !tbaa !5
  %9820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9807, ptr noundef @.str.2, i32 noundef %9808, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9811, ptr noundef %9814, ptr noundef %9817, i32 noundef %9819) #11
  br label %9838

9821:                                             ; preds = %9799, %9792
  %9822 = load i32, ptr %207, align 4, !tbaa !5
  %9823 = call ptr @__errno_location() #12
  store i32 %9822, ptr %9823, align 4, !tbaa !5
  %9824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9825 = load i32, ptr @test_count, align 4, !tbaa !5
  %9826 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9827 = load i32, ptr %9826, align 4, !tbaa !5
  %9828 = call ptr @s2n_strerror(i32 noundef %9827, ptr noundef @.str.4)
  %9829 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9830 = load i32, ptr %9829, align 4, !tbaa !5
  %9831 = call ptr @s2n_strerror_debug(i32 noundef %9830, ptr noundef @.str.4)
  %9832 = call ptr @__errno_location() #12
  %9833 = load i32, ptr %9832, align 4, !tbaa !5
  %9834 = call ptr @strerror(i32 noundef %9833) #11
  %9835 = call ptr @__errno_location() #12
  %9836 = load i32, ptr %9835, align 4, !tbaa !5
  %9837 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9824, ptr noundef @.str.5, i32 noundef %9825, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9828, ptr noundef %9831, ptr noundef %9834, i32 noundef %9836) #11
  br label %9838

9838:                                             ; preds = %9821, %9804
  call void @llvm.lifetime.end.p0(i64 4, ptr %207) #11
  br label %9839

9839:                                             ; preds = %9838
  br label %9840

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

9841:                                             ; No predecessors!
  br label %9842

9842:                                             ; preds = %9841
  br label %9843

9843:                                             ; preds = %9842, %9784
  br label %9844

9844:                                             ; preds = %9843
  br label %9845

9845:                                             ; preds = %9844
  br label %9846

9846:                                             ; preds = %9845
  %9847 = load i32, ptr @test_count, align 4, !tbaa !5
  %9848 = add nsw i32 %9847, 1
  store i32 %9848, ptr @test_count, align 4, !tbaa !5
  %9849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9850 = load i32, ptr %9849, align 4, !tbaa !5
  %9851 = call ptr @s2n_strerror_debug(i32 noundef %9850, ptr noundef @.str.4)
  %9852 = icmp eq ptr %9851, null
  br i1 %9852, label %9853, label %9906

9853:                                             ; preds = %9846
  br label %9854

9854:                                             ; preds = %9853
  br label %9855

9855:                                             ; preds = %9854
  call void @llvm.lifetime.start.p0(i64 4, ptr %208) #11
  %9856 = call ptr @__errno_location() #12
  %9857 = load i32, ptr %9856, align 4, !tbaa !5
  store i32 %9857, ptr %208, align 4, !tbaa !5
  %9858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9859 = call i32 @s2n_print_stacktrace(ptr noundef %9858)
  %9860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9861 = trunc i8 %9860 to i1
  br i1 %9861, label %9862, label %9884

9862:                                             ; preds = %9855
  %9863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9864 = call i32 @fileno(ptr noundef %9863) #11
  %9865 = call i32 @isatty(i32 noundef %9864) #11
  %9866 = icmp ne i32 %9865, 0
  br i1 %9866, label %9867, label %9884

9867:                                             ; preds = %9862
  %9868 = load i32, ptr %208, align 4, !tbaa !5
  %9869 = call ptr @__errno_location() #12
  store i32 %9868, ptr %9869, align 4, !tbaa !5
  %9870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9871 = load i32, ptr @test_count, align 4, !tbaa !5
  %9872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9873 = load i32, ptr %9872, align 4, !tbaa !5
  %9874 = call ptr @s2n_strerror(i32 noundef %9873, ptr noundef @.str.4)
  %9875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9876 = load i32, ptr %9875, align 4, !tbaa !5
  %9877 = call ptr @s2n_strerror_debug(i32 noundef %9876, ptr noundef @.str.4)
  %9878 = call ptr @__errno_location() #12
  %9879 = load i32, ptr %9878, align 4, !tbaa !5
  %9880 = call ptr @strerror(i32 noundef %9879) #11
  %9881 = call ptr @__errno_location() #12
  %9882 = load i32, ptr %9881, align 4, !tbaa !5
  %9883 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9870, ptr noundef @.str.2, i32 noundef %9871, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9874, ptr noundef %9877, ptr noundef %9880, i32 noundef %9882) #11
  br label %9901

9884:                                             ; preds = %9862, %9855
  %9885 = load i32, ptr %208, align 4, !tbaa !5
  %9886 = call ptr @__errno_location() #12
  store i32 %9885, ptr %9886, align 4, !tbaa !5
  %9887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9888 = load i32, ptr @test_count, align 4, !tbaa !5
  %9889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9890 = load i32, ptr %9889, align 4, !tbaa !5
  %9891 = call ptr @s2n_strerror(i32 noundef %9890, ptr noundef @.str.4)
  %9892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9893 = load i32, ptr %9892, align 4, !tbaa !5
  %9894 = call ptr @s2n_strerror_debug(i32 noundef %9893, ptr noundef @.str.4)
  %9895 = call ptr @__errno_location() #12
  %9896 = load i32, ptr %9895, align 4, !tbaa !5
  %9897 = call ptr @strerror(i32 noundef %9896) #11
  %9898 = call ptr @__errno_location() #12
  %9899 = load i32, ptr %9898, align 4, !tbaa !5
  %9900 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9887, ptr noundef @.str.5, i32 noundef %9888, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 358, ptr noundef %9891, ptr noundef %9894, ptr noundef %9897, i32 noundef %9899) #11
  br label %9901

9901:                                             ; preds = %9884, %9867
  call void @llvm.lifetime.end.p0(i64 4, ptr %208) #11
  br label %9902

9902:                                             ; preds = %9901
  br label %9903

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

9904:                                             ; No predecessors!
  br label %9905

9905:                                             ; preds = %9904
  br label %9906

9906:                                             ; preds = %9905, %9846
  br label %9907

9907:                                             ; preds = %9906
  br label %9908

9908:                                             ; preds = %9907
  br label %9909

9909:                                             ; preds = %9908
  br label %9910

9910:                                             ; preds = %9909
  br label %9911

9911:                                             ; preds = %9910
  %9912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %9912, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %9913 = call ptr @__errno_location() #12
  store i32 0, ptr %9913, align 4, !tbaa !5
  br label %9914

9914:                                             ; preds = %9911
  br label %9915

9915:                                             ; preds = %9914
  br label %9916

9916:                                             ; preds = %9915
  br label %9917

9917:                                             ; preds = %9916
  br label %9918

9918:                                             ; preds = %9917
  %9919 = load i32, ptr @test_count, align 4, !tbaa !5
  %9920 = add nsw i32 %9919, 1
  store i32 %9920, ptr @test_count, align 4, !tbaa !5
  %9921 = load i32, ptr %204, align 4, !tbaa !5
  %9922 = icmp eq i32 %9921, 1
  br i1 %9922, label %9976, label %9923

9923:                                             ; preds = %9918
  br label %9924

9924:                                             ; preds = %9923
  br label %9925

9925:                                             ; preds = %9924
  call void @llvm.lifetime.start.p0(i64 4, ptr %209) #11
  %9926 = call ptr @__errno_location() #12
  %9927 = load i32, ptr %9926, align 4, !tbaa !5
  store i32 %9927, ptr %209, align 4, !tbaa !5
  %9928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9929 = call i32 @s2n_print_stacktrace(ptr noundef %9928)
  %9930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9931 = trunc i8 %9930 to i1
  br i1 %9931, label %9932, label %9954

9932:                                             ; preds = %9925
  %9933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9934 = call i32 @fileno(ptr noundef %9933) #11
  %9935 = call i32 @isatty(i32 noundef %9934) #11
  %9936 = icmp ne i32 %9935, 0
  br i1 %9936, label %9937, label %9954

9937:                                             ; preds = %9932
  %9938 = load i32, ptr %209, align 4, !tbaa !5
  %9939 = call ptr @__errno_location() #12
  store i32 %9938, ptr %9939, align 4, !tbaa !5
  %9940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9941 = load i32, ptr @test_count, align 4, !tbaa !5
  %9942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9943 = load i32, ptr %9942, align 4, !tbaa !5
  %9944 = call ptr @s2n_strerror(i32 noundef %9943, ptr noundef @.str.4)
  %9945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9946 = load i32, ptr %9945, align 4, !tbaa !5
  %9947 = call ptr @s2n_strerror_debug(i32 noundef %9946, ptr noundef @.str.4)
  %9948 = call ptr @__errno_location() #12
  %9949 = load i32, ptr %9948, align 4, !tbaa !5
  %9950 = call ptr @strerror(i32 noundef %9949) #11
  %9951 = call ptr @__errno_location() #12
  %9952 = load i32, ptr %9951, align 4, !tbaa !5
  %9953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9940, ptr noundef @.str.2, i32 noundef %9941, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9944, ptr noundef %9947, ptr noundef %9950, i32 noundef %9952) #11
  br label %9971

9954:                                             ; preds = %9932, %9925
  %9955 = load i32, ptr %209, align 4, !tbaa !5
  %9956 = call ptr @__errno_location() #12
  store i32 %9955, ptr %9956, align 4, !tbaa !5
  %9957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9958 = load i32, ptr @test_count, align 4, !tbaa !5
  %9959 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9960 = load i32, ptr %9959, align 4, !tbaa !5
  %9961 = call ptr @s2n_strerror(i32 noundef %9960, ptr noundef @.str.4)
  %9962 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %9963 = load i32, ptr %9962, align 4, !tbaa !5
  %9964 = call ptr @s2n_strerror_debug(i32 noundef %9963, ptr noundef @.str.4)
  %9965 = call ptr @__errno_location() #12
  %9966 = load i32, ptr %9965, align 4, !tbaa !5
  %9967 = call ptr @strerror(i32 noundef %9966) #11
  %9968 = call ptr @__errno_location() #12
  %9969 = load i32, ptr %9968, align 4, !tbaa !5
  %9970 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9957, ptr noundef @.str.5, i32 noundef %9958, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 359, ptr noundef %9961, ptr noundef %9964, ptr noundef %9967, i32 noundef %9969) #11
  br label %9971

9971:                                             ; preds = %9954, %9937
  call void @llvm.lifetime.end.p0(i64 4, ptr %209) #11
  br label %9972

9972:                                             ; preds = %9971
  br label %9973

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

9974:                                             ; No predecessors!
  br label %9975

9975:                                             ; preds = %9974
  br label %9976

9976:                                             ; preds = %9975, %9918
  br label %9977

9977:                                             ; preds = %9976
  br label %9978

9978:                                             ; preds = %9977
  br label %9979

9979:                                             ; preds = %9978
  %9980 = load i32, ptr @test_count, align 4, !tbaa !5
  %9981 = add nsw i32 %9980, 1
  store i32 %9981, ptr @test_count, align 4, !tbaa !5
  %9982 = load ptr, ptr %196, align 8, !tbaa !9
  %9983 = call i32 @s2n_conn_get_current_message_type(ptr noundef %9982)
  %9984 = icmp eq i32 %9983, 1
  br i1 %9984, label %10038, label %9985

9985:                                             ; preds = %9979
  br label %9986

9986:                                             ; preds = %9985
  br label %9987

9987:                                             ; preds = %9986
  call void @llvm.lifetime.start.p0(i64 4, ptr %210) #11
  %9988 = call ptr @__errno_location() #12
  %9989 = load i32, ptr %9988, align 4, !tbaa !5
  store i32 %9989, ptr %210, align 4, !tbaa !5
  %9990 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9991 = call i32 @s2n_print_stacktrace(ptr noundef %9990)
  %9992 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9993 = trunc i8 %9992 to i1
  br i1 %9993, label %9994, label %10016

9994:                                             ; preds = %9987
  %9995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9996 = call i32 @fileno(ptr noundef %9995) #11
  %9997 = call i32 @isatty(i32 noundef %9996) #11
  %9998 = icmp ne i32 %9997, 0
  br i1 %9998, label %9999, label %10016

9999:                                             ; preds = %9994
  %10000 = load i32, ptr %210, align 4, !tbaa !5
  %10001 = call ptr @__errno_location() #12
  store i32 %10000, ptr %10001, align 4, !tbaa !5
  %10002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10003 = load i32, ptr @test_count, align 4, !tbaa !5
  %10004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10005 = load i32, ptr %10004, align 4, !tbaa !5
  %10006 = call ptr @s2n_strerror(i32 noundef %10005, ptr noundef @.str.4)
  %10007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10008 = load i32, ptr %10007, align 4, !tbaa !5
  %10009 = call ptr @s2n_strerror_debug(i32 noundef %10008, ptr noundef @.str.4)
  %10010 = call ptr @__errno_location() #12
  %10011 = load i32, ptr %10010, align 4, !tbaa !5
  %10012 = call ptr @strerror(i32 noundef %10011) #11
  %10013 = call ptr @__errno_location() #12
  %10014 = load i32, ptr %10013, align 4, !tbaa !5
  %10015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10002, ptr noundef @.str.2, i32 noundef %10003, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 359, ptr noundef %10006, ptr noundef %10009, ptr noundef %10012, i32 noundef %10014) #11
  br label %10033

10016:                                            ; preds = %9994, %9987
  %10017 = load i32, ptr %210, align 4, !tbaa !5
  %10018 = call ptr @__errno_location() #12
  store i32 %10017, ptr %10018, align 4, !tbaa !5
  %10019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10020 = load i32, ptr @test_count, align 4, !tbaa !5
  %10021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10022 = load i32, ptr %10021, align 4, !tbaa !5
  %10023 = call ptr @s2n_strerror(i32 noundef %10022, ptr noundef @.str.4)
  %10024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10025 = load i32, ptr %10024, align 4, !tbaa !5
  %10026 = call ptr @s2n_strerror_debug(i32 noundef %10025, ptr noundef @.str.4)
  %10027 = call ptr @__errno_location() #12
  %10028 = load i32, ptr %10027, align 4, !tbaa !5
  %10029 = call ptr @strerror(i32 noundef %10028) #11
  %10030 = call ptr @__errno_location() #12
  %10031 = load i32, ptr %10030, align 4, !tbaa !5
  %10032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10019, ptr noundef @.str.5, i32 noundef %10020, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 359, ptr noundef %10023, ptr noundef %10026, ptr noundef %10029, i32 noundef %10031) #11
  br label %10033

10033:                                            ; preds = %10016, %9999
  call void @llvm.lifetime.end.p0(i64 4, ptr %210) #11
  br label %10034

10034:                                            ; preds = %10033
  br label %10035

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

10036:                                            ; No predecessors!
  br label %10037

10037:                                            ; preds = %10036
  br label %10038

10038:                                            ; preds = %10037, %9979
  br label %10039

10039:                                            ; preds = %10038
  br label %10040

10040:                                            ; preds = %10039
  br label %10041

10041:                                            ; preds = %10040
  %10042 = load i32, ptr @test_count, align 4, !tbaa !5
  %10043 = add nsw i32 %10042, 1
  store i32 %10043, ptr @test_count, align 4, !tbaa !5
  %10044 = load i64, ptr %205, align 8, !tbaa !42
  %10045 = icmp eq i64 %10044, 12
  br i1 %10045, label %10099, label %10046

10046:                                            ; preds = %10041
  br label %10047

10047:                                            ; preds = %10046
  br label %10048

10048:                                            ; preds = %10047
  call void @llvm.lifetime.start.p0(i64 4, ptr %211) #11
  %10049 = call ptr @__errno_location() #12
  %10050 = load i32, ptr %10049, align 4, !tbaa !5
  store i32 %10050, ptr %211, align 4, !tbaa !5
  %10051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10052 = call i32 @s2n_print_stacktrace(ptr noundef %10051)
  %10053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10054 = trunc i8 %10053 to i1
  br i1 %10054, label %10055, label %10077

10055:                                            ; preds = %10048
  %10056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10057 = call i32 @fileno(ptr noundef %10056) #11
  %10058 = call i32 @isatty(i32 noundef %10057) #11
  %10059 = icmp ne i32 %10058, 0
  br i1 %10059, label %10060, label %10077

10060:                                            ; preds = %10055
  %10061 = load i32, ptr %211, align 4, !tbaa !5
  %10062 = call ptr @__errno_location() #12
  store i32 %10061, ptr %10062, align 4, !tbaa !5
  %10063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10064 = load i32, ptr @test_count, align 4, !tbaa !5
  %10065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10066 = load i32, ptr %10065, align 4, !tbaa !5
  %10067 = call ptr @s2n_strerror(i32 noundef %10066, ptr noundef @.str.4)
  %10068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10069 = load i32, ptr %10068, align 4, !tbaa !5
  %10070 = call ptr @s2n_strerror_debug(i32 noundef %10069, ptr noundef @.str.4)
  %10071 = call ptr @__errno_location() #12
  %10072 = load i32, ptr %10071, align 4, !tbaa !5
  %10073 = call ptr @strerror(i32 noundef %10072) #11
  %10074 = call ptr @__errno_location() #12
  %10075 = load i32, ptr %10074, align 4, !tbaa !5
  %10076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10063, ptr noundef @.str.2, i32 noundef %10064, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 360, ptr noundef %10067, ptr noundef %10070, ptr noundef %10073, i32 noundef %10075) #11
  br label %10094

10077:                                            ; preds = %10055, %10048
  %10078 = load i32, ptr %211, align 4, !tbaa !5
  %10079 = call ptr @__errno_location() #12
  store i32 %10078, ptr %10079, align 4, !tbaa !5
  %10080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10081 = load i32, ptr @test_count, align 4, !tbaa !5
  %10082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10083 = load i32, ptr %10082, align 4, !tbaa !5
  %10084 = call ptr @s2n_strerror(i32 noundef %10083, ptr noundef @.str.4)
  %10085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10086 = load i32, ptr %10085, align 4, !tbaa !5
  %10087 = call ptr @s2n_strerror_debug(i32 noundef %10086, ptr noundef @.str.4)
  %10088 = call ptr @__errno_location() #12
  %10089 = load i32, ptr %10088, align 4, !tbaa !5
  %10090 = call ptr @strerror(i32 noundef %10089) #11
  %10091 = call ptr @__errno_location() #12
  %10092 = load i32, ptr %10091, align 4, !tbaa !5
  %10093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10080, ptr noundef @.str.5, i32 noundef %10081, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 360, ptr noundef %10084, ptr noundef %10087, ptr noundef %10090, i32 noundef %10092) #11
  br label %10094

10094:                                            ; preds = %10077, %10060
  call void @llvm.lifetime.end.p0(i64 4, ptr %211) #11
  br label %10095

10095:                                            ; preds = %10094
  br label %10096

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

10097:                                            ; No predecessors!
  br label %10098

10098:                                            ; preds = %10097
  br label %10099

10099:                                            ; preds = %10098, %10041
  br label %10100

10100:                                            ; preds = %10099
  br label %10101

10101:                                            ; preds = %10100
  br label %10102

10102:                                            ; preds = %10101
  br label %10103

10103:                                            ; preds = %10102
  br label %10104

10104:                                            ; preds = %10103
  %10105 = load i32, ptr @test_count, align 4, !tbaa !5
  %10106 = add nsw i32 %10105, 1
  store i32 %10106, ptr @test_count, align 4, !tbaa !5
  %10107 = load ptr, ptr %197, align 8, !tbaa !9
  %10108 = call i32 @s2n_recv_early_data(ptr noundef %10107, ptr noundef null, i64 noundef 0, ptr noundef %205, ptr noundef %204)
  %10109 = icmp eq i32 %10108, -1
  br i1 %10109, label %10163, label %10110

10110:                                            ; preds = %10104
  br label %10111

10111:                                            ; preds = %10110
  br label %10112

10112:                                            ; preds = %10111
  call void @llvm.lifetime.start.p0(i64 4, ptr %212) #11
  %10113 = call ptr @__errno_location() #12
  %10114 = load i32, ptr %10113, align 4, !tbaa !5
  store i32 %10114, ptr %212, align 4, !tbaa !5
  %10115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10116 = call i32 @s2n_print_stacktrace(ptr noundef %10115)
  %10117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10118 = trunc i8 %10117 to i1
  br i1 %10118, label %10119, label %10141

10119:                                            ; preds = %10112
  %10120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10121 = call i32 @fileno(ptr noundef %10120) #11
  %10122 = call i32 @isatty(i32 noundef %10121) #11
  %10123 = icmp ne i32 %10122, 0
  br i1 %10123, label %10124, label %10141

10124:                                            ; preds = %10119
  %10125 = load i32, ptr %212, align 4, !tbaa !5
  %10126 = call ptr @__errno_location() #12
  store i32 %10125, ptr %10126, align 4, !tbaa !5
  %10127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10128 = load i32, ptr @test_count, align 4, !tbaa !5
  %10129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10130 = load i32, ptr %10129, align 4, !tbaa !5
  %10131 = call ptr @s2n_strerror(i32 noundef %10130, ptr noundef @.str.4)
  %10132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10133 = load i32, ptr %10132, align 4, !tbaa !5
  %10134 = call ptr @s2n_strerror_debug(i32 noundef %10133, ptr noundef @.str.4)
  %10135 = call ptr @__errno_location() #12
  %10136 = load i32, ptr %10135, align 4, !tbaa !5
  %10137 = call ptr @strerror(i32 noundef %10136) #11
  %10138 = call ptr @__errno_location() #12
  %10139 = load i32, ptr %10138, align 4, !tbaa !5
  %10140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10127, ptr noundef @.str.2, i32 noundef %10128, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10131, ptr noundef %10134, ptr noundef %10137, i32 noundef %10139) #11
  br label %10158

10141:                                            ; preds = %10119, %10112
  %10142 = load i32, ptr %212, align 4, !tbaa !5
  %10143 = call ptr @__errno_location() #12
  store i32 %10142, ptr %10143, align 4, !tbaa !5
  %10144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10145 = load i32, ptr @test_count, align 4, !tbaa !5
  %10146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10147 = load i32, ptr %10146, align 4, !tbaa !5
  %10148 = call ptr @s2n_strerror(i32 noundef %10147, ptr noundef @.str.4)
  %10149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10150 = load i32, ptr %10149, align 4, !tbaa !5
  %10151 = call ptr @s2n_strerror_debug(i32 noundef %10150, ptr noundef @.str.4)
  %10152 = call ptr @__errno_location() #12
  %10153 = load i32, ptr %10152, align 4, !tbaa !5
  %10154 = call ptr @strerror(i32 noundef %10153) #11
  %10155 = call ptr @__errno_location() #12
  %10156 = load i32, ptr %10155, align 4, !tbaa !5
  %10157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10144, ptr noundef @.str.5, i32 noundef %10145, ptr noundef @.str.68, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10148, ptr noundef %10151, ptr noundef %10154, i32 noundef %10156) #11
  br label %10158

10158:                                            ; preds = %10141, %10124
  call void @llvm.lifetime.end.p0(i64 4, ptr %212) #11
  br label %10159

10159:                                            ; preds = %10158
  br label %10160

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

10161:                                            ; No predecessors!
  br label %10162

10162:                                            ; preds = %10161
  br label %10163

10163:                                            ; preds = %10162, %10104
  br label %10164

10164:                                            ; preds = %10163
  br label %10165

10165:                                            ; preds = %10164
  br label %10166

10166:                                            ; preds = %10165
  %10167 = load i32, ptr @test_count, align 4, !tbaa !5
  %10168 = add nsw i32 %10167, 1
  store i32 %10168, ptr @test_count, align 4, !tbaa !5
  %10169 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10170 = load i32, ptr %10169, align 4, !tbaa !5
  %10171 = icmp eq i32 %10170, 201326594
  br i1 %10171, label %10225, label %10172

10172:                                            ; preds = %10166
  br label %10173

10173:                                            ; preds = %10172
  br label %10174

10174:                                            ; preds = %10173
  call void @llvm.lifetime.start.p0(i64 4, ptr %213) #11
  %10175 = call ptr @__errno_location() #12
  %10176 = load i32, ptr %10175, align 4, !tbaa !5
  store i32 %10176, ptr %213, align 4, !tbaa !5
  %10177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10178 = call i32 @s2n_print_stacktrace(ptr noundef %10177)
  %10179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10180 = trunc i8 %10179 to i1
  br i1 %10180, label %10181, label %10203

10181:                                            ; preds = %10174
  %10182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10183 = call i32 @fileno(ptr noundef %10182) #11
  %10184 = call i32 @isatty(i32 noundef %10183) #11
  %10185 = icmp ne i32 %10184, 0
  br i1 %10185, label %10186, label %10203

10186:                                            ; preds = %10181
  %10187 = load i32, ptr %213, align 4, !tbaa !5
  %10188 = call ptr @__errno_location() #12
  store i32 %10187, ptr %10188, align 4, !tbaa !5
  %10189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10190 = load i32, ptr @test_count, align 4, !tbaa !5
  %10191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10192 = load i32, ptr %10191, align 4, !tbaa !5
  %10193 = call ptr @s2n_strerror(i32 noundef %10192, ptr noundef @.str.4)
  %10194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10195 = load i32, ptr %10194, align 4, !tbaa !5
  %10196 = call ptr @s2n_strerror_debug(i32 noundef %10195, ptr noundef @.str.4)
  %10197 = call ptr @__errno_location() #12
  %10198 = load i32, ptr %10197, align 4, !tbaa !5
  %10199 = call ptr @strerror(i32 noundef %10198) #11
  %10200 = call ptr @__errno_location() #12
  %10201 = load i32, ptr %10200, align 4, !tbaa !5
  %10202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10189, ptr noundef @.str.2, i32 noundef %10190, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10193, ptr noundef %10196, ptr noundef %10199, i32 noundef %10201) #11
  br label %10220

10203:                                            ; preds = %10181, %10174
  %10204 = load i32, ptr %213, align 4, !tbaa !5
  %10205 = call ptr @__errno_location() #12
  store i32 %10204, ptr %10205, align 4, !tbaa !5
  %10206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10207 = load i32, ptr @test_count, align 4, !tbaa !5
  %10208 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10209 = load i32, ptr %10208, align 4, !tbaa !5
  %10210 = call ptr @s2n_strerror(i32 noundef %10209, ptr noundef @.str.4)
  %10211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10212 = load i32, ptr %10211, align 4, !tbaa !5
  %10213 = call ptr @s2n_strerror_debug(i32 noundef %10212, ptr noundef @.str.4)
  %10214 = call ptr @__errno_location() #12
  %10215 = load i32, ptr %10214, align 4, !tbaa !5
  %10216 = call ptr @strerror(i32 noundef %10215) #11
  %10217 = call ptr @__errno_location() #12
  %10218 = load i32, ptr %10217, align 4, !tbaa !5
  %10219 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10206, ptr noundef @.str.5, i32 noundef %10207, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10210, ptr noundef %10213, ptr noundef %10216, i32 noundef %10218) #11
  br label %10220

10220:                                            ; preds = %10203, %10186
  call void @llvm.lifetime.end.p0(i64 4, ptr %213) #11
  br label %10221

10221:                                            ; preds = %10220
  br label %10222

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

10223:                                            ; No predecessors!
  br label %10224

10224:                                            ; preds = %10223
  br label %10225

10225:                                            ; preds = %10224, %10166
  br label %10226

10226:                                            ; preds = %10225
  br label %10227

10227:                                            ; preds = %10226
  br label %10228

10228:                                            ; preds = %10227
  %10229 = load i32, ptr @test_count, align 4, !tbaa !5
  %10230 = add nsw i32 %10229, 1
  store i32 %10230, ptr @test_count, align 4, !tbaa !5
  %10231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10232 = load i32, ptr %10231, align 4, !tbaa !5
  %10233 = call ptr @s2n_strerror_debug(i32 noundef %10232, ptr noundef @.str.4)
  %10234 = icmp eq ptr %10233, null
  br i1 %10234, label %10235, label %10288

10235:                                            ; preds = %10228
  br label %10236

10236:                                            ; preds = %10235
  br label %10237

10237:                                            ; preds = %10236
  call void @llvm.lifetime.start.p0(i64 4, ptr %214) #11
  %10238 = call ptr @__errno_location() #12
  %10239 = load i32, ptr %10238, align 4, !tbaa !5
  store i32 %10239, ptr %214, align 4, !tbaa !5
  %10240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10241 = call i32 @s2n_print_stacktrace(ptr noundef %10240)
  %10242 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10243 = trunc i8 %10242 to i1
  br i1 %10243, label %10244, label %10266

10244:                                            ; preds = %10237
  %10245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10246 = call i32 @fileno(ptr noundef %10245) #11
  %10247 = call i32 @isatty(i32 noundef %10246) #11
  %10248 = icmp ne i32 %10247, 0
  br i1 %10248, label %10249, label %10266

10249:                                            ; preds = %10244
  %10250 = load i32, ptr %214, align 4, !tbaa !5
  %10251 = call ptr @__errno_location() #12
  store i32 %10250, ptr %10251, align 4, !tbaa !5
  %10252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10253 = load i32, ptr @test_count, align 4, !tbaa !5
  %10254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10255 = load i32, ptr %10254, align 4, !tbaa !5
  %10256 = call ptr @s2n_strerror(i32 noundef %10255, ptr noundef @.str.4)
  %10257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10258 = load i32, ptr %10257, align 4, !tbaa !5
  %10259 = call ptr @s2n_strerror_debug(i32 noundef %10258, ptr noundef @.str.4)
  %10260 = call ptr @__errno_location() #12
  %10261 = load i32, ptr %10260, align 4, !tbaa !5
  %10262 = call ptr @strerror(i32 noundef %10261) #11
  %10263 = call ptr @__errno_location() #12
  %10264 = load i32, ptr %10263, align 4, !tbaa !5
  %10265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10252, ptr noundef @.str.2, i32 noundef %10253, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10256, ptr noundef %10259, ptr noundef %10262, i32 noundef %10264) #11
  br label %10283

10266:                                            ; preds = %10244, %10237
  %10267 = load i32, ptr %214, align 4, !tbaa !5
  %10268 = call ptr @__errno_location() #12
  store i32 %10267, ptr %10268, align 4, !tbaa !5
  %10269 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10270 = load i32, ptr @test_count, align 4, !tbaa !5
  %10271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10272 = load i32, ptr %10271, align 4, !tbaa !5
  %10273 = call ptr @s2n_strerror(i32 noundef %10272, ptr noundef @.str.4)
  %10274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10275 = load i32, ptr %10274, align 4, !tbaa !5
  %10276 = call ptr @s2n_strerror_debug(i32 noundef %10275, ptr noundef @.str.4)
  %10277 = call ptr @__errno_location() #12
  %10278 = load i32, ptr %10277, align 4, !tbaa !5
  %10279 = call ptr @strerror(i32 noundef %10278) #11
  %10280 = call ptr @__errno_location() #12
  %10281 = load i32, ptr %10280, align 4, !tbaa !5
  %10282 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10269, ptr noundef @.str.5, i32 noundef %10270, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 362, ptr noundef %10273, ptr noundef %10276, ptr noundef %10279, i32 noundef %10281) #11
  br label %10283

10283:                                            ; preds = %10266, %10249
  call void @llvm.lifetime.end.p0(i64 4, ptr %214) #11
  br label %10284

10284:                                            ; preds = %10283
  br label %10285

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

10286:                                            ; No predecessors!
  br label %10287

10287:                                            ; preds = %10286
  br label %10288

10288:                                            ; preds = %10287, %10228
  br label %10289

10289:                                            ; preds = %10288
  br label %10290

10290:                                            ; preds = %10289
  br label %10291

10291:                                            ; preds = %10290
  br label %10292

10292:                                            ; preds = %10291
  br label %10293

10293:                                            ; preds = %10292
  %10294 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10294, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10295 = call ptr @__errno_location() #12
  store i32 0, ptr %10295, align 4, !tbaa !5
  br label %10296

10296:                                            ; preds = %10293
  br label %10297

10297:                                            ; preds = %10296
  br label %10298

10298:                                            ; preds = %10297
  br label %10299

10299:                                            ; preds = %10298
  br label %10300

10300:                                            ; preds = %10299
  %10301 = load i32, ptr @test_count, align 4, !tbaa !5
  %10302 = add nsw i32 %10301, 1
  store i32 %10302, ptr @test_count, align 4, !tbaa !5
  %10303 = load i32, ptr %204, align 4, !tbaa !5
  %10304 = icmp eq i32 %10303, 4
  br i1 %10304, label %10358, label %10305

10305:                                            ; preds = %10300
  br label %10306

10306:                                            ; preds = %10305
  br label %10307

10307:                                            ; preds = %10306
  call void @llvm.lifetime.start.p0(i64 4, ptr %215) #11
  %10308 = call ptr @__errno_location() #12
  %10309 = load i32, ptr %10308, align 4, !tbaa !5
  store i32 %10309, ptr %215, align 4, !tbaa !5
  %10310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10311 = call i32 @s2n_print_stacktrace(ptr noundef %10310)
  %10312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10313 = trunc i8 %10312 to i1
  br i1 %10313, label %10314, label %10336

10314:                                            ; preds = %10307
  %10315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10316 = call i32 @fileno(ptr noundef %10315) #11
  %10317 = call i32 @isatty(i32 noundef %10316) #11
  %10318 = icmp ne i32 %10317, 0
  br i1 %10318, label %10319, label %10336

10319:                                            ; preds = %10314
  %10320 = load i32, ptr %215, align 4, !tbaa !5
  %10321 = call ptr @__errno_location() #12
  store i32 %10320, ptr %10321, align 4, !tbaa !5
  %10322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10323 = load i32, ptr @test_count, align 4, !tbaa !5
  %10324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10325 = load i32, ptr %10324, align 4, !tbaa !5
  %10326 = call ptr @s2n_strerror(i32 noundef %10325, ptr noundef @.str.4)
  %10327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10328 = load i32, ptr %10327, align 4, !tbaa !5
  %10329 = call ptr @s2n_strerror_debug(i32 noundef %10328, ptr noundef @.str.4)
  %10330 = call ptr @__errno_location() #12
  %10331 = load i32, ptr %10330, align 4, !tbaa !5
  %10332 = call ptr @strerror(i32 noundef %10331) #11
  %10333 = call ptr @__errno_location() #12
  %10334 = load i32, ptr %10333, align 4, !tbaa !5
  %10335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10322, ptr noundef @.str.2, i32 noundef %10323, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10326, ptr noundef %10329, ptr noundef %10332, i32 noundef %10334) #11
  br label %10353

10336:                                            ; preds = %10314, %10307
  %10337 = load i32, ptr %215, align 4, !tbaa !5
  %10338 = call ptr @__errno_location() #12
  store i32 %10337, ptr %10338, align 4, !tbaa !5
  %10339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10340 = load i32, ptr @test_count, align 4, !tbaa !5
  %10341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10342 = load i32, ptr %10341, align 4, !tbaa !5
  %10343 = call ptr @s2n_strerror(i32 noundef %10342, ptr noundef @.str.4)
  %10344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10345 = load i32, ptr %10344, align 4, !tbaa !5
  %10346 = call ptr @s2n_strerror_debug(i32 noundef %10345, ptr noundef @.str.4)
  %10347 = call ptr @__errno_location() #12
  %10348 = load i32, ptr %10347, align 4, !tbaa !5
  %10349 = call ptr @strerror(i32 noundef %10348) #11
  %10350 = call ptr @__errno_location() #12
  %10351 = load i32, ptr %10350, align 4, !tbaa !5
  %10352 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10339, ptr noundef @.str.5, i32 noundef %10340, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10343, ptr noundef %10346, ptr noundef %10349, i32 noundef %10351) #11
  br label %10353

10353:                                            ; preds = %10336, %10319
  call void @llvm.lifetime.end.p0(i64 4, ptr %215) #11
  br label %10354

10354:                                            ; preds = %10353
  br label %10355

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

10356:                                            ; No predecessors!
  br label %10357

10357:                                            ; preds = %10356
  br label %10358

10358:                                            ; preds = %10357, %10300
  br label %10359

10359:                                            ; preds = %10358
  br label %10360

10360:                                            ; preds = %10359
  br label %10361

10361:                                            ; preds = %10360
  %10362 = load i32, ptr @test_count, align 4, !tbaa !5
  %10363 = add nsw i32 %10362, 1
  store i32 %10363, ptr @test_count, align 4, !tbaa !5
  %10364 = load ptr, ptr %197, align 8, !tbaa !9
  %10365 = call i32 @s2n_conn_get_current_message_type(ptr noundef %10364)
  %10366 = icmp eq i32 %10365, 19
  br i1 %10366, label %10420, label %10367

10367:                                            ; preds = %10361
  br label %10368

10368:                                            ; preds = %10367
  br label %10369

10369:                                            ; preds = %10368
  call void @llvm.lifetime.start.p0(i64 4, ptr %216) #11
  %10370 = call ptr @__errno_location() #12
  %10371 = load i32, ptr %10370, align 4, !tbaa !5
  store i32 %10371, ptr %216, align 4, !tbaa !5
  %10372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10373 = call i32 @s2n_print_stacktrace(ptr noundef %10372)
  %10374 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10375 = trunc i8 %10374 to i1
  br i1 %10375, label %10376, label %10398

10376:                                            ; preds = %10369
  %10377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10378 = call i32 @fileno(ptr noundef %10377) #11
  %10379 = call i32 @isatty(i32 noundef %10378) #11
  %10380 = icmp ne i32 %10379, 0
  br i1 %10380, label %10381, label %10398

10381:                                            ; preds = %10376
  %10382 = load i32, ptr %216, align 4, !tbaa !5
  %10383 = call ptr @__errno_location() #12
  store i32 %10382, ptr %10383, align 4, !tbaa !5
  %10384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10385 = load i32, 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 = call ptr @s2n_strerror(i32 noundef %10387, ptr noundef @.str.4)
  %10389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10390 = load i32, ptr %10389, align 4, !tbaa !5
  %10391 = call ptr @s2n_strerror_debug(i32 noundef %10390, ptr noundef @.str.4)
  %10392 = call ptr @__errno_location() #12
  %10393 = load i32, ptr %10392, align 4, !tbaa !5
  %10394 = call ptr @strerror(i32 noundef %10393) #11
  %10395 = call ptr @__errno_location() #12
  %10396 = load i32, ptr %10395, align 4, !tbaa !5
  %10397 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10384, ptr noundef @.str.2, i32 noundef %10385, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10388, ptr noundef %10391, ptr noundef %10394, i32 noundef %10396) #11
  br label %10415

10398:                                            ; preds = %10376, %10369
  %10399 = load i32, ptr %216, align 4, !tbaa !5
  %10400 = call ptr @__errno_location() #12
  store i32 %10399, ptr %10400, align 4, !tbaa !5
  %10401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10402 = load i32, ptr @test_count, align 4, !tbaa !5
  %10403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10404 = load i32, ptr %10403, align 4, !tbaa !5
  %10405 = call ptr @s2n_strerror(i32 noundef %10404, ptr noundef @.str.4)
  %10406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10407 = load i32, ptr %10406, align 4, !tbaa !5
  %10408 = call ptr @s2n_strerror_debug(i32 noundef %10407, ptr noundef @.str.4)
  %10409 = call ptr @__errno_location() #12
  %10410 = load i32, ptr %10409, align 4, !tbaa !5
  %10411 = call ptr @strerror(i32 noundef %10410) #11
  %10412 = call ptr @__errno_location() #12
  %10413 = load i32, ptr %10412, align 4, !tbaa !5
  %10414 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10401, ptr noundef @.str.5, i32 noundef %10402, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 363, ptr noundef %10405, ptr noundef %10408, ptr noundef %10411, i32 noundef %10413) #11
  br label %10415

10415:                                            ; preds = %10398, %10381
  call void @llvm.lifetime.end.p0(i64 4, ptr %216) #11
  br label %10416

10416:                                            ; preds = %10415
  br label %10417

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

10418:                                            ; No predecessors!
  br label %10419

10419:                                            ; preds = %10418
  br label %10420

10420:                                            ; preds = %10419, %10361
  br label %10421

10421:                                            ; preds = %10420
  br label %10422

10422:                                            ; preds = %10421
  br label %10423

10423:                                            ; preds = %10422
  %10424 = load i32, ptr @test_count, align 4, !tbaa !5
  %10425 = add nsw i32 %10424, 1
  store i32 %10425, ptr @test_count, align 4, !tbaa !5
  %10426 = load i64, ptr %205, align 8, !tbaa !42
  %10427 = icmp eq i64 %10426, 0
  br i1 %10427, label %10481, label %10428

10428:                                            ; preds = %10423
  br label %10429

10429:                                            ; preds = %10428
  br label %10430

10430:                                            ; preds = %10429
  call void @llvm.lifetime.start.p0(i64 4, ptr %217) #11
  %10431 = call ptr @__errno_location() #12
  %10432 = load i32, ptr %10431, align 4, !tbaa !5
  store i32 %10432, ptr %217, align 4, !tbaa !5
  %10433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10434 = call i32 @s2n_print_stacktrace(ptr noundef %10433)
  %10435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10436 = trunc i8 %10435 to i1
  br i1 %10436, label %10437, label %10459

10437:                                            ; preds = %10430
  %10438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10439 = call i32 @fileno(ptr noundef %10438) #11
  %10440 = call i32 @isatty(i32 noundef %10439) #11
  %10441 = icmp ne i32 %10440, 0
  br i1 %10441, label %10442, label %10459

10442:                                            ; preds = %10437
  %10443 = load i32, ptr %217, align 4, !tbaa !5
  %10444 = call ptr @__errno_location() #12
  store i32 %10443, ptr %10444, align 4, !tbaa !5
  %10445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10446 = load i32, ptr @test_count, align 4, !tbaa !5
  %10447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10448 = load i32, ptr %10447, align 4, !tbaa !5
  %10449 = call ptr @s2n_strerror(i32 noundef %10448, ptr noundef @.str.4)
  %10450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10451 = load i32, ptr %10450, align 4, !tbaa !5
  %10452 = call ptr @s2n_strerror_debug(i32 noundef %10451, ptr noundef @.str.4)
  %10453 = call ptr @__errno_location() #12
  %10454 = load i32, ptr %10453, align 4, !tbaa !5
  %10455 = call ptr @strerror(i32 noundef %10454) #11
  %10456 = call ptr @__errno_location() #12
  %10457 = load i32, ptr %10456, align 4, !tbaa !5
  %10458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10445, ptr noundef @.str.2, i32 noundef %10446, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 364, ptr noundef %10449, ptr noundef %10452, ptr noundef %10455, i32 noundef %10457) #11
  br label %10476

10459:                                            ; preds = %10437, %10430
  %10460 = load i32, ptr %217, align 4, !tbaa !5
  %10461 = call ptr @__errno_location() #12
  store i32 %10460, ptr %10461, align 4, !tbaa !5
  %10462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10463 = load i32, ptr @test_count, align 4, !tbaa !5
  %10464 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10465 = load i32, ptr %10464, align 4, !tbaa !5
  %10466 = call ptr @s2n_strerror(i32 noundef %10465, ptr noundef @.str.4)
  %10467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10468 = load i32, ptr %10467, align 4, !tbaa !5
  %10469 = call ptr @s2n_strerror_debug(i32 noundef %10468, ptr noundef @.str.4)
  %10470 = call ptr @__errno_location() #12
  %10471 = load i32, ptr %10470, align 4, !tbaa !5
  %10472 = call ptr @strerror(i32 noundef %10471) #11
  %10473 = call ptr @__errno_location() #12
  %10474 = load i32, ptr %10473, align 4, !tbaa !5
  %10475 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10462, ptr noundef @.str.5, i32 noundef %10463, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 364, ptr noundef %10466, ptr noundef %10469, ptr noundef %10472, i32 noundef %10474) #11
  br label %10476

10476:                                            ; preds = %10459, %10442
  call void @llvm.lifetime.end.p0(i64 4, ptr %217) #11
  br label %10477

10477:                                            ; preds = %10476
  br label %10478

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

10479:                                            ; No predecessors!
  br label %10480

10480:                                            ; preds = %10479
  br label %10481

10481:                                            ; preds = %10480, %10423
  br label %10482

10482:                                            ; preds = %10481
  br label %10483

10483:                                            ; preds = %10482
  br label %10484

10484:                                            ; preds = %10483
  br label %10485

10485:                                            ; preds = %10484
  br label %10486

10486:                                            ; preds = %10485
  %10487 = load i32, ptr @test_count, align 4, !tbaa !5
  %10488 = add nsw i32 %10487, 1
  store i32 %10488, ptr @test_count, align 4, !tbaa !5
  %10489 = load ptr, ptr %197, align 8, !tbaa !9
  %10490 = getelementptr inbounds [100 x i8], ptr %203, i64 0, i64 0
  %10491 = call i32 @s2n_recv_early_data(ptr noundef %10489, ptr noundef %10490, i64 noundef 1, ptr noundef %205, ptr noundef %204)
  %10492 = icmp eq i32 %10491, -1
  br i1 %10492, label %10546, label %10493

10493:                                            ; preds = %10486
  br label %10494

10494:                                            ; preds = %10493
  br label %10495

10495:                                            ; preds = %10494
  call void @llvm.lifetime.start.p0(i64 4, ptr %218) #11
  %10496 = call ptr @__errno_location() #12
  %10497 = load i32, ptr %10496, align 4, !tbaa !5
  store i32 %10497, ptr %218, align 4, !tbaa !5
  %10498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10499 = call i32 @s2n_print_stacktrace(ptr noundef %10498)
  %10500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10501 = trunc i8 %10500 to i1
  br i1 %10501, label %10502, label %10524

10502:                                            ; preds = %10495
  %10503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10504 = call i32 @fileno(ptr noundef %10503) #11
  %10505 = call i32 @isatty(i32 noundef %10504) #11
  %10506 = icmp ne i32 %10505, 0
  br i1 %10506, label %10507, label %10524

10507:                                            ; preds = %10502
  %10508 = load i32, ptr %218, align 4, !tbaa !5
  %10509 = call ptr @__errno_location() #12
  store i32 %10508, ptr %10509, align 4, !tbaa !5
  %10510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10511 = load i32, ptr @test_count, align 4, !tbaa !5
  %10512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10513 = load i32, ptr %10512, align 4, !tbaa !5
  %10514 = call ptr @s2n_strerror(i32 noundef %10513, ptr noundef @.str.4)
  %10515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10516 = load i32, ptr %10515, align 4, !tbaa !5
  %10517 = call ptr @s2n_strerror_debug(i32 noundef %10516, ptr noundef @.str.4)
  %10518 = call ptr @__errno_location() #12
  %10519 = load i32, ptr %10518, align 4, !tbaa !5
  %10520 = call ptr @strerror(i32 noundef %10519) #11
  %10521 = call ptr @__errno_location() #12
  %10522 = load i32, ptr %10521, align 4, !tbaa !5
  %10523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10510, ptr noundef @.str.2, i32 noundef %10511, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10514, ptr noundef %10517, ptr noundef %10520, i32 noundef %10522) #11
  br label %10541

10524:                                            ; preds = %10502, %10495
  %10525 = load i32, ptr %218, align 4, !tbaa !5
  %10526 = call ptr @__errno_location() #12
  store i32 %10525, ptr %10526, align 4, !tbaa !5
  %10527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10528 = load i32, ptr @test_count, align 4, !tbaa !5
  %10529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10530 = load i32, ptr %10529, align 4, !tbaa !5
  %10531 = call ptr @s2n_strerror(i32 noundef %10530, ptr noundef @.str.4)
  %10532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10533 = load i32, ptr %10532, align 4, !tbaa !5
  %10534 = call ptr @s2n_strerror_debug(i32 noundef %10533, ptr noundef @.str.4)
  %10535 = call ptr @__errno_location() #12
  %10536 = load i32, ptr %10535, align 4, !tbaa !5
  %10537 = call ptr @strerror(i32 noundef %10536) #11
  %10538 = call ptr @__errno_location() #12
  %10539 = load i32, ptr %10538, align 4, !tbaa !5
  %10540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10527, ptr noundef @.str.5, i32 noundef %10528, ptr noundef @.str.77, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10531, ptr noundef %10534, ptr noundef %10537, i32 noundef %10539) #11
  br label %10541

10541:                                            ; preds = %10524, %10507
  call void @llvm.lifetime.end.p0(i64 4, ptr %218) #11
  br label %10542

10542:                                            ; preds = %10541
  br label %10543

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

10544:                                            ; No predecessors!
  br label %10545

10545:                                            ; preds = %10544
  br label %10546

10546:                                            ; preds = %10545, %10486
  br label %10547

10547:                                            ; preds = %10546
  br label %10548

10548:                                            ; preds = %10547
  br label %10549

10549:                                            ; preds = %10548
  %10550 = load i32, ptr @test_count, align 4, !tbaa !5
  %10551 = add nsw i32 %10550, 1
  store i32 %10551, ptr @test_count, align 4, !tbaa !5
  %10552 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10553 = load i32, ptr %10552, align 4, !tbaa !5
  %10554 = icmp eq i32 %10553, 201326594
  br i1 %10554, label %10608, label %10555

10555:                                            ; preds = %10549
  br label %10556

10556:                                            ; preds = %10555
  br label %10557

10557:                                            ; preds = %10556
  call void @llvm.lifetime.start.p0(i64 4, ptr %219) #11
  %10558 = call ptr @__errno_location() #12
  %10559 = load i32, ptr %10558, align 4, !tbaa !5
  store i32 %10559, ptr %219, align 4, !tbaa !5
  %10560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10561 = call i32 @s2n_print_stacktrace(ptr noundef %10560)
  %10562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10563 = trunc i8 %10562 to i1
  br i1 %10563, label %10564, label %10586

10564:                                            ; preds = %10557
  %10565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10566 = call i32 @fileno(ptr noundef %10565) #11
  %10567 = call i32 @isatty(i32 noundef %10566) #11
  %10568 = icmp ne i32 %10567, 0
  br i1 %10568, label %10569, label %10586

10569:                                            ; preds = %10564
  %10570 = load i32, ptr %219, align 4, !tbaa !5
  %10571 = call ptr @__errno_location() #12
  store i32 %10570, ptr %10571, align 4, !tbaa !5
  %10572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10573 = load i32, ptr @test_count, align 4, !tbaa !5
  %10574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10575 = load i32, ptr %10574, align 4, !tbaa !5
  %10576 = call ptr @s2n_strerror(i32 noundef %10575, ptr noundef @.str.4)
  %10577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10578 = load i32, ptr %10577, align 4, !tbaa !5
  %10579 = call ptr @s2n_strerror_debug(i32 noundef %10578, ptr noundef @.str.4)
  %10580 = call ptr @__errno_location() #12
  %10581 = load i32, ptr %10580, align 4, !tbaa !5
  %10582 = call ptr @strerror(i32 noundef %10581) #11
  %10583 = call ptr @__errno_location() #12
  %10584 = load i32, ptr %10583, align 4, !tbaa !5
  %10585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10572, ptr noundef @.str.2, i32 noundef %10573, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10576, ptr noundef %10579, ptr noundef %10582, i32 noundef %10584) #11
  br label %10603

10586:                                            ; preds = %10564, %10557
  %10587 = load i32, ptr %219, align 4, !tbaa !5
  %10588 = call ptr @__errno_location() #12
  store i32 %10587, ptr %10588, align 4, !tbaa !5
  %10589 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10590 = load i32, ptr @test_count, align 4, !tbaa !5
  %10591 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10592 = load i32, ptr %10591, align 4, !tbaa !5
  %10593 = call ptr @s2n_strerror(i32 noundef %10592, ptr noundef @.str.4)
  %10594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10595 = load i32, ptr %10594, align 4, !tbaa !5
  %10596 = call ptr @s2n_strerror_debug(i32 noundef %10595, ptr noundef @.str.4)
  %10597 = call ptr @__errno_location() #12
  %10598 = load i32, ptr %10597, align 4, !tbaa !5
  %10599 = call ptr @strerror(i32 noundef %10598) #11
  %10600 = call ptr @__errno_location() #12
  %10601 = load i32, ptr %10600, align 4, !tbaa !5
  %10602 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10589, ptr noundef @.str.5, i32 noundef %10590, ptr noundef @.str.75, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10593, ptr noundef %10596, ptr noundef %10599, i32 noundef %10601) #11
  br label %10603

10603:                                            ; preds = %10586, %10569
  call void @llvm.lifetime.end.p0(i64 4, ptr %219) #11
  br label %10604

10604:                                            ; preds = %10603
  br label %10605

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

10606:                                            ; No predecessors!
  br label %10607

10607:                                            ; preds = %10606
  br label %10608

10608:                                            ; preds = %10607, %10549
  br label %10609

10609:                                            ; preds = %10608
  br label %10610

10610:                                            ; preds = %10609
  br label %10611

10611:                                            ; preds = %10610
  %10612 = load i32, ptr @test_count, align 4, !tbaa !5
  %10613 = add nsw i32 %10612, 1
  store i32 %10613, ptr @test_count, align 4, !tbaa !5
  %10614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10615 = load i32, ptr %10614, align 4, !tbaa !5
  %10616 = call ptr @s2n_strerror_debug(i32 noundef %10615, ptr noundef @.str.4)
  %10617 = icmp eq ptr %10616, null
  br i1 %10617, label %10618, label %10671

10618:                                            ; preds = %10611
  br label %10619

10619:                                            ; preds = %10618
  br label %10620

10620:                                            ; preds = %10619
  call void @llvm.lifetime.start.p0(i64 4, ptr %220) #11
  %10621 = call ptr @__errno_location() #12
  %10622 = load i32, ptr %10621, align 4, !tbaa !5
  store i32 %10622, ptr %220, align 4, !tbaa !5
  %10623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10624 = call i32 @s2n_print_stacktrace(ptr noundef %10623)
  %10625 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10626 = trunc i8 %10625 to i1
  br i1 %10626, label %10627, label %10649

10627:                                            ; preds = %10620
  %10628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10629 = call i32 @fileno(ptr noundef %10628) #11
  %10630 = call i32 @isatty(i32 noundef %10629) #11
  %10631 = icmp ne i32 %10630, 0
  br i1 %10631, label %10632, label %10649

10632:                                            ; preds = %10627
  %10633 = load i32, ptr %220, align 4, !tbaa !5
  %10634 = call ptr @__errno_location() #12
  store i32 %10633, ptr %10634, align 4, !tbaa !5
  %10635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10636 = load i32, ptr @test_count, align 4, !tbaa !5
  %10637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10638 = load i32, ptr %10637, align 4, !tbaa !5
  %10639 = call ptr @s2n_strerror(i32 noundef %10638, ptr noundef @.str.4)
  %10640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10641 = load i32, ptr %10640, align 4, !tbaa !5
  %10642 = call ptr @s2n_strerror_debug(i32 noundef %10641, ptr noundef @.str.4)
  %10643 = call ptr @__errno_location() #12
  %10644 = load i32, ptr %10643, align 4, !tbaa !5
  %10645 = call ptr @strerror(i32 noundef %10644) #11
  %10646 = call ptr @__errno_location() #12
  %10647 = load i32, ptr %10646, align 4, !tbaa !5
  %10648 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10635, ptr noundef @.str.2, i32 noundef %10636, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10639, ptr noundef %10642, ptr noundef %10645, i32 noundef %10647) #11
  br label %10666

10649:                                            ; preds = %10627, %10620
  %10650 = load i32, ptr %220, align 4, !tbaa !5
  %10651 = call ptr @__errno_location() #12
  store i32 %10650, ptr %10651, align 4, !tbaa !5
  %10652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10653 = load i32, ptr @test_count, align 4, !tbaa !5
  %10654 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10655 = load i32, ptr %10654, align 4, !tbaa !5
  %10656 = call ptr @s2n_strerror(i32 noundef %10655, ptr noundef @.str.4)
  %10657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10658 = load i32, ptr %10657, align 4, !tbaa !5
  %10659 = call ptr @s2n_strerror_debug(i32 noundef %10658, ptr noundef @.str.4)
  %10660 = call ptr @__errno_location() #12
  %10661 = load i32, ptr %10660, align 4, !tbaa !5
  %10662 = call ptr @strerror(i32 noundef %10661) #11
  %10663 = call ptr @__errno_location() #12
  %10664 = load i32, ptr %10663, align 4, !tbaa !5
  %10665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10652, ptr noundef @.str.5, i32 noundef %10653, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 366, ptr noundef %10656, ptr noundef %10659, ptr noundef %10662, i32 noundef %10664) #11
  br label %10666

10666:                                            ; preds = %10649, %10632
  call void @llvm.lifetime.end.p0(i64 4, ptr %220) #11
  br label %10667

10667:                                            ; preds = %10666
  br label %10668

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

10669:                                            ; No predecessors!
  br label %10670

10670:                                            ; preds = %10669
  br label %10671

10671:                                            ; preds = %10670, %10611
  br label %10672

10672:                                            ; preds = %10671
  br label %10673

10673:                                            ; preds = %10672
  br label %10674

10674:                                            ; preds = %10673
  br label %10675

10675:                                            ; preds = %10674
  br label %10676

10676:                                            ; preds = %10675
  %10677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %10677, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %10678 = call ptr @__errno_location() #12
  store i32 0, ptr %10678, align 4, !tbaa !5
  br label %10679

10679:                                            ; preds = %10676
  br label %10680

10680:                                            ; preds = %10679
  br label %10681

10681:                                            ; preds = %10680
  br label %10682

10682:                                            ; preds = %10681
  br label %10683

10683:                                            ; preds = %10682
  %10684 = load i32, ptr @test_count, align 4, !tbaa !5
  %10685 = add nsw i32 %10684, 1
  store i32 %10685, ptr @test_count, align 4, !tbaa !5
  %10686 = load i32, ptr %204, align 4, !tbaa !5
  %10687 = icmp eq i32 %10686, 4
  br i1 %10687, label %10741, label %10688

10688:                                            ; preds = %10683
  br label %10689

10689:                                            ; preds = %10688
  br label %10690

10690:                                            ; preds = %10689
  call void @llvm.lifetime.start.p0(i64 4, ptr %221) #11
  %10691 = call ptr @__errno_location() #12
  %10692 = load i32, ptr %10691, align 4, !tbaa !5
  store i32 %10692, ptr %221, align 4, !tbaa !5
  %10693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10694 = call i32 @s2n_print_stacktrace(ptr noundef %10693)
  %10695 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10696 = trunc i8 %10695 to i1
  br i1 %10696, label %10697, label %10719

10697:                                            ; preds = %10690
  %10698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10699 = call i32 @fileno(ptr noundef %10698) #11
  %10700 = call i32 @isatty(i32 noundef %10699) #11
  %10701 = icmp ne i32 %10700, 0
  br i1 %10701, label %10702, label %10719

10702:                                            ; preds = %10697
  %10703 = load i32, ptr %221, align 4, !tbaa !5
  %10704 = call ptr @__errno_location() #12
  store i32 %10703, ptr %10704, align 4, !tbaa !5
  %10705 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10706 = load i32, ptr @test_count, align 4, !tbaa !5
  %10707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10708 = load i32, ptr %10707, align 4, !tbaa !5
  %10709 = call ptr @s2n_strerror(i32 noundef %10708, ptr noundef @.str.4)
  %10710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10711 = load i32, ptr %10710, align 4, !tbaa !5
  %10712 = call ptr @s2n_strerror_debug(i32 noundef %10711, ptr noundef @.str.4)
  %10713 = call ptr @__errno_location() #12
  %10714 = load i32, ptr %10713, align 4, !tbaa !5
  %10715 = call ptr @strerror(i32 noundef %10714) #11
  %10716 = call ptr @__errno_location() #12
  %10717 = load i32, ptr %10716, align 4, !tbaa !5
  %10718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10705, ptr noundef @.str.2, i32 noundef %10706, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 367, ptr noundef %10709, ptr noundef %10712, ptr noundef %10715, i32 noundef %10717) #11
  br label %10736

10719:                                            ; preds = %10697, %10690
  %10720 = load i32, ptr %221, align 4, !tbaa !5
  %10721 = call ptr @__errno_location() #12
  store i32 %10720, ptr %10721, align 4, !tbaa !5
  %10722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10723 = load i32, ptr @test_count, align 4, !tbaa !5
  %10724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10725 = load i32, ptr %10724, align 4, !tbaa !5
  %10726 = call ptr @s2n_strerror(i32 noundef %10725, ptr noundef @.str.4)
  %10727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10728 = load i32, ptr %10727, align 4, !tbaa !5
  %10729 = call ptr @s2n_strerror_debug(i32 noundef %10728, ptr noundef @.str.4)
  %10730 = call ptr @__errno_location() #12
  %10731 = load i32, ptr %10730, align 4, !tbaa !5
  %10732 = call ptr @strerror(i32 noundef %10731) #11
  %10733 = call ptr @__errno_location() #12
  %10734 = load i32, ptr %10733, align 4, !tbaa !5
  %10735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10722, ptr noundef @.str.5, i32 noundef %10723, ptr noundef @.str.76, ptr noundef @.str.1, i32 noundef 367, ptr noundef %10726, ptr noundef %10729, ptr noundef %10732, i32 noundef %10734) #11
  br label %10736

10736:                                            ; preds = %10719, %10702
  call void @llvm.lifetime.end.p0(i64 4, ptr %221) #11
  br label %10737

10737:                                            ; preds = %10736
  br label %10738

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

10739:                                            ; No predecessors!
  br label %10740

10740:                                            ; preds = %10739
  br label %10741

10741:                                            ; preds = %10740, %10683
  br label %10742

10742:                                            ; preds = %10741
  br label %10743

10743:                                            ; preds = %10742
  br label %10744

10744:                                            ; preds = %10743
  %10745 = load i32, ptr @test_count, align 4, !tbaa !5
  %10746 = add nsw i32 %10745, 1
  store i32 %10746, ptr @test_count, align 4, !tbaa !5
  %10747 = load ptr, ptr %197, align 8, !tbaa !9
  %10748 = call i32 @s2n_conn_get_current_message_type(ptr noundef %10747)
  %10749 = icmp eq i32 %10748, 19
  br i1 %10749, label %10803, label %10750

10750:                                            ; preds = %10744
  br label %10751

10751:                                            ; preds = %10750
  br label %10752

10752:                                            ; preds = %10751
  call void @llvm.lifetime.start.p0(i64 4, ptr %222) #11
  %10753 = call ptr @__errno_location() #12
  %10754 = load i32, ptr %10753, align 4, !tbaa !5
  store i32 %10754, ptr %222, align 4, !tbaa !5
  %10755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10756 = call i32 @s2n_print_stacktrace(ptr noundef %10755)
  %10757 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10758 = trunc i8 %10757 to i1
  br i1 %10758, label %10759, label %10781

10759:                                            ; preds = %10752
  %10760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10761 = call i32 @fileno(ptr noundef %10760) #11
  %10762 = call i32 @isatty(i32 noundef %10761) #11
  %10763 = icmp ne i32 %10762, 0
  br i1 %10763, label %10764, label %10781

10764:                                            ; preds = %10759
  %10765 = load i32, ptr %222, align 4, !tbaa !5
  %10766 = call ptr @__errno_location() #12
  store i32 %10765, ptr %10766, align 4, !tbaa !5
  %10767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10768 = load i32, ptr @test_count, align 4, !tbaa !5
  %10769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10770 = load i32, ptr %10769, align 4, !tbaa !5
  %10771 = call ptr @s2n_strerror(i32 noundef %10770, ptr noundef @.str.4)
  %10772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10773 = load i32, ptr %10772, align 4, !tbaa !5
  %10774 = call ptr @s2n_strerror_debug(i32 noundef %10773, ptr noundef @.str.4)
  %10775 = call ptr @__errno_location() #12
  %10776 = load i32, ptr %10775, align 4, !tbaa !5
  %10777 = call ptr @strerror(i32 noundef %10776) #11
  %10778 = call ptr @__errno_location() #12
  %10779 = load i32, ptr %10778, align 4, !tbaa !5
  %10780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10767, ptr noundef @.str.2, i32 noundef %10768, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 367, ptr noundef %10771, ptr noundef %10774, ptr noundef %10777, i32 noundef %10779) #11
  br label %10798

10781:                                            ; preds = %10759, %10752
  %10782 = load i32, ptr %222, align 4, !tbaa !5
  %10783 = call ptr @__errno_location() #12
  store i32 %10782, ptr %10783, align 4, !tbaa !5
  %10784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10785 = load i32, ptr @test_count, align 4, !tbaa !5
  %10786 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10787 = load i32, ptr %10786, align 4, !tbaa !5
  %10788 = call ptr @s2n_strerror(i32 noundef %10787, ptr noundef @.str.4)
  %10789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10790 = load i32, ptr %10789, align 4, !tbaa !5
  %10791 = call ptr @s2n_strerror_debug(i32 noundef %10790, ptr noundef @.str.4)
  %10792 = call ptr @__errno_location() #12
  %10793 = load i32, ptr %10792, align 4, !tbaa !5
  %10794 = call ptr @strerror(i32 noundef %10793) #11
  %10795 = call ptr @__errno_location() #12
  %10796 = load i32, ptr %10795, align 4, !tbaa !5
  %10797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10784, ptr noundef @.str.5, i32 noundef %10785, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 367, ptr noundef %10788, ptr noundef %10791, ptr noundef %10794, i32 noundef %10796) #11
  br label %10798

10798:                                            ; preds = %10781, %10764
  call void @llvm.lifetime.end.p0(i64 4, ptr %222) #11
  br label %10799

10799:                                            ; preds = %10798
  br label %10800

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

10801:                                            ; No predecessors!
  br label %10802

10802:                                            ; preds = %10801
  br label %10803

10803:                                            ; preds = %10802, %10744
  br label %10804

10804:                                            ; preds = %10803
  br label %10805

10805:                                            ; preds = %10804
  br label %10806

10806:                                            ; preds = %10805
  %10807 = load i32, ptr @test_count, align 4, !tbaa !5
  %10808 = add nsw i32 %10807, 1
  store i32 %10808, ptr @test_count, align 4, !tbaa !5
  %10809 = load i64, ptr %205, align 8, !tbaa !42
  %10810 = icmp eq i64 %10809, 1
  br i1 %10810, label %10864, label %10811

10811:                                            ; preds = %10806
  br label %10812

10812:                                            ; preds = %10811
  br label %10813

10813:                                            ; preds = %10812
  call void @llvm.lifetime.start.p0(i64 4, ptr %223) #11
  %10814 = call ptr @__errno_location() #12
  %10815 = load i32, ptr %10814, align 4, !tbaa !5
  store i32 %10815, ptr %223, align 4, !tbaa !5
  %10816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10817 = call i32 @s2n_print_stacktrace(ptr noundef %10816)
  %10818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10819 = trunc i8 %10818 to i1
  br i1 %10819, label %10820, label %10842

10820:                                            ; preds = %10813
  %10821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10822 = call i32 @fileno(ptr noundef %10821) #11
  %10823 = call i32 @isatty(i32 noundef %10822) #11
  %10824 = icmp ne i32 %10823, 0
  br i1 %10824, label %10825, label %10842

10825:                                            ; preds = %10820
  %10826 = load i32, ptr %223, 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.4)
  %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.4)
  %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.2, i32 noundef %10829, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 368, ptr noundef %10832, ptr noundef %10835, ptr noundef %10838, i32 noundef %10840) #11
  br label %10859

10842:                                            ; preds = %10820, %10813
  %10843 = load i32, ptr %223, align 4, !tbaa !5
  %10844 = call ptr @__errno_location() #12
  store i32 %10843, ptr %10844, align 4, !tbaa !5
  %10845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10846 = load i32, ptr @test_count, align 4, !tbaa !5
  %10847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10848 = load i32, ptr %10847, align 4, !tbaa !5
  %10849 = call ptr @s2n_strerror(i32 noundef %10848, ptr noundef @.str.4)
  %10850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10851 = load i32, ptr %10850, align 4, !tbaa !5
  %10852 = call ptr @s2n_strerror_debug(i32 noundef %10851, ptr noundef @.str.4)
  %10853 = call ptr @__errno_location() #12
  %10854 = load i32, ptr %10853, align 4, !tbaa !5
  %10855 = call ptr @strerror(i32 noundef %10854) #11
  %10856 = call ptr @__errno_location() #12
  %10857 = load i32, ptr %10856, align 4, !tbaa !5
  %10858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10845, ptr noundef @.str.5, i32 noundef %10846, ptr noundef @.str.78, ptr noundef @.str.1, i32 noundef 368, ptr noundef %10849, ptr noundef %10852, ptr noundef %10855, i32 noundef %10857) #11
  br label %10859

10859:                                            ; preds = %10842, %10825
  call void @llvm.lifetime.end.p0(i64 4, ptr %223) #11
  br label %10860

10860:                                            ; preds = %10859
  br label %10861

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

10862:                                            ; No predecessors!
  br label %10863

10863:                                            ; preds = %10862
  br label %10864

10864:                                            ; preds = %10863, %10806
  br label %10865

10865:                                            ; preds = %10864
  br label %10866

10866:                                            ; preds = %10865
  br label %10867

10867:                                            ; preds = %10866
  br label %10868

10868:                                            ; preds = %10867
  %10869 = load i32, ptr @test_count, align 4, !tbaa !5
  %10870 = add nsw i32 %10869, 1
  store i32 %10870, ptr @test_count, align 4, !tbaa !5
  %10871 = getelementptr inbounds [100 x i8], ptr %203, i64 0, i64 0
  %10872 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %10873 = call i32 @memcmp(ptr noundef %10871, ptr noundef %10872, i64 noundef 1) #14
  %10874 = icmp eq i32 %10873, 0
  br i1 %10874, label %10928, label %10875

10875:                                            ; preds = %10868
  br label %10876

10876:                                            ; preds = %10875
  br label %10877

10877:                                            ; preds = %10876
  call void @llvm.lifetime.start.p0(i64 4, ptr %224) #11
  %10878 = call ptr @__errno_location() #12
  %10879 = load i32, ptr %10878, align 4, !tbaa !5
  store i32 %10879, ptr %224, align 4, !tbaa !5
  %10880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10881 = call i32 @s2n_print_stacktrace(ptr noundef %10880)
  %10882 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10883 = trunc i8 %10882 to i1
  br i1 %10883, label %10884, label %10906

10884:                                            ; preds = %10877
  %10885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10886 = call i32 @fileno(ptr noundef %10885) #11
  %10887 = call i32 @isatty(i32 noundef %10886) #11
  %10888 = icmp ne i32 %10887, 0
  br i1 %10888, label %10889, label %10906

10889:                                            ; preds = %10884
  %10890 = load i32, ptr %224, align 4, !tbaa !5
  %10891 = call ptr @__errno_location() #12
  store i32 %10890, ptr %10891, align 4, !tbaa !5
  %10892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10893 = load i32, ptr @test_count, align 4, !tbaa !5
  %10894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10895 = load i32, ptr %10894, align 4, !tbaa !5
  %10896 = call ptr @s2n_strerror(i32 noundef %10895, ptr noundef @.str.4)
  %10897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10898 = load i32, ptr %10897, align 4, !tbaa !5
  %10899 = call ptr @s2n_strerror_debug(i32 noundef %10898, ptr noundef @.str.4)
  %10900 = call ptr @__errno_location() #12
  %10901 = load i32, ptr %10900, align 4, !tbaa !5
  %10902 = call ptr @strerror(i32 noundef %10901) #11
  %10903 = call ptr @__errno_location() #12
  %10904 = load i32, ptr %10903, align 4, !tbaa !5
  %10905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10892, ptr noundef @.str.2, i32 noundef %10893, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 369, ptr noundef %10896, ptr noundef %10899, ptr noundef %10902, i32 noundef %10904) #11
  br label %10923

10906:                                            ; preds = %10884, %10877
  %10907 = load i32, ptr %224, align 4, !tbaa !5
  %10908 = call ptr @__errno_location() #12
  store i32 %10907, ptr %10908, align 4, !tbaa !5
  %10909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10910 = load i32, ptr @test_count, align 4, !tbaa !5
  %10911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10912 = load i32, ptr %10911, align 4, !tbaa !5
  %10913 = call ptr @s2n_strerror(i32 noundef %10912, ptr noundef @.str.4)
  %10914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10915 = load i32, ptr %10914, align 4, !tbaa !5
  %10916 = call ptr @s2n_strerror_debug(i32 noundef %10915, ptr noundef @.str.4)
  %10917 = call ptr @__errno_location() #12
  %10918 = load i32, ptr %10917, align 4, !tbaa !5
  %10919 = call ptr @strerror(i32 noundef %10918) #11
  %10920 = call ptr @__errno_location() #12
  %10921 = load i32, ptr %10920, align 4, !tbaa !5
  %10922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10909, ptr noundef @.str.5, i32 noundef %10910, ptr noundef @.str.79, ptr noundef @.str.1, i32 noundef 369, ptr noundef %10913, ptr noundef %10916, ptr noundef %10919, i32 noundef %10921) #11
  br label %10923

10923:                                            ; preds = %10906, %10889
  call void @llvm.lifetime.end.p0(i64 4, ptr %224) #11
  br label %10924

10924:                                            ; preds = %10923
  br label %10925

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

10926:                                            ; No predecessors!
  br label %10927

10927:                                            ; preds = %10926
  br label %10928

10928:                                            ; preds = %10927, %10868
  br label %10929

10929:                                            ; preds = %10928
  br label %10930

10930:                                            ; preds = %10929
  br label %10931

10931:                                            ; preds = %10930
  br label %10932

10932:                                            ; preds = %10931
  br label %10933

10933:                                            ; preds = %10932
  br label %10934

10934:                                            ; preds = %10933
  br label %10935

10935:                                            ; preds = %10934
  %10936 = load i32, ptr @test_count, align 4, !tbaa !5
  %10937 = add nsw i32 %10936, 1
  store i32 %10937, ptr @test_count, align 4, !tbaa !5
  %10938 = load ptr, ptr %197, align 8, !tbaa !9
  %10939 = load ptr, ptr %196, align 8, !tbaa !9
  %10940 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %10938, ptr noundef %10939)
  %10941 = icmp eq i32 %10940, -1
  br i1 %10941, label %10995, label %10942

10942:                                            ; preds = %10935
  br label %10943

10943:                                            ; preds = %10942
  br label %10944

10944:                                            ; preds = %10943
  call void @llvm.lifetime.start.p0(i64 4, ptr %225) #11
  %10945 = call ptr @__errno_location() #12
  %10946 = load i32, ptr %10945, align 4, !tbaa !5
  store i32 %10946, ptr %225, align 4, !tbaa !5
  %10947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10948 = call i32 @s2n_print_stacktrace(ptr noundef %10947)
  %10949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10950 = trunc i8 %10949 to i1
  br i1 %10950, label %10951, label %10973

10951:                                            ; preds = %10944
  %10952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10953 = call i32 @fileno(ptr noundef %10952) #11
  %10954 = call i32 @isatty(i32 noundef %10953) #11
  %10955 = icmp ne i32 %10954, 0
  br i1 %10955, label %10956, label %10973

10956:                                            ; preds = %10951
  %10957 = load i32, ptr %225, align 4, !tbaa !5
  %10958 = call ptr @__errno_location() #12
  store i32 %10957, ptr %10958, align 4, !tbaa !5
  %10959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10960 = load i32, ptr @test_count, align 4, !tbaa !5
  %10961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10962 = load i32, ptr %10961, align 4, !tbaa !5
  %10963 = call ptr @s2n_strerror(i32 noundef %10962, ptr noundef @.str.4)
  %10964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10965 = load i32, ptr %10964, align 4, !tbaa !5
  %10966 = call ptr @s2n_strerror_debug(i32 noundef %10965, ptr noundef @.str.4)
  %10967 = call ptr @__errno_location() #12
  %10968 = load i32, ptr %10967, align 4, !tbaa !5
  %10969 = call ptr @strerror(i32 noundef %10968) #11
  %10970 = call ptr @__errno_location() #12
  %10971 = load i32, ptr %10970, align 4, !tbaa !5
  %10972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10959, ptr noundef @.str.2, i32 noundef %10960, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10963, ptr noundef %10966, ptr noundef %10969, i32 noundef %10971) #11
  br label %10990

10973:                                            ; preds = %10951, %10944
  %10974 = load i32, ptr %225, align 4, !tbaa !5
  %10975 = call ptr @__errno_location() #12
  store i32 %10974, ptr %10975, align 4, !tbaa !5
  %10976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10977 = load i32, ptr @test_count, align 4, !tbaa !5
  %10978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10979 = load i32, ptr %10978, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror(i32 noundef %10979, ptr noundef @.str.4)
  %10981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %10982 = load i32, ptr %10981, align 4, !tbaa !5
  %10983 = call ptr @s2n_strerror_debug(i32 noundef %10982, ptr noundef @.str.4)
  %10984 = call ptr @__errno_location() #12
  %10985 = load i32, ptr %10984, align 4, !tbaa !5
  %10986 = call ptr @strerror(i32 noundef %10985) #11
  %10987 = call ptr @__errno_location() #12
  %10988 = load i32, ptr %10987, align 4, !tbaa !5
  %10989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10976, ptr noundef @.str.5, i32 noundef %10977, ptr noundef @.str.80, ptr noundef @.str.1, i32 noundef 376, ptr noundef %10980, ptr noundef %10983, ptr noundef %10986, i32 noundef %10988) #11
  br label %10990

10990:                                            ; preds = %10973, %10956
  call void @llvm.lifetime.end.p0(i64 4, ptr %225) #11
  br label %10991

10991:                                            ; preds = %10990
  br label %10992

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

10993:                                            ; No predecessors!
  br label %10994

10994:                                            ; preds = %10993
  br label %10995

10995:                                            ; preds = %10994, %10935
  br label %10996

10996:                                            ; preds = %10995
  br label %10997

10997:                                            ; preds = %10996
  br label %10998

10998:                                            ; preds = %10997
  %10999 = load i32, ptr @test_count, align 4, !tbaa !5
  %11000 = add nsw i32 %10999, 1
  store i32 %11000, ptr @test_count, align 4, !tbaa !5
  %11001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11002 = load i32, ptr %11001, align 4, !tbaa !5
  %11003 = icmp eq i32 %11002, 335544322
  br i1 %11003, label %11057, label %11004

11004:                                            ; preds = %10998
  br label %11005

11005:                                            ; preds = %11004
  br label %11006

11006:                                            ; preds = %11005
  call void @llvm.lifetime.start.p0(i64 4, ptr %226) #11
  %11007 = call ptr @__errno_location() #12
  %11008 = load i32, ptr %11007, align 4, !tbaa !5
  store i32 %11008, ptr %226, align 4, !tbaa !5
  %11009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11010 = call i32 @s2n_print_stacktrace(ptr noundef %11009)
  %11011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11012 = trunc i8 %11011 to i1
  br i1 %11012, label %11013, label %11035

11013:                                            ; preds = %11006
  %11014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11015 = call i32 @fileno(ptr noundef %11014) #11
  %11016 = call i32 @isatty(i32 noundef %11015) #11
  %11017 = icmp ne i32 %11016, 0
  br i1 %11017, label %11018, label %11035

11018:                                            ; preds = %11013
  %11019 = load i32, ptr %226, align 4, !tbaa !5
  %11020 = call ptr @__errno_location() #12
  store i32 %11019, ptr %11020, align 4, !tbaa !5
  %11021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11022 = load i32, ptr @test_count, align 4, !tbaa !5
  %11023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11024 = load i32, ptr %11023, align 4, !tbaa !5
  %11025 = call ptr @s2n_strerror(i32 noundef %11024, ptr noundef @.str.4)
  %11026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11027 = load i32, ptr %11026, align 4, !tbaa !5
  %11028 = call ptr @s2n_strerror_debug(i32 noundef %11027, ptr noundef @.str.4)
  %11029 = call ptr @__errno_location() #12
  %11030 = load i32, ptr %11029, align 4, !tbaa !5
  %11031 = call ptr @strerror(i32 noundef %11030) #11
  %11032 = call ptr @__errno_location() #12
  %11033 = load i32, ptr %11032, align 4, !tbaa !5
  %11034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11021, ptr noundef @.str.2, i32 noundef %11022, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 376, ptr noundef %11025, ptr noundef %11028, ptr noundef %11031, i32 noundef %11033) #11
  br label %11052

11035:                                            ; preds = %11013, %11006
  %11036 = load i32, ptr %226, align 4, !tbaa !5
  %11037 = call ptr @__errno_location() #12
  store i32 %11036, ptr %11037, align 4, !tbaa !5
  %11038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11039 = load i32, ptr @test_count, align 4, !tbaa !5
  %11040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11041 = load i32, ptr %11040, align 4, !tbaa !5
  %11042 = call ptr @s2n_strerror(i32 noundef %11041, ptr noundef @.str.4)
  %11043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11044 = load i32, ptr %11043, align 4, !tbaa !5
  %11045 = call ptr @s2n_strerror_debug(i32 noundef %11044, ptr noundef @.str.4)
  %11046 = call ptr @__errno_location() #12
  %11047 = load i32, ptr %11046, align 4, !tbaa !5
  %11048 = call ptr @strerror(i32 noundef %11047) #11
  %11049 = call ptr @__errno_location() #12
  %11050 = load i32, ptr %11049, align 4, !tbaa !5
  %11051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11038, ptr noundef @.str.5, i32 noundef %11039, ptr noundef @.str.39, ptr noundef @.str.1, i32 noundef 376, ptr noundef %11042, ptr noundef %11045, ptr noundef %11048, i32 noundef %11050) #11
  br label %11052

11052:                                            ; preds = %11035, %11018
  call void @llvm.lifetime.end.p0(i64 4, ptr %226) #11
  br label %11053

11053:                                            ; preds = %11052
  br label %11054

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

11055:                                            ; No predecessors!
  br label %11056

11056:                                            ; preds = %11055
  br label %11057

11057:                                            ; preds = %11056, %10998
  br label %11058

11058:                                            ; preds = %11057
  br label %11059

11059:                                            ; preds = %11058
  br label %11060

11060:                                            ; preds = %11059
  %11061 = load i32, ptr @test_count, align 4, !tbaa !5
  %11062 = add nsw i32 %11061, 1
  store i32 %11062, ptr @test_count, align 4, !tbaa !5
  %11063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11064 = load i32, ptr %11063, align 4, !tbaa !5
  %11065 = call ptr @s2n_strerror_debug(i32 noundef %11064, ptr noundef @.str.4)
  %11066 = icmp eq ptr %11065, null
  br i1 %11066, label %11067, label %11120

11067:                                            ; preds = %11060
  br label %11068

11068:                                            ; preds = %11067
  br label %11069

11069:                                            ; preds = %11068
  call void @llvm.lifetime.start.p0(i64 4, ptr %227) #11
  %11070 = call ptr @__errno_location() #12
  %11071 = load i32, ptr %11070, align 4, !tbaa !5
  store i32 %11071, ptr %227, align 4, !tbaa !5
  %11072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11073 = call i32 @s2n_print_stacktrace(ptr noundef %11072)
  %11074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11075 = trunc i8 %11074 to i1
  br i1 %11075, label %11076, label %11098

11076:                                            ; preds = %11069
  %11077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11078 = call i32 @fileno(ptr noundef %11077) #11
  %11079 = call i32 @isatty(i32 noundef %11078) #11
  %11080 = icmp ne i32 %11079, 0
  br i1 %11080, label %11081, label %11098

11081:                                            ; preds = %11076
  %11082 = load i32, ptr %227, align 4, !tbaa !5
  %11083 = call ptr @__errno_location() #12
  store i32 %11082, ptr %11083, align 4, !tbaa !5
  %11084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11085 = load i32, ptr @test_count, align 4, !tbaa !5
  %11086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11087 = load i32, ptr %11086, align 4, !tbaa !5
  %11088 = call ptr @s2n_strerror(i32 noundef %11087, ptr noundef @.str.4)
  %11089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11090 = load i32, ptr %11089, align 4, !tbaa !5
  %11091 = call ptr @s2n_strerror_debug(i32 noundef %11090, ptr noundef @.str.4)
  %11092 = call ptr @__errno_location() #12
  %11093 = load i32, ptr %11092, align 4, !tbaa !5
  %11094 = call ptr @strerror(i32 noundef %11093) #11
  %11095 = call ptr @__errno_location() #12
  %11096 = load i32, ptr %11095, align 4, !tbaa !5
  %11097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11084, ptr noundef @.str.2, i32 noundef %11085, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 376, ptr noundef %11088, ptr noundef %11091, ptr noundef %11094, i32 noundef %11096) #11
  br label %11115

11098:                                            ; preds = %11076, %11069
  %11099 = load i32, ptr %227, align 4, !tbaa !5
  %11100 = call ptr @__errno_location() #12
  store i32 %11099, ptr %11100, align 4, !tbaa !5
  %11101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11102 = load i32, ptr @test_count, align 4, !tbaa !5
  %11103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11104 = load i32, ptr %11103, align 4, !tbaa !5
  %11105 = call ptr @s2n_strerror(i32 noundef %11104, ptr noundef @.str.4)
  %11106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11107 = load i32, ptr %11106, align 4, !tbaa !5
  %11108 = call ptr @s2n_strerror_debug(i32 noundef %11107, ptr noundef @.str.4)
  %11109 = call ptr @__errno_location() #12
  %11110 = load i32, ptr %11109, align 4, !tbaa !5
  %11111 = call ptr @strerror(i32 noundef %11110) #11
  %11112 = call ptr @__errno_location() #12
  %11113 = load i32, ptr %11112, align 4, !tbaa !5
  %11114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11101, ptr noundef @.str.5, i32 noundef %11102, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 376, ptr noundef %11105, ptr noundef %11108, ptr noundef %11111, i32 noundef %11113) #11
  br label %11115

11115:                                            ; preds = %11098, %11081
  call void @llvm.lifetime.end.p0(i64 4, ptr %227) #11
  br label %11116

11116:                                            ; preds = %11115
  br label %11117

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

11118:                                            ; No predecessors!
  br label %11119

11119:                                            ; preds = %11118
  br label %11120

11120:                                            ; preds = %11119, %11060
  br label %11121

11121:                                            ; preds = %11120
  br label %11122

11122:                                            ; preds = %11121
  br label %11123

11123:                                            ; preds = %11122
  br label %11124

11124:                                            ; preds = %11123
  br label %11125

11125:                                            ; preds = %11124
  %11126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %11126, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %11127 = call ptr @__errno_location() #12
  store i32 0, ptr %11127, align 4, !tbaa !5
  br label %11128

11128:                                            ; preds = %11125
  br label %11129

11129:                                            ; preds = %11128
  br label %11130

11130:                                            ; preds = %11129
  br label %11131

11131:                                            ; preds = %11130
  %11132 = load ptr, ptr %197, align 8, !tbaa !9
  %11133 = getelementptr inbounds %struct.s2n_connection, ptr %11132, i32 0, i32 62
  call void @s2n_atomic_flag_clear(ptr noundef %11133)
  %11134 = load ptr, ptr %196, align 8, !tbaa !9
  %11135 = getelementptr inbounds %struct.s2n_connection, ptr %11134, i32 0, i32 62
  call void @s2n_atomic_flag_clear(ptr noundef %11135)
  br label %11136

11136:                                            ; preds = %11131
  %11137 = load i32, ptr @test_count, align 4, !tbaa !5
  %11138 = add nsw i32 %11137, 1
  store i32 %11138, ptr @test_count, align 4, !tbaa !5
  %11139 = load ptr, ptr %197, align 8, !tbaa !9
  %11140 = getelementptr inbounds [100 x i8], ptr %203, i64 0, i64 0
  %11141 = call i32 @s2n_recv_early_data(ptr noundef %11139, ptr noundef %11140, i64 noundef 100, ptr noundef %205, ptr noundef %204)
  %11142 = icmp eq i32 %11141, -1
  br i1 %11142, label %11143, label %11196

11143:                                            ; preds = %11136
  br label %11144

11144:                                            ; preds = %11143
  br label %11145

11145:                                            ; preds = %11144
  call void @llvm.lifetime.start.p0(i64 4, ptr %228) #11
  %11146 = call ptr @__errno_location() #12
  %11147 = load i32, ptr %11146, align 4, !tbaa !5
  store i32 %11147, ptr %228, align 4, !tbaa !5
  %11148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11149 = call i32 @s2n_print_stacktrace(ptr noundef %11148)
  %11150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11151 = trunc i8 %11150 to i1
  br i1 %11151, label %11152, label %11174

11152:                                            ; preds = %11145
  %11153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11154 = call i32 @fileno(ptr noundef %11153) #11
  %11155 = call i32 @isatty(i32 noundef %11154) #11
  %11156 = icmp ne i32 %11155, 0
  br i1 %11156, label %11157, label %11174

11157:                                            ; preds = %11152
  %11158 = load i32, ptr %228, align 4, !tbaa !5
  %11159 = call ptr @__errno_location() #12
  store i32 %11158, ptr %11159, align 4, !tbaa !5
  %11160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11161 = load i32, ptr @test_count, align 4, !tbaa !5
  %11162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11163 = load i32, ptr %11162, align 4, !tbaa !5
  %11164 = call ptr @s2n_strerror(i32 noundef %11163, ptr noundef @.str.4)
  %11165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11166 = load i32, ptr %11165, align 4, !tbaa !5
  %11167 = call ptr @s2n_strerror_debug(i32 noundef %11166, ptr noundef @.str.4)
  %11168 = call ptr @__errno_location() #12
  %11169 = load i32, ptr %11168, align 4, !tbaa !5
  %11170 = call ptr @strerror(i32 noundef %11169) #11
  %11171 = call ptr @__errno_location() #12
  %11172 = load i32, ptr %11171, align 4, !tbaa !5
  %11173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11160, ptr noundef @.str.2, i32 noundef %11161, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11164, ptr noundef %11167, ptr noundef %11170, i32 noundef %11172) #11
  br label %11191

11174:                                            ; preds = %11152, %11145
  %11175 = load i32, ptr %228, align 4, !tbaa !5
  %11176 = call ptr @__errno_location() #12
  store i32 %11175, ptr %11176, align 4, !tbaa !5
  %11177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11178 = load i32, ptr @test_count, align 4, !tbaa !5
  %11179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11180 = load i32, ptr %11179, align 4, !tbaa !5
  %11181 = call ptr @s2n_strerror(i32 noundef %11180, ptr noundef @.str.4)
  %11182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11183 = load i32, ptr %11182, align 4, !tbaa !5
  %11184 = call ptr @s2n_strerror_debug(i32 noundef %11183, ptr noundef @.str.4)
  %11185 = call ptr @__errno_location() #12
  %11186 = load i32, ptr %11185, align 4, !tbaa !5
  %11187 = call ptr @strerror(i32 noundef %11186) #11
  %11188 = call ptr @__errno_location() #12
  %11189 = load i32, ptr %11188, align 4, !tbaa !5
  %11190 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11177, ptr noundef @.str.5, i32 noundef %11178, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 385, ptr noundef %11181, ptr noundef %11184, ptr noundef %11187, i32 noundef %11189) #11
  br label %11191

11191:                                            ; preds = %11174, %11157
  call void @llvm.lifetime.end.p0(i64 4, ptr %228) #11
  br label %11192

11192:                                            ; preds = %11191
  br label %11193

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

11194:                                            ; No predecessors!
  br label %11195

11195:                                            ; preds = %11194
  br label %11196

11196:                                            ; preds = %11195, %11136
  br label %11197

11197:                                            ; preds = %11196
  br label %11198

11198:                                            ; preds = %11197
  br label %11199

11199:                                            ; preds = %11198
  %11200 = load i32, ptr @test_count, align 4, !tbaa !5
  %11201 = add nsw i32 %11200, 1
  store i32 %11201, ptr @test_count, align 4, !tbaa !5
  %11202 = load i32, ptr %204, align 4, !tbaa !5
  %11203 = icmp eq i32 %11202, 0
  br i1 %11203, label %11257, label %11204

11204:                                            ; preds = %11199
  br label %11205

11205:                                            ; preds = %11204
  br label %11206

11206:                                            ; preds = %11205
  call void @llvm.lifetime.start.p0(i64 4, ptr %229) #11
  %11207 = call ptr @__errno_location() #12
  %11208 = load i32, ptr %11207, align 4, !tbaa !5
  store i32 %11208, ptr %229, align 4, !tbaa !5
  %11209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11210 = call i32 @s2n_print_stacktrace(ptr noundef %11209)
  %11211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11212 = trunc i8 %11211 to i1
  br i1 %11212, label %11213, label %11235

11213:                                            ; preds = %11206
  %11214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11215 = call i32 @fileno(ptr noundef %11214) #11
  %11216 = call i32 @isatty(i32 noundef %11215) #11
  %11217 = icmp ne i32 %11216, 0
  br i1 %11217, label %11218, label %11235

11218:                                            ; preds = %11213
  %11219 = load i32, ptr %229, align 4, !tbaa !5
  %11220 = call ptr @__errno_location() #12
  store i32 %11219, ptr %11220, align 4, !tbaa !5
  %11221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11222 = load i32, ptr @test_count, align 4, !tbaa !5
  %11223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11224 = load i32, ptr %11223, align 4, !tbaa !5
  %11225 = call ptr @s2n_strerror(i32 noundef %11224, ptr noundef @.str.4)
  %11226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11227 = load i32, ptr %11226, align 4, !tbaa !5
  %11228 = call ptr @s2n_strerror_debug(i32 noundef %11227, ptr noundef @.str.4)
  %11229 = call ptr @__errno_location() #12
  %11230 = load i32, ptr %11229, align 4, !tbaa !5
  %11231 = call ptr @strerror(i32 noundef %11230) #11
  %11232 = call ptr @__errno_location() #12
  %11233 = load i32, ptr %11232, align 4, !tbaa !5
  %11234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11221, ptr noundef @.str.2, i32 noundef %11222, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 387, ptr noundef %11225, ptr noundef %11228, ptr noundef %11231, i32 noundef %11233) #11
  br label %11252

11235:                                            ; preds = %11213, %11206
  %11236 = load i32, ptr %229, align 4, !tbaa !5
  %11237 = call ptr @__errno_location() #12
  store i32 %11236, ptr %11237, align 4, !tbaa !5
  %11238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11239 = load i32, ptr @test_count, align 4, !tbaa !5
  %11240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11241 = load i32, ptr %11240, align 4, !tbaa !5
  %11242 = call ptr @s2n_strerror(i32 noundef %11241, ptr noundef @.str.4)
  %11243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11244 = load i32, ptr %11243, align 4, !tbaa !5
  %11245 = call ptr @s2n_strerror_debug(i32 noundef %11244, ptr noundef @.str.4)
  %11246 = call ptr @__errno_location() #12
  %11247 = load i32, ptr %11246, align 4, !tbaa !5
  %11248 = call ptr @strerror(i32 noundef %11247) #11
  %11249 = call ptr @__errno_location() #12
  %11250 = load i32, ptr %11249, align 4, !tbaa !5
  %11251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11238, ptr noundef @.str.5, i32 noundef %11239, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 387, ptr noundef %11242, ptr noundef %11245, ptr noundef %11248, i32 noundef %11250) #11
  br label %11252

11252:                                            ; preds = %11235, %11218
  call void @llvm.lifetime.end.p0(i64 4, ptr %229) #11
  br label %11253

11253:                                            ; preds = %11252
  br label %11254

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

11255:                                            ; No predecessors!
  br label %11256

11256:                                            ; preds = %11255
  br label %11257

11257:                                            ; preds = %11256, %11199
  br label %11258

11258:                                            ; preds = %11257
  br label %11259

11259:                                            ; preds = %11258
  br label %11260

11260:                                            ; preds = %11259
  %11261 = load i32, ptr @test_count, align 4, !tbaa !5
  %11262 = add nsw i32 %11261, 1
  store i32 %11262, ptr @test_count, align 4, !tbaa !5
  %11263 = load ptr, ptr %197, align 8, !tbaa !9
  %11264 = call i32 @s2n_conn_get_current_message_type(ptr noundef %11263)
  %11265 = icmp eq i32 %11264, 20
  br i1 %11265, label %11319, label %11266

11266:                                            ; preds = %11260
  br label %11267

11267:                                            ; preds = %11266
  br label %11268

11268:                                            ; preds = %11267
  call void @llvm.lifetime.start.p0(i64 4, ptr %230) #11
  %11269 = call ptr @__errno_location() #12
  %11270 = load i32, ptr %11269, align 4, !tbaa !5
  store i32 %11270, ptr %230, align 4, !tbaa !5
  %11271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11272 = call i32 @s2n_print_stacktrace(ptr noundef %11271)
  %11273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11274 = trunc i8 %11273 to i1
  br i1 %11274, label %11275, label %11297

11275:                                            ; preds = %11268
  %11276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11277 = call i32 @fileno(ptr noundef %11276) #11
  %11278 = call i32 @isatty(i32 noundef %11277) #11
  %11279 = icmp ne i32 %11278, 0
  br i1 %11279, label %11280, label %11297

11280:                                            ; preds = %11275
  %11281 = load i32, ptr %230, align 4, !tbaa !5
  %11282 = call ptr @__errno_location() #12
  store i32 %11281, ptr %11282, align 4, !tbaa !5
  %11283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11284 = load i32, ptr @test_count, align 4, !tbaa !5
  %11285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11286 = load i32, ptr %11285, align 4, !tbaa !5
  %11287 = call ptr @s2n_strerror(i32 noundef %11286, ptr noundef @.str.4)
  %11288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11289 = load i32, ptr %11288, align 4, !tbaa !5
  %11290 = call ptr @s2n_strerror_debug(i32 noundef %11289, ptr noundef @.str.4)
  %11291 = call ptr @__errno_location() #12
  %11292 = load i32, ptr %11291, align 4, !tbaa !5
  %11293 = call ptr @strerror(i32 noundef %11292) #11
  %11294 = call ptr @__errno_location() #12
  %11295 = load i32, ptr %11294, align 4, !tbaa !5
  %11296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11283, ptr noundef @.str.2, i32 noundef %11284, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 387, ptr noundef %11287, ptr noundef %11290, ptr noundef %11293, i32 noundef %11295) #11
  br label %11314

11297:                                            ; preds = %11275, %11268
  %11298 = load i32, ptr %230, align 4, !tbaa !5
  %11299 = call ptr @__errno_location() #12
  store i32 %11298, ptr %11299, align 4, !tbaa !5
  %11300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11301 = load i32, ptr @test_count, align 4, !tbaa !5
  %11302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11303 = load i32, ptr %11302, align 4, !tbaa !5
  %11304 = call ptr @s2n_strerror(i32 noundef %11303, ptr noundef @.str.4)
  %11305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11306 = load i32, ptr %11305, align 4, !tbaa !5
  %11307 = call ptr @s2n_strerror_debug(i32 noundef %11306, ptr noundef @.str.4)
  %11308 = call ptr @__errno_location() #12
  %11309 = load i32, ptr %11308, align 4, !tbaa !5
  %11310 = call ptr @strerror(i32 noundef %11309) #11
  %11311 = call ptr @__errno_location() #12
  %11312 = load i32, ptr %11311, align 4, !tbaa !5
  %11313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11300, ptr noundef @.str.5, i32 noundef %11301, ptr noundef @.str.83, ptr noundef @.str.1, i32 noundef 387, ptr noundef %11304, ptr noundef %11307, ptr noundef %11310, i32 noundef %11312) #11
  br label %11314

11314:                                            ; preds = %11297, %11280
  call void @llvm.lifetime.end.p0(i64 4, ptr %230) #11
  br label %11315

11315:                                            ; preds = %11314
  br label %11316

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

11317:                                            ; No predecessors!
  br label %11318

11318:                                            ; preds = %11317
  br label %11319

11319:                                            ; preds = %11318, %11260
  br label %11320

11320:                                            ; preds = %11319
  br label %11321

11321:                                            ; preds = %11320
  br label %11322

11322:                                            ; preds = %11321
  %11323 = load i32, ptr @test_count, align 4, !tbaa !5
  %11324 = add nsw i32 %11323, 1
  store i32 %11324, ptr @test_count, align 4, !tbaa !5
  %11325 = load i64, ptr %205, align 8, !tbaa !42
  %11326 = icmp eq i64 %11325, 11
  br i1 %11326, label %11380, label %11327

11327:                                            ; preds = %11322
  br label %11328

11328:                                            ; preds = %11327
  br label %11329

11329:                                            ; preds = %11328
  call void @llvm.lifetime.start.p0(i64 4, ptr %231) #11
  %11330 = call ptr @__errno_location() #12
  %11331 = load i32, ptr %11330, align 4, !tbaa !5
  store i32 %11331, ptr %231, align 4, !tbaa !5
  %11332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11333 = call i32 @s2n_print_stacktrace(ptr noundef %11332)
  %11334 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11335 = trunc i8 %11334 to i1
  br i1 %11335, label %11336, label %11358

11336:                                            ; preds = %11329
  %11337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11338 = call i32 @fileno(ptr noundef %11337) #11
  %11339 = call i32 @isatty(i32 noundef %11338) #11
  %11340 = icmp ne i32 %11339, 0
  br i1 %11340, label %11341, label %11358

11341:                                            ; preds = %11336
  %11342 = load i32, ptr %231, align 4, !tbaa !5
  %11343 = call ptr @__errno_location() #12
  store i32 %11342, ptr %11343, align 4, !tbaa !5
  %11344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11345 = load i32, ptr @test_count, align 4, !tbaa !5
  %11346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11347 = load i32, ptr %11346, align 4, !tbaa !5
  %11348 = call ptr @s2n_strerror(i32 noundef %11347, ptr noundef @.str.4)
  %11349 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11350 = load i32, ptr %11349, align 4, !tbaa !5
  %11351 = call ptr @s2n_strerror_debug(i32 noundef %11350, ptr noundef @.str.4)
  %11352 = call ptr @__errno_location() #12
  %11353 = load i32, ptr %11352, align 4, !tbaa !5
  %11354 = call ptr @strerror(i32 noundef %11353) #11
  %11355 = call ptr @__errno_location() #12
  %11356 = load i32, ptr %11355, align 4, !tbaa !5
  %11357 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11344, ptr noundef @.str.2, i32 noundef %11345, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 388, ptr noundef %11348, ptr noundef %11351, ptr noundef %11354, i32 noundef %11356) #11
  br label %11375

11358:                                            ; preds = %11336, %11329
  %11359 = load i32, ptr %231, align 4, !tbaa !5
  %11360 = call ptr @__errno_location() #12
  store i32 %11359, ptr %11360, align 4, !tbaa !5
  %11361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11362 = load i32, ptr @test_count, align 4, !tbaa !5
  %11363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11364 = load i32, ptr %11363, align 4, !tbaa !5
  %11365 = call ptr @s2n_strerror(i32 noundef %11364, ptr noundef @.str.4)
  %11366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11367 = load i32, ptr %11366, align 4, !tbaa !5
  %11368 = call ptr @s2n_strerror_debug(i32 noundef %11367, ptr noundef @.str.4)
  %11369 = call ptr @__errno_location() #12
  %11370 = load i32, ptr %11369, align 4, !tbaa !5
  %11371 = call ptr @strerror(i32 noundef %11370) #11
  %11372 = call ptr @__errno_location() #12
  %11373 = load i32, ptr %11372, align 4, !tbaa !5
  %11374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11361, ptr noundef @.str.5, i32 noundef %11362, ptr noundef @.str.84, ptr noundef @.str.1, i32 noundef 388, ptr noundef %11365, ptr noundef %11368, ptr noundef %11371, i32 noundef %11373) #11
  br label %11375

11375:                                            ; preds = %11358, %11341
  call void @llvm.lifetime.end.p0(i64 4, ptr %231) #11
  br label %11376

11376:                                            ; preds = %11375
  br label %11377

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

11378:                                            ; No predecessors!
  br label %11379

11379:                                            ; preds = %11378
  br label %11380

11380:                                            ; preds = %11379, %11322
  br label %11381

11381:                                            ; preds = %11380
  br label %11382

11382:                                            ; preds = %11381
  br label %11383

11383:                                            ; preds = %11382
  br label %11384

11384:                                            ; preds = %11383
  %11385 = load i32, ptr @test_count, align 4, !tbaa !5
  %11386 = add nsw i32 %11385, 1
  store i32 %11386, ptr @test_count, align 4, !tbaa !5
  %11387 = getelementptr inbounds [100 x i8], ptr %203, i64 0, i64 0
  %11388 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %11389 = getelementptr inbounds i8, ptr %11388, i64 1
  %11390 = call i32 @memcmp(ptr noundef %11387, ptr noundef %11389, i64 noundef 11) #14
  %11391 = icmp eq i32 %11390, 0
  br i1 %11391, label %11445, label %11392

11392:                                            ; preds = %11384
  br label %11393

11393:                                            ; preds = %11392
  br label %11394

11394:                                            ; preds = %11393
  call void @llvm.lifetime.start.p0(i64 4, ptr %232) #11
  %11395 = call ptr @__errno_location() #12
  %11396 = load i32, ptr %11395, align 4, !tbaa !5
  store i32 %11396, ptr %232, align 4, !tbaa !5
  %11397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11398 = call i32 @s2n_print_stacktrace(ptr noundef %11397)
  %11399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11400 = trunc i8 %11399 to i1
  br i1 %11400, label %11401, label %11423

11401:                                            ; preds = %11394
  %11402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11403 = call i32 @fileno(ptr noundef %11402) #11
  %11404 = call i32 @isatty(i32 noundef %11403) #11
  %11405 = icmp ne i32 %11404, 0
  br i1 %11405, label %11406, label %11423

11406:                                            ; preds = %11401
  %11407 = load i32, ptr %232, align 4, !tbaa !5
  %11408 = call ptr @__errno_location() #12
  store i32 %11407, ptr %11408, align 4, !tbaa !5
  %11409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11410 = load i32, ptr @test_count, align 4, !tbaa !5
  %11411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11412 = load i32, ptr %11411, align 4, !tbaa !5
  %11413 = call ptr @s2n_strerror(i32 noundef %11412, ptr noundef @.str.4)
  %11414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11415 = load i32, ptr %11414, align 4, !tbaa !5
  %11416 = call ptr @s2n_strerror_debug(i32 noundef %11415, ptr noundef @.str.4)
  %11417 = call ptr @__errno_location() #12
  %11418 = load i32, ptr %11417, align 4, !tbaa !5
  %11419 = call ptr @strerror(i32 noundef %11418) #11
  %11420 = call ptr @__errno_location() #12
  %11421 = load i32, ptr %11420, align 4, !tbaa !5
  %11422 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11409, ptr noundef @.str.2, i32 noundef %11410, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 389, ptr noundef %11413, ptr noundef %11416, ptr noundef %11419, i32 noundef %11421) #11
  br label %11440

11423:                                            ; preds = %11401, %11394
  %11424 = load i32, ptr %232, align 4, !tbaa !5
  %11425 = call ptr @__errno_location() #12
  store i32 %11424, ptr %11425, align 4, !tbaa !5
  %11426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11427 = load i32, ptr @test_count, align 4, !tbaa !5
  %11428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11429 = load i32, ptr %11428, align 4, !tbaa !5
  %11430 = call ptr @s2n_strerror(i32 noundef %11429, ptr noundef @.str.4)
  %11431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11432 = load i32, ptr %11431, align 4, !tbaa !5
  %11433 = call ptr @s2n_strerror_debug(i32 noundef %11432, ptr noundef @.str.4)
  %11434 = call ptr @__errno_location() #12
  %11435 = load i32, ptr %11434, align 4, !tbaa !5
  %11436 = call ptr @strerror(i32 noundef %11435) #11
  %11437 = call ptr @__errno_location() #12
  %11438 = load i32, ptr %11437, align 4, !tbaa !5
  %11439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11426, ptr noundef @.str.5, i32 noundef %11427, ptr noundef @.str.85, ptr noundef @.str.1, i32 noundef 389, ptr noundef %11430, ptr noundef %11433, ptr noundef %11436, i32 noundef %11438) #11
  br label %11440

11440:                                            ; preds = %11423, %11406
  call void @llvm.lifetime.end.p0(i64 4, ptr %232) #11
  br label %11441

11441:                                            ; preds = %11440
  br label %11442

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

11443:                                            ; No predecessors!
  br label %11444

11444:                                            ; preds = %11443
  br label %11445

11445:                                            ; preds = %11444, %11384
  br label %11446

11446:                                            ; preds = %11445
  br label %11447

11447:                                            ; preds = %11446
  br label %11448

11448:                                            ; preds = %11447
  br label %11449

11449:                                            ; preds = %11448
  br label %11450

11450:                                            ; preds = %11449
  %11451 = load i32, ptr @test_count, align 4, !tbaa !5
  %11452 = add nsw i32 %11451, 1
  store i32 %11452, ptr @test_count, align 4, !tbaa !5
  %11453 = load ptr, ptr %197, align 8, !tbaa !9
  %11454 = load ptr, ptr %196, align 8, !tbaa !9
  %11455 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %11453, ptr noundef %11454)
  %11456 = icmp eq i32 %11455, -1
  br i1 %11456, label %11457, label %11510

11457:                                            ; preds = %11450
  br label %11458

11458:                                            ; preds = %11457
  br label %11459

11459:                                            ; preds = %11458
  call void @llvm.lifetime.start.p0(i64 4, ptr %233) #11
  %11460 = call ptr @__errno_location() #12
  %11461 = load i32, ptr %11460, align 4, !tbaa !5
  store i32 %11461, ptr %233, align 4, !tbaa !5
  %11462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11463 = call i32 @s2n_print_stacktrace(ptr noundef %11462)
  %11464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11465 = trunc i8 %11464 to i1
  br i1 %11465, label %11466, label %11488

11466:                                            ; preds = %11459
  %11467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11468 = call i32 @fileno(ptr noundef %11467) #11
  %11469 = call i32 @isatty(i32 noundef %11468) #11
  %11470 = icmp ne i32 %11469, 0
  br i1 %11470, label %11471, label %11488

11471:                                            ; preds = %11466
  %11472 = load i32, ptr %233, align 4, !tbaa !5
  %11473 = call ptr @__errno_location() #12
  store i32 %11472, ptr %11473, align 4, !tbaa !5
  %11474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11475 = load i32, ptr @test_count, align 4, !tbaa !5
  %11476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11477 = load i32, ptr %11476, align 4, !tbaa !5
  %11478 = call ptr @s2n_strerror(i32 noundef %11477, ptr noundef @.str.4)
  %11479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11480 = load i32, ptr %11479, align 4, !tbaa !5
  %11481 = call ptr @s2n_strerror_debug(i32 noundef %11480, ptr noundef @.str.4)
  %11482 = call ptr @__errno_location() #12
  %11483 = load i32, ptr %11482, align 4, !tbaa !5
  %11484 = call ptr @strerror(i32 noundef %11483) #11
  %11485 = call ptr @__errno_location() #12
  %11486 = load i32, ptr %11485, align 4, !tbaa !5
  %11487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11474, ptr noundef @.str.2, i32 noundef %11475, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 391, ptr noundef %11478, ptr noundef %11481, ptr noundef %11484, i32 noundef %11486) #11
  br label %11505

11488:                                            ; preds = %11466, %11459
  %11489 = load i32, ptr %233, align 4, !tbaa !5
  %11490 = call ptr @__errno_location() #12
  store i32 %11489, ptr %11490, align 4, !tbaa !5
  %11491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11492 = load i32, ptr @test_count, align 4, !tbaa !5
  %11493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11494 = load i32, ptr %11493, align 4, !tbaa !5
  %11495 = call ptr @s2n_strerror(i32 noundef %11494, ptr noundef @.str.4)
  %11496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11497 = load i32, ptr %11496, align 4, !tbaa !5
  %11498 = call ptr @s2n_strerror_debug(i32 noundef %11497, ptr noundef @.str.4)
  %11499 = call ptr @__errno_location() #12
  %11500 = load i32, ptr %11499, align 4, !tbaa !5
  %11501 = call ptr @strerror(i32 noundef %11500) #11
  %11502 = call ptr @__errno_location() #12
  %11503 = load i32, ptr %11502, align 4, !tbaa !5
  %11504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11491, ptr noundef @.str.5, i32 noundef %11492, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 391, ptr noundef %11495, ptr noundef %11498, ptr noundef %11501, i32 noundef %11503) #11
  br label %11505

11505:                                            ; preds = %11488, %11471
  call void @llvm.lifetime.end.p0(i64 4, ptr %233) #11
  br label %11506

11506:                                            ; preds = %11505
  br label %11507

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

11508:                                            ; No predecessors!
  br label %11509

11509:                                            ; preds = %11508
  br label %11510

11510:                                            ; preds = %11509, %11450
  br label %11511

11511:                                            ; preds = %11510
  br label %11512

11512:                                            ; preds = %11511
  br label %11513

11513:                                            ; preds = %11512
  %11514 = load i32, ptr @test_count, align 4, !tbaa !5
  %11515 = add nsw i32 %11514, 1
  store i32 %11515, ptr @test_count, align 4, !tbaa !5
  %11516 = load ptr, ptr %196, align 8, !tbaa !9
  %11517 = call i32 @s2n_connection_free(ptr noundef %11516)
  %11518 = icmp eq i32 %11517, -1
  br i1 %11518, label %11519, label %11572

11519:                                            ; preds = %11513
  br label %11520

11520:                                            ; preds = %11519
  br label %11521

11521:                                            ; preds = %11520
  call void @llvm.lifetime.start.p0(i64 4, ptr %234) #11
  %11522 = call ptr @__errno_location() #12
  %11523 = load i32, ptr %11522, align 4, !tbaa !5
  store i32 %11523, ptr %234, align 4, !tbaa !5
  %11524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11525 = call i32 @s2n_print_stacktrace(ptr noundef %11524)
  %11526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11527 = trunc i8 %11526 to i1
  br i1 %11527, label %11528, label %11550

11528:                                            ; preds = %11521
  %11529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11530 = call i32 @fileno(ptr noundef %11529) #11
  %11531 = call i32 @isatty(i32 noundef %11530) #11
  %11532 = icmp ne i32 %11531, 0
  br i1 %11532, label %11533, label %11550

11533:                                            ; preds = %11528
  %11534 = load i32, ptr %234, align 4, !tbaa !5
  %11535 = call ptr @__errno_location() #12
  store i32 %11534, ptr %11535, align 4, !tbaa !5
  %11536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11537 = load i32, ptr @test_count, align 4, !tbaa !5
  %11538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11539 = load i32, ptr %11538, align 4, !tbaa !5
  %11540 = call ptr @s2n_strerror(i32 noundef %11539, ptr noundef @.str.4)
  %11541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11542 = load i32, ptr %11541, align 4, !tbaa !5
  %11543 = call ptr @s2n_strerror_debug(i32 noundef %11542, ptr noundef @.str.4)
  %11544 = call ptr @__errno_location() #12
  %11545 = load i32, ptr %11544, align 4, !tbaa !5
  %11546 = call ptr @strerror(i32 noundef %11545) #11
  %11547 = call ptr @__errno_location() #12
  %11548 = load i32, ptr %11547, align 4, !tbaa !5
  %11549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11536, ptr noundef @.str.2, i32 noundef %11537, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 393, ptr noundef %11540, ptr noundef %11543, ptr noundef %11546, i32 noundef %11548) #11
  br label %11567

11550:                                            ; preds = %11528, %11521
  %11551 = load i32, ptr %234, align 4, !tbaa !5
  %11552 = call ptr @__errno_location() #12
  store i32 %11551, ptr %11552, align 4, !tbaa !5
  %11553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11554 = load i32, ptr @test_count, align 4, !tbaa !5
  %11555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11556 = load i32, ptr %11555, align 4, !tbaa !5
  %11557 = call ptr @s2n_strerror(i32 noundef %11556, ptr noundef @.str.4)
  %11558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11559 = load i32, ptr %11558, align 4, !tbaa !5
  %11560 = call ptr @s2n_strerror_debug(i32 noundef %11559, ptr noundef @.str.4)
  %11561 = call ptr @__errno_location() #12
  %11562 = load i32, ptr %11561, align 4, !tbaa !5
  %11563 = call ptr @strerror(i32 noundef %11562) #11
  %11564 = call ptr @__errno_location() #12
  %11565 = load i32, ptr %11564, align 4, !tbaa !5
  %11566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11553, ptr noundef @.str.5, i32 noundef %11554, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 393, ptr noundef %11557, ptr noundef %11560, ptr noundef %11563, i32 noundef %11565) #11
  br label %11567

11567:                                            ; preds = %11550, %11533
  call void @llvm.lifetime.end.p0(i64 4, ptr %234) #11
  br label %11568

11568:                                            ; preds = %11567
  br label %11569

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

11570:                                            ; No predecessors!
  br label %11571

11571:                                            ; preds = %11570
  br label %11572

11572:                                            ; preds = %11571, %11513
  br label %11573

11573:                                            ; preds = %11572
  br label %11574

11574:                                            ; preds = %11573
  br label %11575

11575:                                            ; preds = %11574
  %11576 = load i32, ptr @test_count, align 4, !tbaa !5
  %11577 = add nsw i32 %11576, 1
  store i32 %11577, ptr @test_count, align 4, !tbaa !5
  %11578 = load ptr, ptr %197, align 8, !tbaa !9
  %11579 = call i32 @s2n_connection_free(ptr noundef %11578)
  %11580 = icmp eq i32 %11579, -1
  br i1 %11580, label %11581, label %11634

11581:                                            ; preds = %11575
  br label %11582

11582:                                            ; preds = %11581
  br label %11583

11583:                                            ; preds = %11582
  call void @llvm.lifetime.start.p0(i64 4, ptr %235) #11
  %11584 = call ptr @__errno_location() #12
  %11585 = load i32, ptr %11584, align 4, !tbaa !5
  store i32 %11585, ptr %235, align 4, !tbaa !5
  %11586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11587 = call i32 @s2n_print_stacktrace(ptr noundef %11586)
  %11588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11589 = trunc i8 %11588 to i1
  br i1 %11589, label %11590, label %11612

11590:                                            ; preds = %11583
  %11591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11592 = call i32 @fileno(ptr noundef %11591) #11
  %11593 = call i32 @isatty(i32 noundef %11592) #11
  %11594 = icmp ne i32 %11593, 0
  br i1 %11594, label %11595, label %11612

11595:                                            ; preds = %11590
  %11596 = load i32, ptr %235, align 4, !tbaa !5
  %11597 = call ptr @__errno_location() #12
  store i32 %11596, ptr %11597, align 4, !tbaa !5
  %11598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11599 = load i32, ptr @test_count, align 4, !tbaa !5
  %11600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11601 = load i32, ptr %11600, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror(i32 noundef %11601, ptr noundef @.str.4)
  %11603 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11604 = load i32, ptr %11603, align 4, !tbaa !5
  %11605 = call ptr @s2n_strerror_debug(i32 noundef %11604, ptr noundef @.str.4)
  %11606 = call ptr @__errno_location() #12
  %11607 = load i32, ptr %11606, align 4, !tbaa !5
  %11608 = call ptr @strerror(i32 noundef %11607) #11
  %11609 = call ptr @__errno_location() #12
  %11610 = load i32, ptr %11609, align 4, !tbaa !5
  %11611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11598, ptr noundef @.str.2, i32 noundef %11599, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 394, ptr noundef %11602, ptr noundef %11605, ptr noundef %11608, i32 noundef %11610) #11
  br label %11629

11612:                                            ; preds = %11590, %11583
  %11613 = load i32, ptr %235, align 4, !tbaa !5
  %11614 = call ptr @__errno_location() #12
  store i32 %11613, ptr %11614, align 4, !tbaa !5
  %11615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11616 = load i32, ptr @test_count, align 4, !tbaa !5
  %11617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11618 = load i32, ptr %11617, align 4, !tbaa !5
  %11619 = call ptr @s2n_strerror(i32 noundef %11618, ptr noundef @.str.4)
  %11620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11621 = load i32, ptr %11620, align 4, !tbaa !5
  %11622 = call ptr @s2n_strerror_debug(i32 noundef %11621, ptr noundef @.str.4)
  %11623 = call ptr @__errno_location() #12
  %11624 = load i32, ptr %11623, align 4, !tbaa !5
  %11625 = call ptr @strerror(i32 noundef %11624) #11
  %11626 = call ptr @__errno_location() #12
  %11627 = load i32, ptr %11626, align 4, !tbaa !5
  %11628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11615, ptr noundef @.str.5, i32 noundef %11616, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 394, ptr noundef %11619, ptr noundef %11622, ptr noundef %11625, i32 noundef %11627) #11
  br label %11629

11629:                                            ; preds = %11612, %11595
  call void @llvm.lifetime.end.p0(i64 4, ptr %235) #11
  br label %11630

11630:                                            ; preds = %11629
  br label %11631

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

11632:                                            ; No predecessors!
  br label %11633

11633:                                            ; preds = %11632
  br label %11634

11634:                                            ; preds = %11633, %11575
  br label %11635

11635:                                            ; preds = %11634
  br label %11636

11636:                                            ; preds = %11635
  call void @llvm.lifetime.end.p0(i64 8, ptr %205) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %204) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %203) #11
  %11637 = call i32 @s2n_io_pair_close(ptr noundef %198)
  call void @llvm.lifetime.end.p0(i64 8, ptr %198) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %197) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %196) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %236) #11
  store ptr null, ptr %236, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %237) #11
  store ptr null, ptr %237, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %238) #11
  call void @llvm.memset.p0.i64(ptr align 4 %238, i8 0, i64 8, i1 false)
  br label %11638

11638:                                            ; preds = %11636
  %11639 = load i32, ptr @test_count, align 4, !tbaa !5
  %11640 = add nsw i32 %11639, 1
  store i32 %11640, ptr @test_count, align 4, !tbaa !5
  %11641 = call i32 @s2n_test_client_and_server_new(ptr noundef %236, ptr noundef %237, ptr noundef %238)
  %11642 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  store i32 %11641, ptr %11642, align 4
  %11643 = getelementptr inbounds %struct.s2n_result, ptr %239, i32 0, i32 0
  %11644 = load i32, ptr %11643, align 4
  %11645 = call zeroext i1 @s2n_result_is_ok(i32 %11644)
  br i1 %11645, label %11699, label %11646

11646:                                            ; preds = %11638
  br label %11647

11647:                                            ; preds = %11646
  br label %11648

11648:                                            ; preds = %11647
  call void @llvm.lifetime.start.p0(i64 4, ptr %240) #11
  %11649 = call ptr @__errno_location() #12
  %11650 = load i32, ptr %11649, align 4, !tbaa !5
  store i32 %11650, ptr %240, align 4, !tbaa !5
  %11651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11652 = call i32 @s2n_print_stacktrace(ptr noundef %11651)
  %11653 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11654 = trunc i8 %11653 to i1
  br i1 %11654, label %11655, label %11677

11655:                                            ; preds = %11648
  %11656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11657 = call i32 @fileno(ptr noundef %11656) #11
  %11658 = call i32 @isatty(i32 noundef %11657) #11
  %11659 = icmp ne i32 %11658, 0
  br i1 %11659, label %11660, label %11677

11660:                                            ; preds = %11655
  %11661 = load i32, ptr %240, align 4, !tbaa !5
  %11662 = call ptr @__errno_location() #12
  store i32 %11661, ptr %11662, align 4, !tbaa !5
  %11663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11664 = load i32, ptr @test_count, align 4, !tbaa !5
  %11665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11666 = load i32, ptr %11665, align 4, !tbaa !5
  %11667 = call ptr @s2n_strerror(i32 noundef %11666, ptr noundef @.str.4)
  %11668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11669 = load i32, ptr %11668, align 4, !tbaa !5
  %11670 = call ptr @s2n_strerror_debug(i32 noundef %11669, ptr noundef @.str.4)
  %11671 = call ptr @__errno_location() #12
  %11672 = load i32, ptr %11671, align 4, !tbaa !5
  %11673 = call ptr @strerror(i32 noundef %11672) #11
  %11674 = call ptr @__errno_location() #12
  %11675 = load i32, ptr %11674, align 4, !tbaa !5
  %11676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11663, ptr noundef @.str.2, i32 noundef %11664, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 401, ptr noundef %11667, ptr noundef %11670, ptr noundef %11673, i32 noundef %11675) #11
  br label %11694

11677:                                            ; preds = %11655, %11648
  %11678 = load i32, ptr %240, align 4, !tbaa !5
  %11679 = call ptr @__errno_location() #12
  store i32 %11678, ptr %11679, align 4, !tbaa !5
  %11680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11681 = load i32, ptr @test_count, align 4, !tbaa !5
  %11682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11683 = load i32, ptr %11682, align 4, !tbaa !5
  %11684 = call ptr @s2n_strerror(i32 noundef %11683, ptr noundef @.str.4)
  %11685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11686 = load i32, ptr %11685, align 4, !tbaa !5
  %11687 = call ptr @s2n_strerror_debug(i32 noundef %11686, ptr noundef @.str.4)
  %11688 = call ptr @__errno_location() #12
  %11689 = load i32, ptr %11688, align 4, !tbaa !5
  %11690 = call ptr @strerror(i32 noundef %11689) #11
  %11691 = call ptr @__errno_location() #12
  %11692 = load i32, ptr %11691, align 4, !tbaa !5
  %11693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11680, ptr noundef @.str.5, i32 noundef %11681, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 401, ptr noundef %11684, ptr noundef %11687, ptr noundef %11690, i32 noundef %11692) #11
  br label %11694

11694:                                            ; preds = %11677, %11660
  call void @llvm.lifetime.end.p0(i64 4, ptr %240) #11
  br label %11695

11695:                                            ; preds = %11694
  br label %11696

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

11697:                                            ; No predecessors!
  br label %11698

11698:                                            ; preds = %11697
  br label %11699

11699:                                            ; preds = %11698, %11638
  br label %11700

11700:                                            ; preds = %11699
  br label %11701

11701:                                            ; preds = %11700
  br label %11702

11702:                                            ; preds = %11701
  %11703 = load i32, ptr @test_count, align 4, !tbaa !5
  %11704 = add nsw i32 %11703, 1
  store i32 %11704, ptr @test_count, align 4, !tbaa !5
  %11705 = load ptr, ptr %236, align 8, !tbaa !9
  %11706 = load ptr, ptr %13, align 8, !tbaa !9
  %11707 = call i32 @s2n_connection_append_psk(ptr noundef %11705, ptr noundef %11706)
  %11708 = icmp eq i32 %11707, -1
  br i1 %11708, label %11709, label %11762

11709:                                            ; preds = %11702
  br label %11710

11710:                                            ; preds = %11709
  br label %11711

11711:                                            ; preds = %11710
  call void @llvm.lifetime.start.p0(i64 4, ptr %241) #11
  %11712 = call ptr @__errno_location() #12
  %11713 = load i32, ptr %11712, align 4, !tbaa !5
  store i32 %11713, ptr %241, align 4, !tbaa !5
  %11714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11715 = call i32 @s2n_print_stacktrace(ptr noundef %11714)
  %11716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11717 = trunc i8 %11716 to i1
  br i1 %11717, label %11718, label %11740

11718:                                            ; preds = %11711
  %11719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11720 = call i32 @fileno(ptr noundef %11719) #11
  %11721 = call i32 @isatty(i32 noundef %11720) #11
  %11722 = icmp ne i32 %11721, 0
  br i1 %11722, label %11723, label %11740

11723:                                            ; preds = %11718
  %11724 = load i32, ptr %241, align 4, !tbaa !5
  %11725 = call ptr @__errno_location() #12
  store i32 %11724, ptr %11725, align 4, !tbaa !5
  %11726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11727 = load i32, ptr @test_count, align 4, !tbaa !5
  %11728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11729 = load i32, ptr %11728, align 4, !tbaa !5
  %11730 = call ptr @s2n_strerror(i32 noundef %11729, ptr noundef @.str.4)
  %11731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11732 = load i32, ptr %11731, align 4, !tbaa !5
  %11733 = call ptr @s2n_strerror_debug(i32 noundef %11732, ptr noundef @.str.4)
  %11734 = call ptr @__errno_location() #12
  %11735 = load i32, ptr %11734, align 4, !tbaa !5
  %11736 = call ptr @strerror(i32 noundef %11735) #11
  %11737 = call ptr @__errno_location() #12
  %11738 = load i32, ptr %11737, align 4, !tbaa !5
  %11739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11726, ptr noundef @.str.2, i32 noundef %11727, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11730, ptr noundef %11733, ptr noundef %11736, i32 noundef %11738) #11
  br label %11757

11740:                                            ; preds = %11718, %11711
  %11741 = load i32, ptr %241, 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.4)
  %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.4)
  %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.5, i32 noundef %11744, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 403, ptr noundef %11747, ptr noundef %11750, ptr noundef %11753, i32 noundef %11755) #11
  br label %11757

11757:                                            ; preds = %11740, %11723
  call void @llvm.lifetime.end.p0(i64 4, ptr %241) #11
  br label %11758

11758:                                            ; preds = %11757
  br label %11759

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

11760:                                            ; No predecessors!
  br label %11761

11761:                                            ; preds = %11760
  br label %11762

11762:                                            ; preds = %11761, %11702
  br label %11763

11763:                                            ; preds = %11762
  br label %11764

11764:                                            ; preds = %11763
  br label %11765

11765:                                            ; preds = %11764
  %11766 = load i32, ptr @test_count, align 4, !tbaa !5
  %11767 = add nsw i32 %11766, 1
  store i32 %11767, ptr @test_count, align 4, !tbaa !5
  %11768 = load ptr, ptr %237, align 8, !tbaa !9
  %11769 = load ptr, ptr %13, align 8, !tbaa !9
  %11770 = call i32 @s2n_connection_append_psk(ptr noundef %11768, ptr noundef %11769)
  %11771 = icmp eq i32 %11770, -1
  br i1 %11771, label %11772, label %11825

11772:                                            ; preds = %11765
  br label %11773

11773:                                            ; preds = %11772
  br label %11774

11774:                                            ; preds = %11773
  call void @llvm.lifetime.start.p0(i64 4, ptr %242) #11
  %11775 = call ptr @__errno_location() #12
  %11776 = load i32, ptr %11775, align 4, !tbaa !5
  store i32 %11776, ptr %242, align 4, !tbaa !5
  %11777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11778 = call i32 @s2n_print_stacktrace(ptr noundef %11777)
  %11779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11780 = trunc i8 %11779 to i1
  br i1 %11780, label %11781, label %11803

11781:                                            ; preds = %11774
  %11782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11783 = call i32 @fileno(ptr noundef %11782) #11
  %11784 = call i32 @isatty(i32 noundef %11783) #11
  %11785 = icmp ne i32 %11784, 0
  br i1 %11785, label %11786, label %11803

11786:                                            ; preds = %11781
  %11787 = load i32, ptr %242, align 4, !tbaa !5
  %11788 = call ptr @__errno_location() #12
  store i32 %11787, ptr %11788, align 4, !tbaa !5
  %11789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11790 = load i32, ptr @test_count, align 4, !tbaa !5
  %11791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11792 = load i32, ptr %11791, align 4, !tbaa !5
  %11793 = call ptr @s2n_strerror(i32 noundef %11792, ptr noundef @.str.4)
  %11794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11795 = load i32, ptr %11794, align 4, !tbaa !5
  %11796 = call ptr @s2n_strerror_debug(i32 noundef %11795, ptr noundef @.str.4)
  %11797 = call ptr @__errno_location() #12
  %11798 = load i32, ptr %11797, align 4, !tbaa !5
  %11799 = call ptr @strerror(i32 noundef %11798) #11
  %11800 = call ptr @__errno_location() #12
  %11801 = load i32, ptr %11800, align 4, !tbaa !5
  %11802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11789, ptr noundef @.str.2, i32 noundef %11790, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 404, ptr noundef %11793, ptr noundef %11796, ptr noundef %11799, i32 noundef %11801) #11
  br label %11820

11803:                                            ; preds = %11781, %11774
  %11804 = load i32, ptr %242, align 4, !tbaa !5
  %11805 = call ptr @__errno_location() #12
  store i32 %11804, ptr %11805, align 4, !tbaa !5
  %11806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11807 = load i32, ptr @test_count, align 4, !tbaa !5
  %11808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11809 = load i32, ptr %11808, align 4, !tbaa !5
  %11810 = call ptr @s2n_strerror(i32 noundef %11809, ptr noundef @.str.4)
  %11811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11812 = load i32, ptr %11811, align 4, !tbaa !5
  %11813 = call ptr @s2n_strerror_debug(i32 noundef %11812, ptr noundef @.str.4)
  %11814 = call ptr @__errno_location() #12
  %11815 = load i32, ptr %11814, align 4, !tbaa !5
  %11816 = call ptr @strerror(i32 noundef %11815) #11
  %11817 = call ptr @__errno_location() #12
  %11818 = load i32, ptr %11817, align 4, !tbaa !5
  %11819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11806, ptr noundef @.str.5, i32 noundef %11807, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 404, ptr noundef %11810, ptr noundef %11813, ptr noundef %11816, i32 noundef %11818) #11
  br label %11820

11820:                                            ; preds = %11803, %11786
  call void @llvm.lifetime.end.p0(i64 4, ptr %242) #11
  br label %11821

11821:                                            ; preds = %11820
  br label %11822

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

11823:                                            ; No predecessors!
  br label %11824

11824:                                            ; preds = %11823
  br label %11825

11825:                                            ; preds = %11824, %11765
  br label %11826

11826:                                            ; preds = %11825
  br label %11827

11827:                                            ; preds = %11826
  call void @llvm.lifetime.start.p0(i64 100, ptr %243) #11
  call void @llvm.memset.p0.i64(ptr align 16 %243, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %244) #11
  store i32 0, ptr %244, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %245) #11
  store i64 0, ptr %245, align 8, !tbaa !42
  br label %11828

11828:                                            ; preds = %11827
  br label %11829

11829:                                            ; preds = %11828
  br label %11830

11830:                                            ; preds = %11829
  %11831 = load i32, ptr @test_count, align 4, !tbaa !5
  %11832 = add nsw i32 %11831, 1
  store i32 %11832, ptr @test_count, align 4, !tbaa !5
  %11833 = load ptr, ptr %236, align 8, !tbaa !9
  %11834 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %11835 = call i32 @s2n_send_early_data(ptr noundef %11833, ptr noundef %11834, i64 noundef 12, ptr noundef %245, ptr noundef %244)
  %11836 = icmp eq i32 %11835, -1
  br i1 %11836, label %11890, label %11837

11837:                                            ; preds = %11830
  br label %11838

11838:                                            ; preds = %11837
  br label %11839

11839:                                            ; preds = %11838
  call void @llvm.lifetime.start.p0(i64 4, ptr %246) #11
  %11840 = call ptr @__errno_location() #12
  %11841 = load i32, ptr %11840, align 4, !tbaa !5
  store i32 %11841, ptr %246, align 4, !tbaa !5
  %11842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11843 = call i32 @s2n_print_stacktrace(ptr noundef %11842)
  %11844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11845 = trunc i8 %11844 to i1
  br i1 %11845, label %11846, label %11868

11846:                                            ; preds = %11839
  %11847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11848 = call i32 @fileno(ptr noundef %11847) #11
  %11849 = call i32 @isatty(i32 noundef %11848) #11
  %11850 = icmp ne i32 %11849, 0
  br i1 %11850, label %11851, label %11868

11851:                                            ; preds = %11846
  %11852 = load i32, ptr %246, align 4, !tbaa !5
  %11853 = call ptr @__errno_location() #12
  store i32 %11852, ptr %11853, align 4, !tbaa !5
  %11854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11855 = load i32, ptr @test_count, align 4, !tbaa !5
  %11856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11857 = load i32, ptr %11856, align 4, !tbaa !5
  %11858 = call ptr @s2n_strerror(i32 noundef %11857, ptr noundef @.str.4)
  %11859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11860 = load i32, ptr %11859, align 4, !tbaa !5
  %11861 = call ptr @s2n_strerror_debug(i32 noundef %11860, ptr noundef @.str.4)
  %11862 = call ptr @__errno_location() #12
  %11863 = load i32, ptr %11862, align 4, !tbaa !5
  %11864 = call ptr @strerror(i32 noundef %11863) #11
  %11865 = call ptr @__errno_location() #12
  %11866 = load i32, ptr %11865, align 4, !tbaa !5
  %11867 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11854, ptr noundef @.str.2, i32 noundef %11855, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 410, ptr noundef %11858, ptr noundef %11861, ptr noundef %11864, i32 noundef %11866) #11
  br label %11885

11868:                                            ; preds = %11846, %11839
  %11869 = load i32, ptr %246, align 4, !tbaa !5
  %11870 = call ptr @__errno_location() #12
  store i32 %11869, ptr %11870, align 4, !tbaa !5
  %11871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11872 = load i32, ptr @test_count, align 4, !tbaa !5
  %11873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11874 = load i32, ptr %11873, align 4, !tbaa !5
  %11875 = call ptr @s2n_strerror(i32 noundef %11874, ptr noundef @.str.4)
  %11876 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11877 = load i32, ptr %11876, align 4, !tbaa !5
  %11878 = call ptr @s2n_strerror_debug(i32 noundef %11877, ptr noundef @.str.4)
  %11879 = call ptr @__errno_location() #12
  %11880 = load i32, ptr %11879, align 4, !tbaa !5
  %11881 = call ptr @strerror(i32 noundef %11880) #11
  %11882 = call ptr @__errno_location() #12
  %11883 = load i32, ptr %11882, align 4, !tbaa !5
  %11884 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11871, ptr noundef @.str.5, i32 noundef %11872, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 410, ptr noundef %11875, ptr noundef %11878, ptr noundef %11881, i32 noundef %11883) #11
  br label %11885

11885:                                            ; preds = %11868, %11851
  call void @llvm.lifetime.end.p0(i64 4, ptr %246) #11
  br label %11886

11886:                                            ; preds = %11885
  br label %11887

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

11888:                                            ; No predecessors!
  br label %11889

11889:                                            ; preds = %11888
  br label %11890

11890:                                            ; preds = %11889, %11830
  br label %11891

11891:                                            ; preds = %11890
  br label %11892

11892:                                            ; preds = %11891
  br label %11893

11893:                                            ; preds = %11892
  %11894 = load i32, ptr @test_count, align 4, !tbaa !5
  %11895 = add nsw i32 %11894, 1
  store i32 %11895, ptr @test_count, align 4, !tbaa !5
  %11896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11897 = load i32, ptr %11896, align 4, !tbaa !5
  %11898 = icmp eq i32 %11897, 201326592
  br i1 %11898, label %11952, label %11899

11899:                                            ; preds = %11893
  br label %11900

11900:                                            ; preds = %11899
  br label %11901

11901:                                            ; preds = %11900
  call void @llvm.lifetime.start.p0(i64 4, ptr %247) #11
  %11902 = call ptr @__errno_location() #12
  %11903 = load i32, ptr %11902, align 4, !tbaa !5
  store i32 %11903, ptr %247, align 4, !tbaa !5
  %11904 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11905 = call i32 @s2n_print_stacktrace(ptr noundef %11904)
  %11906 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11907 = trunc i8 %11906 to i1
  br i1 %11907, label %11908, label %11930

11908:                                            ; preds = %11901
  %11909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11910 = call i32 @fileno(ptr noundef %11909) #11
  %11911 = call i32 @isatty(i32 noundef %11910) #11
  %11912 = icmp ne i32 %11911, 0
  br i1 %11912, label %11913, label %11930

11913:                                            ; preds = %11908
  %11914 = load i32, ptr %247, align 4, !tbaa !5
  %11915 = call ptr @__errno_location() #12
  store i32 %11914, ptr %11915, align 4, !tbaa !5
  %11916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11917 = load i32, ptr @test_count, align 4, !tbaa !5
  %11918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11919 = load i32, ptr %11918, align 4, !tbaa !5
  %11920 = call ptr @s2n_strerror(i32 noundef %11919, ptr noundef @.str.4)
  %11921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11922 = load i32, ptr %11921, align 4, !tbaa !5
  %11923 = call ptr @s2n_strerror_debug(i32 noundef %11922, ptr noundef @.str.4)
  %11924 = call ptr @__errno_location() #12
  %11925 = load i32, ptr %11924, align 4, !tbaa !5
  %11926 = call ptr @strerror(i32 noundef %11925) #11
  %11927 = call ptr @__errno_location() #12
  %11928 = load i32, ptr %11927, align 4, !tbaa !5
  %11929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11916, ptr noundef @.str.2, i32 noundef %11917, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 410, ptr noundef %11920, ptr noundef %11923, ptr noundef %11926, i32 noundef %11928) #11
  br label %11947

11930:                                            ; preds = %11908, %11901
  %11931 = load i32, ptr %247, align 4, !tbaa !5
  %11932 = call ptr @__errno_location() #12
  store i32 %11931, ptr %11932, align 4, !tbaa !5
  %11933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11934 = load i32, ptr @test_count, align 4, !tbaa !5
  %11935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11936 = load i32, ptr %11935, align 4, !tbaa !5
  %11937 = call ptr @s2n_strerror(i32 noundef %11936, ptr noundef @.str.4)
  %11938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11939 = load i32, ptr %11938, align 4, !tbaa !5
  %11940 = call ptr @s2n_strerror_debug(i32 noundef %11939, ptr noundef @.str.4)
  %11941 = call ptr @__errno_location() #12
  %11942 = load i32, ptr %11941, align 4, !tbaa !5
  %11943 = call ptr @strerror(i32 noundef %11942) #11
  %11944 = call ptr @__errno_location() #12
  %11945 = load i32, ptr %11944, align 4, !tbaa !5
  %11946 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11933, ptr noundef @.str.5, i32 noundef %11934, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 410, ptr noundef %11937, ptr noundef %11940, ptr noundef %11943, i32 noundef %11945) #11
  br label %11947

11947:                                            ; preds = %11930, %11913
  call void @llvm.lifetime.end.p0(i64 4, ptr %247) #11
  br label %11948

11948:                                            ; preds = %11947
  br label %11949

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

11950:                                            ; No predecessors!
  br label %11951

11951:                                            ; preds = %11950
  br label %11952

11952:                                            ; preds = %11951, %11893
  br label %11953

11953:                                            ; preds = %11952
  br label %11954

11954:                                            ; preds = %11953
  br label %11955

11955:                                            ; preds = %11954
  %11956 = load i32, ptr @test_count, align 4, !tbaa !5
  %11957 = add nsw i32 %11956, 1
  store i32 %11957, ptr @test_count, align 4, !tbaa !5
  %11958 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11959 = load i32, ptr %11958, align 4, !tbaa !5
  %11960 = call ptr @s2n_strerror_debug(i32 noundef %11959, ptr noundef @.str.4)
  %11961 = icmp eq ptr %11960, null
  br i1 %11961, label %11962, label %12015

11962:                                            ; preds = %11955
  br label %11963

11963:                                            ; preds = %11962
  br label %11964

11964:                                            ; preds = %11963
  call void @llvm.lifetime.start.p0(i64 4, ptr %248) #11
  %11965 = call ptr @__errno_location() #12
  %11966 = load i32, ptr %11965, align 4, !tbaa !5
  store i32 %11966, ptr %248, align 4, !tbaa !5
  %11967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11968 = call i32 @s2n_print_stacktrace(ptr noundef %11967)
  %11969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11970 = trunc i8 %11969 to i1
  br i1 %11970, label %11971, label %11993

11971:                                            ; preds = %11964
  %11972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11973 = call i32 @fileno(ptr noundef %11972) #11
  %11974 = call i32 @isatty(i32 noundef %11973) #11
  %11975 = icmp ne i32 %11974, 0
  br i1 %11975, label %11976, label %11993

11976:                                            ; preds = %11971
  %11977 = load i32, ptr %248, align 4, !tbaa !5
  %11978 = call ptr @__errno_location() #12
  store i32 %11977, ptr %11978, align 4, !tbaa !5
  %11979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11980 = load i32, ptr @test_count, align 4, !tbaa !5
  %11981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11982 = load i32, ptr %11981, align 4, !tbaa !5
  %11983 = call ptr @s2n_strerror(i32 noundef %11982, ptr noundef @.str.4)
  %11984 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11985 = load i32, ptr %11984, align 4, !tbaa !5
  %11986 = call ptr @s2n_strerror_debug(i32 noundef %11985, ptr noundef @.str.4)
  %11987 = call ptr @__errno_location() #12
  %11988 = load i32, ptr %11987, align 4, !tbaa !5
  %11989 = call ptr @strerror(i32 noundef %11988) #11
  %11990 = call ptr @__errno_location() #12
  %11991 = load i32, ptr %11990, align 4, !tbaa !5
  %11992 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11979, ptr noundef @.str.2, i32 noundef %11980, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 410, ptr noundef %11983, ptr noundef %11986, ptr noundef %11989, i32 noundef %11991) #11
  br label %12010

11993:                                            ; preds = %11971, %11964
  %11994 = load i32, ptr %248, align 4, !tbaa !5
  %11995 = call ptr @__errno_location() #12
  store i32 %11994, ptr %11995, align 4, !tbaa !5
  %11996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11997 = load i32, ptr @test_count, align 4, !tbaa !5
  %11998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %11999 = load i32, ptr %11998, align 4, !tbaa !5
  %12000 = call ptr @s2n_strerror(i32 noundef %11999, ptr noundef @.str.4)
  %12001 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12002 = load i32, ptr %12001, align 4, !tbaa !5
  %12003 = call ptr @s2n_strerror_debug(i32 noundef %12002, ptr noundef @.str.4)
  %12004 = call ptr @__errno_location() #12
  %12005 = load i32, ptr %12004, align 4, !tbaa !5
  %12006 = call ptr @strerror(i32 noundef %12005) #11
  %12007 = call ptr @__errno_location() #12
  %12008 = load i32, ptr %12007, align 4, !tbaa !5
  %12009 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11996, ptr noundef @.str.5, i32 noundef %11997, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 410, ptr noundef %12000, ptr noundef %12003, ptr noundef %12006, i32 noundef %12008) #11
  br label %12010

12010:                                            ; preds = %11993, %11976
  call void @llvm.lifetime.end.p0(i64 4, ptr %248) #11
  br label %12011

12011:                                            ; preds = %12010
  br label %12012

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

12013:                                            ; No predecessors!
  br label %12014

12014:                                            ; preds = %12013
  br label %12015

12015:                                            ; preds = %12014, %11955
  br label %12016

12016:                                            ; preds = %12015
  br label %12017

12017:                                            ; preds = %12016
  br label %12018

12018:                                            ; preds = %12017
  br label %12019

12019:                                            ; preds = %12018
  br label %12020

12020:                                            ; preds = %12019
  %12021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12021, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12022 = call ptr @__errno_location() #12
  store i32 0, ptr %12022, align 4, !tbaa !5
  br label %12023

12023:                                            ; preds = %12020
  br label %12024

12024:                                            ; preds = %12023
  br label %12025

12025:                                            ; preds = %12024
  br label %12026

12026:                                            ; preds = %12025
  br label %12027

12027:                                            ; preds = %12026
  %12028 = load i32, ptr @test_count, align 4, !tbaa !5
  %12029 = add nsw i32 %12028, 1
  store i32 %12029, ptr @test_count, align 4, !tbaa !5
  %12030 = load i32, ptr %244, align 4, !tbaa !5
  %12031 = icmp eq i32 %12030, 1
  br i1 %12031, label %12085, label %12032

12032:                                            ; preds = %12027
  br label %12033

12033:                                            ; preds = %12032
  br label %12034

12034:                                            ; preds = %12033
  call void @llvm.lifetime.start.p0(i64 4, ptr %249) #11
  %12035 = call ptr @__errno_location() #12
  %12036 = load i32, ptr %12035, align 4, !tbaa !5
  store i32 %12036, ptr %249, align 4, !tbaa !5
  %12037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12038 = call i32 @s2n_print_stacktrace(ptr noundef %12037)
  %12039 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12040 = trunc i8 %12039 to i1
  br i1 %12040, label %12041, label %12063

12041:                                            ; preds = %12034
  %12042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12043 = call i32 @fileno(ptr noundef %12042) #11
  %12044 = call i32 @isatty(i32 noundef %12043) #11
  %12045 = icmp ne i32 %12044, 0
  br i1 %12045, label %12046, label %12063

12046:                                            ; preds = %12041
  %12047 = load i32, ptr %249, align 4, !tbaa !5
  %12048 = call ptr @__errno_location() #12
  store i32 %12047, ptr %12048, align 4, !tbaa !5
  %12049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12050 = load i32, ptr @test_count, align 4, !tbaa !5
  %12051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12052 = load i32, ptr %12051, align 4, !tbaa !5
  %12053 = call ptr @s2n_strerror(i32 noundef %12052, ptr noundef @.str.4)
  %12054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12055 = load i32, ptr %12054, align 4, !tbaa !5
  %12056 = call ptr @s2n_strerror_debug(i32 noundef %12055, ptr noundef @.str.4)
  %12057 = call ptr @__errno_location() #12
  %12058 = load i32, ptr %12057, align 4, !tbaa !5
  %12059 = call ptr @strerror(i32 noundef %12058) #11
  %12060 = call ptr @__errno_location() #12
  %12061 = load i32, ptr %12060, align 4, !tbaa !5
  %12062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12049, ptr noundef @.str.2, i32 noundef %12050, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 411, ptr noundef %12053, ptr noundef %12056, ptr noundef %12059, i32 noundef %12061) #11
  br label %12080

12063:                                            ; preds = %12041, %12034
  %12064 = load i32, ptr %249, align 4, !tbaa !5
  %12065 = call ptr @__errno_location() #12
  store i32 %12064, ptr %12065, align 4, !tbaa !5
  %12066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12067 = load i32, ptr @test_count, align 4, !tbaa !5
  %12068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12069 = load i32, ptr %12068, align 4, !tbaa !5
  %12070 = call ptr @s2n_strerror(i32 noundef %12069, ptr noundef @.str.4)
  %12071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12072 = load i32, ptr %12071, align 4, !tbaa !5
  %12073 = call ptr @s2n_strerror_debug(i32 noundef %12072, ptr noundef @.str.4)
  %12074 = call ptr @__errno_location() #12
  %12075 = load i32, ptr %12074, align 4, !tbaa !5
  %12076 = call ptr @strerror(i32 noundef %12075) #11
  %12077 = call ptr @__errno_location() #12
  %12078 = load i32, ptr %12077, align 4, !tbaa !5
  %12079 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12066, ptr noundef @.str.5, i32 noundef %12067, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 411, ptr noundef %12070, ptr noundef %12073, ptr noundef %12076, i32 noundef %12078) #11
  br label %12080

12080:                                            ; preds = %12063, %12046
  call void @llvm.lifetime.end.p0(i64 4, ptr %249) #11
  br label %12081

12081:                                            ; preds = %12080
  br label %12082

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

12083:                                            ; No predecessors!
  br label %12084

12084:                                            ; preds = %12083
  br label %12085

12085:                                            ; preds = %12084, %12027
  br label %12086

12086:                                            ; preds = %12085
  br label %12087

12087:                                            ; preds = %12086
  br label %12088

12088:                                            ; preds = %12087
  %12089 = load i32, ptr @test_count, align 4, !tbaa !5
  %12090 = add nsw i32 %12089, 1
  store i32 %12090, ptr @test_count, align 4, !tbaa !5
  %12091 = load ptr, ptr %236, align 8, !tbaa !9
  %12092 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12091)
  %12093 = icmp eq i32 %12092, 1
  br i1 %12093, label %12147, label %12094

12094:                                            ; preds = %12088
  br label %12095

12095:                                            ; preds = %12094
  br label %12096

12096:                                            ; preds = %12095
  call void @llvm.lifetime.start.p0(i64 4, ptr %250) #11
  %12097 = call ptr @__errno_location() #12
  %12098 = load i32, ptr %12097, align 4, !tbaa !5
  store i32 %12098, ptr %250, align 4, !tbaa !5
  %12099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12100 = call i32 @s2n_print_stacktrace(ptr noundef %12099)
  %12101 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12102 = trunc i8 %12101 to i1
  br i1 %12102, label %12103, label %12125

12103:                                            ; preds = %12096
  %12104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12105 = call i32 @fileno(ptr noundef %12104) #11
  %12106 = call i32 @isatty(i32 noundef %12105) #11
  %12107 = icmp ne i32 %12106, 0
  br i1 %12107, label %12108, label %12125

12108:                                            ; preds = %12103
  %12109 = load i32, ptr %250, align 4, !tbaa !5
  %12110 = call ptr @__errno_location() #12
  store i32 %12109, ptr %12110, align 4, !tbaa !5
  %12111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12112 = load i32, ptr @test_count, align 4, !tbaa !5
  %12113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12114 = load i32, ptr %12113, align 4, !tbaa !5
  %12115 = call ptr @s2n_strerror(i32 noundef %12114, ptr noundef @.str.4)
  %12116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12117 = load i32, ptr %12116, align 4, !tbaa !5
  %12118 = call ptr @s2n_strerror_debug(i32 noundef %12117, ptr noundef @.str.4)
  %12119 = call ptr @__errno_location() #12
  %12120 = load i32, ptr %12119, align 4, !tbaa !5
  %12121 = call ptr @strerror(i32 noundef %12120) #11
  %12122 = call ptr @__errno_location() #12
  %12123 = load i32, ptr %12122, align 4, !tbaa !5
  %12124 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12111, ptr noundef @.str.2, i32 noundef %12112, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 411, ptr noundef %12115, ptr noundef %12118, ptr noundef %12121, i32 noundef %12123) #11
  br label %12142

12125:                                            ; preds = %12103, %12096
  %12126 = load i32, ptr %250, align 4, !tbaa !5
  %12127 = call ptr @__errno_location() #12
  store i32 %12126, ptr %12127, align 4, !tbaa !5
  %12128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12129 = load i32, ptr @test_count, align 4, !tbaa !5
  %12130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12131 = load i32, ptr %12130, align 4, !tbaa !5
  %12132 = call ptr @s2n_strerror(i32 noundef %12131, ptr noundef @.str.4)
  %12133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12134 = load i32, ptr %12133, align 4, !tbaa !5
  %12135 = call ptr @s2n_strerror_debug(i32 noundef %12134, ptr noundef @.str.4)
  %12136 = call ptr @__errno_location() #12
  %12137 = load i32, ptr %12136, align 4, !tbaa !5
  %12138 = call ptr @strerror(i32 noundef %12137) #11
  %12139 = call ptr @__errno_location() #12
  %12140 = load i32, ptr %12139, align 4, !tbaa !5
  %12141 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12128, ptr noundef @.str.5, i32 noundef %12129, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 411, ptr noundef %12132, ptr noundef %12135, ptr noundef %12138, i32 noundef %12140) #11
  br label %12142

12142:                                            ; preds = %12125, %12108
  call void @llvm.lifetime.end.p0(i64 4, ptr %250) #11
  br label %12143

12143:                                            ; preds = %12142
  br label %12144

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

12145:                                            ; No predecessors!
  br label %12146

12146:                                            ; preds = %12145
  br label %12147

12147:                                            ; preds = %12146, %12088
  br label %12148

12148:                                            ; preds = %12147
  br label %12149

12149:                                            ; preds = %12148
  br label %12150

12150:                                            ; preds = %12149
  %12151 = load i32, ptr @test_count, align 4, !tbaa !5
  %12152 = add nsw i32 %12151, 1
  store i32 %12152, ptr @test_count, align 4, !tbaa !5
  %12153 = load i64, ptr %245, align 8, !tbaa !42
  %12154 = icmp eq i64 %12153, 12
  br i1 %12154, label %12208, label %12155

12155:                                            ; preds = %12150
  br label %12156

12156:                                            ; preds = %12155
  br label %12157

12157:                                            ; preds = %12156
  call void @llvm.lifetime.start.p0(i64 4, ptr %251) #11
  %12158 = call ptr @__errno_location() #12
  %12159 = load i32, ptr %12158, align 4, !tbaa !5
  store i32 %12159, ptr %251, align 4, !tbaa !5
  %12160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12161 = call i32 @s2n_print_stacktrace(ptr noundef %12160)
  %12162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12163 = trunc i8 %12162 to i1
  br i1 %12163, label %12164, label %12186

12164:                                            ; preds = %12157
  %12165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12166 = call i32 @fileno(ptr noundef %12165) #11
  %12167 = call i32 @isatty(i32 noundef %12166) #11
  %12168 = icmp ne i32 %12167, 0
  br i1 %12168, label %12169, label %12186

12169:                                            ; preds = %12164
  %12170 = load i32, ptr %251, align 4, !tbaa !5
  %12171 = call ptr @__errno_location() #12
  store i32 %12170, ptr %12171, align 4, !tbaa !5
  %12172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12173 = load i32, ptr @test_count, align 4, !tbaa !5
  %12174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12175 = load i32, ptr %12174, align 4, !tbaa !5
  %12176 = call ptr @s2n_strerror(i32 noundef %12175, ptr noundef @.str.4)
  %12177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12178 = load i32, ptr %12177, align 4, !tbaa !5
  %12179 = call ptr @s2n_strerror_debug(i32 noundef %12178, ptr noundef @.str.4)
  %12180 = call ptr @__errno_location() #12
  %12181 = load i32, ptr %12180, align 4, !tbaa !5
  %12182 = call ptr @strerror(i32 noundef %12181) #11
  %12183 = call ptr @__errno_location() #12
  %12184 = load i32, ptr %12183, align 4, !tbaa !5
  %12185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12172, ptr noundef @.str.2, i32 noundef %12173, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 412, ptr noundef %12176, ptr noundef %12179, ptr noundef %12182, i32 noundef %12184) #11
  br label %12203

12186:                                            ; preds = %12164, %12157
  %12187 = load i32, ptr %251, align 4, !tbaa !5
  %12188 = call ptr @__errno_location() #12
  store i32 %12187, ptr %12188, align 4, !tbaa !5
  %12189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12190 = load i32, ptr @test_count, align 4, !tbaa !5
  %12191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12192 = load i32, ptr %12191, align 4, !tbaa !5
  %12193 = call ptr @s2n_strerror(i32 noundef %12192, ptr noundef @.str.4)
  %12194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12195 = load i32, ptr %12194, align 4, !tbaa !5
  %12196 = call ptr @s2n_strerror_debug(i32 noundef %12195, ptr noundef @.str.4)
  %12197 = call ptr @__errno_location() #12
  %12198 = load i32, ptr %12197, align 4, !tbaa !5
  %12199 = call ptr @strerror(i32 noundef %12198) #11
  %12200 = call ptr @__errno_location() #12
  %12201 = load i32, ptr %12200, align 4, !tbaa !5
  %12202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12189, ptr noundef @.str.5, i32 noundef %12190, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 412, ptr noundef %12193, ptr noundef %12196, ptr noundef %12199, i32 noundef %12201) #11
  br label %12203

12203:                                            ; preds = %12186, %12169
  call void @llvm.lifetime.end.p0(i64 4, ptr %251) #11
  br label %12204

12204:                                            ; preds = %12203
  br label %12205

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

12206:                                            ; No predecessors!
  br label %12207

12207:                                            ; preds = %12206
  br label %12208

12208:                                            ; preds = %12207, %12150
  br label %12209

12209:                                            ; preds = %12208
  br label %12210

12210:                                            ; preds = %12209
  br label %12211

12211:                                            ; preds = %12210
  br label %12212

12212:                                            ; preds = %12211
  br label %12213

12213:                                            ; preds = %12212
  %12214 = load i32, ptr @test_count, align 4, !tbaa !5
  %12215 = add nsw i32 %12214, 1
  store i32 %12215, ptr @test_count, align 4, !tbaa !5
  %12216 = load ptr, ptr %237, align 8, !tbaa !9
  %12217 = getelementptr inbounds [100 x i8], ptr %243, i64 0, i64 0
  %12218 = call i32 @s2n_recv_early_data(ptr noundef %12216, ptr noundef %12217, i64 noundef 100, ptr noundef %245, ptr noundef %244)
  %12219 = icmp eq i32 %12218, -1
  br i1 %12219, label %12273, label %12220

12220:                                            ; preds = %12213
  br label %12221

12221:                                            ; preds = %12220
  br label %12222

12222:                                            ; preds = %12221
  call void @llvm.lifetime.start.p0(i64 4, ptr %252) #11
  %12223 = call ptr @__errno_location() #12
  %12224 = load i32, ptr %12223, align 4, !tbaa !5
  store i32 %12224, ptr %252, align 4, !tbaa !5
  %12225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12226 = call i32 @s2n_print_stacktrace(ptr noundef %12225)
  %12227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12228 = trunc i8 %12227 to i1
  br i1 %12228, label %12229, label %12251

12229:                                            ; preds = %12222
  %12230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12231 = call i32 @fileno(ptr noundef %12230) #11
  %12232 = call i32 @isatty(i32 noundef %12231) #11
  %12233 = icmp ne i32 %12232, 0
  br i1 %12233, label %12234, label %12251

12234:                                            ; preds = %12229
  %12235 = load i32, ptr %252, align 4, !tbaa !5
  %12236 = call ptr @__errno_location() #12
  store i32 %12235, ptr %12236, align 4, !tbaa !5
  %12237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12238 = load i32, ptr @test_count, align 4, !tbaa !5
  %12239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12240 = load i32, ptr %12239, align 4, !tbaa !5
  %12241 = call ptr @s2n_strerror(i32 noundef %12240, ptr noundef @.str.4)
  %12242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12243 = load i32, ptr %12242, align 4, !tbaa !5
  %12244 = call ptr @s2n_strerror_debug(i32 noundef %12243, ptr noundef @.str.4)
  %12245 = call ptr @__errno_location() #12
  %12246 = load i32, ptr %12245, align 4, !tbaa !5
  %12247 = call ptr @strerror(i32 noundef %12246) #11
  %12248 = call ptr @__errno_location() #12
  %12249 = load i32, ptr %12248, align 4, !tbaa !5
  %12250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12237, ptr noundef @.str.2, i32 noundef %12238, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 414, ptr noundef %12241, ptr noundef %12244, ptr noundef %12247, i32 noundef %12249) #11
  br label %12268

12251:                                            ; preds = %12229, %12222
  %12252 = load i32, ptr %252, align 4, !tbaa !5
  %12253 = call ptr @__errno_location() #12
  store i32 %12252, ptr %12253, align 4, !tbaa !5
  %12254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12255 = load i32, ptr @test_count, align 4, !tbaa !5
  %12256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12257 = load i32, ptr %12256, align 4, !tbaa !5
  %12258 = call ptr @s2n_strerror(i32 noundef %12257, ptr noundef @.str.4)
  %12259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12260 = load i32, ptr %12259, align 4, !tbaa !5
  %12261 = call ptr @s2n_strerror_debug(i32 noundef %12260, ptr noundef @.str.4)
  %12262 = call ptr @__errno_location() #12
  %12263 = load i32, ptr %12262, align 4, !tbaa !5
  %12264 = call ptr @strerror(i32 noundef %12263) #11
  %12265 = call ptr @__errno_location() #12
  %12266 = load i32, ptr %12265, align 4, !tbaa !5
  %12267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12254, ptr noundef @.str.5, i32 noundef %12255, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 414, ptr noundef %12258, ptr noundef %12261, ptr noundef %12264, i32 noundef %12266) #11
  br label %12268

12268:                                            ; preds = %12251, %12234
  call void @llvm.lifetime.end.p0(i64 4, ptr %252) #11
  br label %12269

12269:                                            ; preds = %12268
  br label %12270

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

12271:                                            ; No predecessors!
  br label %12272

12272:                                            ; preds = %12271
  br label %12273

12273:                                            ; preds = %12272, %12213
  br label %12274

12274:                                            ; preds = %12273
  br label %12275

12275:                                            ; preds = %12274
  br label %12276

12276:                                            ; preds = %12275
  %12277 = load i32, ptr @test_count, align 4, !tbaa !5
  %12278 = add nsw i32 %12277, 1
  store i32 %12278, ptr @test_count, align 4, !tbaa !5
  %12279 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12280 = load i32, ptr %12279, align 4, !tbaa !5
  %12281 = icmp eq i32 %12280, 201326592
  br i1 %12281, label %12335, label %12282

12282:                                            ; preds = %12276
  br label %12283

12283:                                            ; preds = %12282
  br label %12284

12284:                                            ; preds = %12283
  call void @llvm.lifetime.start.p0(i64 4, ptr %253) #11
  %12285 = call ptr @__errno_location() #12
  %12286 = load i32, ptr %12285, align 4, !tbaa !5
  store i32 %12286, ptr %253, align 4, !tbaa !5
  %12287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12288 = call i32 @s2n_print_stacktrace(ptr noundef %12287)
  %12289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12290 = trunc i8 %12289 to i1
  br i1 %12290, label %12291, label %12313

12291:                                            ; preds = %12284
  %12292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12293 = call i32 @fileno(ptr noundef %12292) #11
  %12294 = call i32 @isatty(i32 noundef %12293) #11
  %12295 = icmp ne i32 %12294, 0
  br i1 %12295, label %12296, label %12313

12296:                                            ; preds = %12291
  %12297 = load i32, ptr %253, align 4, !tbaa !5
  %12298 = call ptr @__errno_location() #12
  store i32 %12297, ptr %12298, align 4, !tbaa !5
  %12299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12300 = load i32, ptr @test_count, align 4, !tbaa !5
  %12301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12302 = load i32, ptr %12301, align 4, !tbaa !5
  %12303 = call ptr @s2n_strerror(i32 noundef %12302, ptr noundef @.str.4)
  %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_debug(i32 noundef %12305, ptr noundef @.str.4)
  %12307 = call ptr @__errno_location() #12
  %12308 = load i32, ptr %12307, align 4, !tbaa !5
  %12309 = call ptr @strerror(i32 noundef %12308) #11
  %12310 = call ptr @__errno_location() #12
  %12311 = load i32, ptr %12310, align 4, !tbaa !5
  %12312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12299, ptr noundef @.str.2, i32 noundef %12300, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 414, ptr noundef %12303, ptr noundef %12306, ptr noundef %12309, i32 noundef %12311) #11
  br label %12330

12313:                                            ; preds = %12291, %12284
  %12314 = load i32, ptr %253, align 4, !tbaa !5
  %12315 = call ptr @__errno_location() #12
  store i32 %12314, ptr %12315, align 4, !tbaa !5
  %12316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12317 = load i32, ptr @test_count, align 4, !tbaa !5
  %12318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12319 = load i32, ptr %12318, align 4, !tbaa !5
  %12320 = call ptr @s2n_strerror(i32 noundef %12319, ptr noundef @.str.4)
  %12321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12322 = load i32, ptr %12321, align 4, !tbaa !5
  %12323 = call ptr @s2n_strerror_debug(i32 noundef %12322, ptr noundef @.str.4)
  %12324 = call ptr @__errno_location() #12
  %12325 = load i32, ptr %12324, align 4, !tbaa !5
  %12326 = call ptr @strerror(i32 noundef %12325) #11
  %12327 = call ptr @__errno_location() #12
  %12328 = load i32, ptr %12327, align 4, !tbaa !5
  %12329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12316, ptr noundef @.str.5, i32 noundef %12317, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 414, ptr noundef %12320, ptr noundef %12323, ptr noundef %12326, i32 noundef %12328) #11
  br label %12330

12330:                                            ; preds = %12313, %12296
  call void @llvm.lifetime.end.p0(i64 4, ptr %253) #11
  br label %12331

12331:                                            ; preds = %12330
  br label %12332

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

12333:                                            ; No predecessors!
  br label %12334

12334:                                            ; preds = %12333
  br label %12335

12335:                                            ; preds = %12334, %12276
  br label %12336

12336:                                            ; preds = %12335
  br label %12337

12337:                                            ; preds = %12336
  br label %12338

12338:                                            ; preds = %12337
  %12339 = load i32, ptr @test_count, align 4, !tbaa !5
  %12340 = add nsw i32 %12339, 1
  store i32 %12340, ptr @test_count, align 4, !tbaa !5
  %12341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12342 = load i32, ptr %12341, align 4, !tbaa !5
  %12343 = call ptr @s2n_strerror_debug(i32 noundef %12342, ptr noundef @.str.4)
  %12344 = icmp eq ptr %12343, null
  br i1 %12344, label %12345, label %12398

12345:                                            ; preds = %12338
  br label %12346

12346:                                            ; preds = %12345
  br label %12347

12347:                                            ; preds = %12346
  call void @llvm.lifetime.start.p0(i64 4, ptr %254) #11
  %12348 = call ptr @__errno_location() #12
  %12349 = load i32, ptr %12348, align 4, !tbaa !5
  store i32 %12349, ptr %254, align 4, !tbaa !5
  %12350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12351 = call i32 @s2n_print_stacktrace(ptr noundef %12350)
  %12352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12353 = trunc i8 %12352 to i1
  br i1 %12353, label %12354, label %12376

12354:                                            ; preds = %12347
  %12355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12356 = call i32 @fileno(ptr noundef %12355) #11
  %12357 = call i32 @isatty(i32 noundef %12356) #11
  %12358 = icmp ne i32 %12357, 0
  br i1 %12358, label %12359, label %12376

12359:                                            ; preds = %12354
  %12360 = load i32, ptr %254, align 4, !tbaa !5
  %12361 = call ptr @__errno_location() #12
  store i32 %12360, ptr %12361, align 4, !tbaa !5
  %12362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12363 = load i32, ptr @test_count, align 4, !tbaa !5
  %12364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12365 = load i32, ptr %12364, align 4, !tbaa !5
  %12366 = call ptr @s2n_strerror(i32 noundef %12365, ptr noundef @.str.4)
  %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_debug(i32 noundef %12368, ptr noundef @.str.4)
  %12370 = call ptr @__errno_location() #12
  %12371 = load i32, ptr %12370, align 4, !tbaa !5
  %12372 = call ptr @strerror(i32 noundef %12371) #11
  %12373 = call ptr @__errno_location() #12
  %12374 = load i32, ptr %12373, align 4, !tbaa !5
  %12375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12362, ptr noundef @.str.2, i32 noundef %12363, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 414, ptr noundef %12366, ptr noundef %12369, ptr noundef %12372, i32 noundef %12374) #11
  br label %12393

12376:                                            ; preds = %12354, %12347
  %12377 = load i32, ptr %254, align 4, !tbaa !5
  %12378 = call ptr @__errno_location() #12
  store i32 %12377, ptr %12378, align 4, !tbaa !5
  %12379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12380 = load i32, ptr @test_count, align 4, !tbaa !5
  %12381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12382 = load i32, ptr %12381, align 4, !tbaa !5
  %12383 = call ptr @s2n_strerror(i32 noundef %12382, ptr noundef @.str.4)
  %12384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12385 = load i32, ptr %12384, align 4, !tbaa !5
  %12386 = call ptr @s2n_strerror_debug(i32 noundef %12385, ptr noundef @.str.4)
  %12387 = call ptr @__errno_location() #12
  %12388 = load i32, ptr %12387, align 4, !tbaa !5
  %12389 = call ptr @strerror(i32 noundef %12388) #11
  %12390 = call ptr @__errno_location() #12
  %12391 = load i32, ptr %12390, align 4, !tbaa !5
  %12392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12379, ptr noundef @.str.5, i32 noundef %12380, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 414, ptr noundef %12383, ptr noundef %12386, ptr noundef %12389, i32 noundef %12391) #11
  br label %12393

12393:                                            ; preds = %12376, %12359
  call void @llvm.lifetime.end.p0(i64 4, ptr %254) #11
  br label %12394

12394:                                            ; preds = %12393
  br label %12395

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

12396:                                            ; No predecessors!
  br label %12397

12397:                                            ; preds = %12396
  br label %12398

12398:                                            ; preds = %12397, %12338
  br label %12399

12399:                                            ; preds = %12398
  br label %12400

12400:                                            ; preds = %12399
  br label %12401

12401:                                            ; preds = %12400
  br label %12402

12402:                                            ; preds = %12401
  br label %12403

12403:                                            ; preds = %12402
  %12404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %12404, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %12405 = call ptr @__errno_location() #12
  store i32 0, ptr %12405, align 4, !tbaa !5
  br label %12406

12406:                                            ; preds = %12403
  br label %12407

12407:                                            ; preds = %12406
  br label %12408

12408:                                            ; preds = %12407
  br label %12409

12409:                                            ; preds = %12408
  br label %12410

12410:                                            ; preds = %12409
  %12411 = load i32, ptr @test_count, align 4, !tbaa !5
  %12412 = add nsw i32 %12411, 1
  store i32 %12412, ptr @test_count, align 4, !tbaa !5
  %12413 = load i32, ptr %244, align 4, !tbaa !5
  %12414 = icmp eq i32 %12413, 1
  br i1 %12414, label %12468, label %12415

12415:                                            ; preds = %12410
  br label %12416

12416:                                            ; preds = %12415
  br label %12417

12417:                                            ; preds = %12416
  call void @llvm.lifetime.start.p0(i64 4, ptr %255) #11
  %12418 = call ptr @__errno_location() #12
  %12419 = load i32, ptr %12418, align 4, !tbaa !5
  store i32 %12419, ptr %255, align 4, !tbaa !5
  %12420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12421 = call i32 @s2n_print_stacktrace(ptr noundef %12420)
  %12422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12423 = trunc i8 %12422 to i1
  br i1 %12423, label %12424, label %12446

12424:                                            ; preds = %12417
  %12425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12426 = call i32 @fileno(ptr noundef %12425) #11
  %12427 = call i32 @isatty(i32 noundef %12426) #11
  %12428 = icmp ne i32 %12427, 0
  br i1 %12428, label %12429, label %12446

12429:                                            ; preds = %12424
  %12430 = load i32, ptr %255, align 4, !tbaa !5
  %12431 = call ptr @__errno_location() #12
  store i32 %12430, ptr %12431, align 4, !tbaa !5
  %12432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12433 = load i32, ptr @test_count, align 4, !tbaa !5
  %12434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12435 = load i32, ptr %12434, align 4, !tbaa !5
  %12436 = call ptr @s2n_strerror(i32 noundef %12435, ptr noundef @.str.4)
  %12437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12438 = load i32, ptr %12437, align 4, !tbaa !5
  %12439 = call ptr @s2n_strerror_debug(i32 noundef %12438, ptr noundef @.str.4)
  %12440 = call ptr @__errno_location() #12
  %12441 = load i32, ptr %12440, align 4, !tbaa !5
  %12442 = call ptr @strerror(i32 noundef %12441) #11
  %12443 = call ptr @__errno_location() #12
  %12444 = load i32, ptr %12443, align 4, !tbaa !5
  %12445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12432, ptr noundef @.str.2, i32 noundef %12433, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 415, ptr noundef %12436, ptr noundef %12439, ptr noundef %12442, i32 noundef %12444) #11
  br label %12463

12446:                                            ; preds = %12424, %12417
  %12447 = load i32, ptr %255, align 4, !tbaa !5
  %12448 = call ptr @__errno_location() #12
  store i32 %12447, ptr %12448, align 4, !tbaa !5
  %12449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12450 = load i32, ptr @test_count, align 4, !tbaa !5
  %12451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12452 = load i32, ptr %12451, align 4, !tbaa !5
  %12453 = call ptr @s2n_strerror(i32 noundef %12452, ptr noundef @.str.4)
  %12454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12455 = load i32, ptr %12454, align 4, !tbaa !5
  %12456 = call ptr @s2n_strerror_debug(i32 noundef %12455, ptr noundef @.str.4)
  %12457 = call ptr @__errno_location() #12
  %12458 = load i32, ptr %12457, align 4, !tbaa !5
  %12459 = call ptr @strerror(i32 noundef %12458) #11
  %12460 = call ptr @__errno_location() #12
  %12461 = load i32, ptr %12460, align 4, !tbaa !5
  %12462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12449, ptr noundef @.str.5, i32 noundef %12450, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 415, ptr noundef %12453, ptr noundef %12456, ptr noundef %12459, i32 noundef %12461) #11
  br label %12463

12463:                                            ; preds = %12446, %12429
  call void @llvm.lifetime.end.p0(i64 4, ptr %255) #11
  br label %12464

12464:                                            ; preds = %12463
  br label %12465

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

12466:                                            ; No predecessors!
  br label %12467

12467:                                            ; preds = %12466
  br label %12468

12468:                                            ; preds = %12467, %12410
  br label %12469

12469:                                            ; preds = %12468
  br label %12470

12470:                                            ; preds = %12469
  br label %12471

12471:                                            ; preds = %12470
  %12472 = load i32, ptr @test_count, align 4, !tbaa !5
  %12473 = add nsw i32 %12472, 1
  store i32 %12473, ptr @test_count, align 4, !tbaa !5
  %12474 = load ptr, ptr %237, align 8, !tbaa !9
  %12475 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12474)
  %12476 = icmp eq i32 %12475, 19
  br i1 %12476, label %12530, label %12477

12477:                                            ; preds = %12471
  br label %12478

12478:                                            ; preds = %12477
  br label %12479

12479:                                            ; preds = %12478
  call void @llvm.lifetime.start.p0(i64 4, ptr %256) #11
  %12480 = call ptr @__errno_location() #12
  %12481 = load i32, ptr %12480, align 4, !tbaa !5
  store i32 %12481, ptr %256, align 4, !tbaa !5
  %12482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12483 = call i32 @s2n_print_stacktrace(ptr noundef %12482)
  %12484 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12485 = trunc i8 %12484 to i1
  br i1 %12485, label %12486, label %12508

12486:                                            ; preds = %12479
  %12487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12488 = call i32 @fileno(ptr noundef %12487) #11
  %12489 = call i32 @isatty(i32 noundef %12488) #11
  %12490 = icmp ne i32 %12489, 0
  br i1 %12490, label %12491, label %12508

12491:                                            ; preds = %12486
  %12492 = load i32, ptr %256, align 4, !tbaa !5
  %12493 = call ptr @__errno_location() #12
  store i32 %12492, ptr %12493, align 4, !tbaa !5
  %12494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12495 = load i32, ptr @test_count, align 4, !tbaa !5
  %12496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12497 = load i32, ptr %12496, align 4, !tbaa !5
  %12498 = call ptr @s2n_strerror(i32 noundef %12497, ptr noundef @.str.4)
  %12499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12500 = load i32, ptr %12499, align 4, !tbaa !5
  %12501 = call ptr @s2n_strerror_debug(i32 noundef %12500, ptr noundef @.str.4)
  %12502 = call ptr @__errno_location() #12
  %12503 = load i32, ptr %12502, align 4, !tbaa !5
  %12504 = call ptr @strerror(i32 noundef %12503) #11
  %12505 = call ptr @__errno_location() #12
  %12506 = load i32, ptr %12505, align 4, !tbaa !5
  %12507 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12494, ptr noundef @.str.2, i32 noundef %12495, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 415, ptr noundef %12498, ptr noundef %12501, ptr noundef %12504, i32 noundef %12506) #11
  br label %12525

12508:                                            ; preds = %12486, %12479
  %12509 = load i32, ptr %256, align 4, !tbaa !5
  %12510 = call ptr @__errno_location() #12
  store i32 %12509, ptr %12510, align 4, !tbaa !5
  %12511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12512 = load i32, ptr @test_count, align 4, !tbaa !5
  %12513 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12514 = load i32, ptr %12513, align 4, !tbaa !5
  %12515 = call ptr @s2n_strerror(i32 noundef %12514, ptr noundef @.str.4)
  %12516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12517 = load i32, ptr %12516, align 4, !tbaa !5
  %12518 = call ptr @s2n_strerror_debug(i32 noundef %12517, ptr noundef @.str.4)
  %12519 = call ptr @__errno_location() #12
  %12520 = load i32, ptr %12519, align 4, !tbaa !5
  %12521 = call ptr @strerror(i32 noundef %12520) #11
  %12522 = call ptr @__errno_location() #12
  %12523 = load i32, ptr %12522, align 4, !tbaa !5
  %12524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12511, ptr noundef @.str.5, i32 noundef %12512, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 415, ptr noundef %12515, ptr noundef %12518, ptr noundef %12521, i32 noundef %12523) #11
  br label %12525

12525:                                            ; preds = %12508, %12491
  call void @llvm.lifetime.end.p0(i64 4, ptr %256) #11
  br label %12526

12526:                                            ; preds = %12525
  br label %12527

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

12528:                                            ; No predecessors!
  br label %12529

12529:                                            ; preds = %12528
  br label %12530

12530:                                            ; preds = %12529, %12471
  br label %12531

12531:                                            ; preds = %12530
  br label %12532

12532:                                            ; preds = %12531
  br label %12533

12533:                                            ; preds = %12532
  %12534 = load i32, ptr @test_count, align 4, !tbaa !5
  %12535 = add nsw i32 %12534, 1
  store i32 %12535, ptr @test_count, align 4, !tbaa !5
  %12536 = load i64, ptr %245, align 8, !tbaa !42
  %12537 = icmp eq i64 %12536, 12
  br i1 %12537, label %12591, label %12538

12538:                                            ; preds = %12533
  br label %12539

12539:                                            ; preds = %12538
  br label %12540

12540:                                            ; preds = %12539
  call void @llvm.lifetime.start.p0(i64 4, ptr %257) #11
  %12541 = call ptr @__errno_location() #12
  %12542 = load i32, ptr %12541, align 4, !tbaa !5
  store i32 %12542, ptr %257, align 4, !tbaa !5
  %12543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12544 = call i32 @s2n_print_stacktrace(ptr noundef %12543)
  %12545 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12546 = trunc i8 %12545 to i1
  br i1 %12546, label %12547, label %12569

12547:                                            ; preds = %12540
  %12548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12549 = call i32 @fileno(ptr noundef %12548) #11
  %12550 = call i32 @isatty(i32 noundef %12549) #11
  %12551 = icmp ne i32 %12550, 0
  br i1 %12551, label %12552, label %12569

12552:                                            ; preds = %12547
  %12553 = load i32, ptr %257, align 4, !tbaa !5
  %12554 = call ptr @__errno_location() #12
  store i32 %12553, ptr %12554, align 4, !tbaa !5
  %12555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12556 = load i32, ptr @test_count, align 4, !tbaa !5
  %12557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12558 = load i32, ptr %12557, align 4, !tbaa !5
  %12559 = call ptr @s2n_strerror(i32 noundef %12558, ptr noundef @.str.4)
  %12560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12561 = load i32, ptr %12560, align 4, !tbaa !5
  %12562 = call ptr @s2n_strerror_debug(i32 noundef %12561, ptr noundef @.str.4)
  %12563 = call ptr @__errno_location() #12
  %12564 = load i32, ptr %12563, align 4, !tbaa !5
  %12565 = call ptr @strerror(i32 noundef %12564) #11
  %12566 = call ptr @__errno_location() #12
  %12567 = load i32, ptr %12566, align 4, !tbaa !5
  %12568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12555, ptr noundef @.str.2, i32 noundef %12556, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 416, ptr noundef %12559, ptr noundef %12562, ptr noundef %12565, i32 noundef %12567) #11
  br label %12586

12569:                                            ; preds = %12547, %12540
  %12570 = load i32, ptr %257, align 4, !tbaa !5
  %12571 = call ptr @__errno_location() #12
  store i32 %12570, ptr %12571, align 4, !tbaa !5
  %12572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12573 = load i32, ptr @test_count, align 4, !tbaa !5
  %12574 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12575 = load i32, ptr %12574, align 4, !tbaa !5
  %12576 = call ptr @s2n_strerror(i32 noundef %12575, ptr noundef @.str.4)
  %12577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12578 = load i32, ptr %12577, align 4, !tbaa !5
  %12579 = call ptr @s2n_strerror_debug(i32 noundef %12578, ptr noundef @.str.4)
  %12580 = call ptr @__errno_location() #12
  %12581 = load i32, ptr %12580, align 4, !tbaa !5
  %12582 = call ptr @strerror(i32 noundef %12581) #11
  %12583 = call ptr @__errno_location() #12
  %12584 = load i32, ptr %12583, align 4, !tbaa !5
  %12585 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12572, ptr noundef @.str.5, i32 noundef %12573, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 416, ptr noundef %12576, ptr noundef %12579, ptr noundef %12582, i32 noundef %12584) #11
  br label %12586

12586:                                            ; preds = %12569, %12552
  call void @llvm.lifetime.end.p0(i64 4, ptr %257) #11
  br label %12587

12587:                                            ; preds = %12586
  br label %12588

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

12589:                                            ; No predecessors!
  br label %12590

12590:                                            ; preds = %12589
  br label %12591

12591:                                            ; preds = %12590, %12533
  br label %12592

12592:                                            ; preds = %12591
  br label %12593

12593:                                            ; preds = %12592
  br label %12594

12594:                                            ; preds = %12593
  br label %12595

12595:                                            ; preds = %12594
  %12596 = load i32, ptr @test_count, align 4, !tbaa !5
  %12597 = add nsw i32 %12596, 1
  store i32 %12597, ptr @test_count, align 4, !tbaa !5
  %12598 = getelementptr inbounds [100 x i8], ptr %243, i64 0, i64 0
  %12599 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %12600 = call i32 @memcmp(ptr noundef %12598, ptr noundef %12599, i64 noundef 12) #14
  %12601 = icmp eq i32 %12600, 0
  br i1 %12601, label %12655, label %12602

12602:                                            ; preds = %12595
  br label %12603

12603:                                            ; preds = %12602
  br label %12604

12604:                                            ; preds = %12603
  call void @llvm.lifetime.start.p0(i64 4, ptr %258) #11
  %12605 = call ptr @__errno_location() #12
  %12606 = load i32, ptr %12605, align 4, !tbaa !5
  store i32 %12606, ptr %258, align 4, !tbaa !5
  %12607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12608 = call i32 @s2n_print_stacktrace(ptr noundef %12607)
  %12609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12610 = trunc i8 %12609 to i1
  br i1 %12610, label %12611, label %12633

12611:                                            ; preds = %12604
  %12612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12613 = call i32 @fileno(ptr noundef %12612) #11
  %12614 = call i32 @isatty(i32 noundef %12613) #11
  %12615 = icmp ne i32 %12614, 0
  br i1 %12615, label %12616, label %12633

12616:                                            ; preds = %12611
  %12617 = load i32, ptr %258, align 4, !tbaa !5
  %12618 = call ptr @__errno_location() #12
  store i32 %12617, ptr %12618, align 4, !tbaa !5
  %12619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12620 = load i32, ptr @test_count, align 4, !tbaa !5
  %12621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12622 = load i32, ptr %12621, align 4, !tbaa !5
  %12623 = call ptr @s2n_strerror(i32 noundef %12622, ptr noundef @.str.4)
  %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_debug(i32 noundef %12625, ptr noundef @.str.4)
  %12627 = call ptr @__errno_location() #12
  %12628 = load i32, ptr %12627, align 4, !tbaa !5
  %12629 = call ptr @strerror(i32 noundef %12628) #11
  %12630 = call ptr @__errno_location() #12
  %12631 = load i32, ptr %12630, align 4, !tbaa !5
  %12632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12619, ptr noundef @.str.2, i32 noundef %12620, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 417, ptr noundef %12623, ptr noundef %12626, ptr noundef %12629, i32 noundef %12631) #11
  br label %12650

12633:                                            ; preds = %12611, %12604
  %12634 = load i32, ptr %258, align 4, !tbaa !5
  %12635 = call ptr @__errno_location() #12
  store i32 %12634, ptr %12635, align 4, !tbaa !5
  %12636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12637 = load i32, ptr @test_count, align 4, !tbaa !5
  %12638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12639 = load i32, ptr %12638, align 4, !tbaa !5
  %12640 = call ptr @s2n_strerror(i32 noundef %12639, ptr noundef @.str.4)
  %12641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12642 = load i32, ptr %12641, align 4, !tbaa !5
  %12643 = call ptr @s2n_strerror_debug(i32 noundef %12642, ptr noundef @.str.4)
  %12644 = call ptr @__errno_location() #12
  %12645 = load i32, ptr %12644, align 4, !tbaa !5
  %12646 = call ptr @strerror(i32 noundef %12645) #11
  %12647 = call ptr @__errno_location() #12
  %12648 = load i32, ptr %12647, align 4, !tbaa !5
  %12649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12636, ptr noundef @.str.5, i32 noundef %12637, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 417, ptr noundef %12640, ptr noundef %12643, ptr noundef %12646, i32 noundef %12648) #11
  br label %12650

12650:                                            ; preds = %12633, %12616
  call void @llvm.lifetime.end.p0(i64 4, ptr %258) #11
  br label %12651

12651:                                            ; preds = %12650
  br label %12652

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

12653:                                            ; No predecessors!
  br label %12654

12654:                                            ; preds = %12653
  br label %12655

12655:                                            ; preds = %12654, %12595
  br label %12656

12656:                                            ; preds = %12655
  br label %12657

12657:                                            ; preds = %12656
  br label %12658

12658:                                            ; preds = %12657
  br label %12659

12659:                                            ; preds = %12658
  call void @llvm.lifetime.start.p0(i64 8, ptr %259) #11
  store i64 0, ptr %259, align 8, !tbaa !42
  br label %12660

12660:                                            ; preds = %13361, %12659
  %12661 = load i64, ptr %259, align 8, !tbaa !42
  %12662 = icmp ult i64 %12661, 10
  br i1 %12662, label %12664, label %12663

12663:                                            ; preds = %12660
  call void @llvm.lifetime.end.p0(i64 8, ptr %259) #11
  br label %13364

12664:                                            ; preds = %12660
  br label %12665

12665:                                            ; preds = %12664
  %12666 = load i32, ptr @test_count, align 4, !tbaa !5
  %12667 = add nsw i32 %12666, 1
  store i32 %12667, ptr @test_count, align 4, !tbaa !5
  %12668 = load ptr, ptr %236, align 8, !tbaa !9
  %12669 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %12670 = call i32 @s2n_send_early_data(ptr noundef %12668, ptr noundef %12669, i64 noundef 12, ptr noundef %245, ptr noundef %244)
  %12671 = icmp eq i32 %12670, -1
  br i1 %12671, label %12672, label %12725

12672:                                            ; preds = %12665
  br label %12673

12673:                                            ; preds = %12672
  br label %12674

12674:                                            ; preds = %12673
  call void @llvm.lifetime.start.p0(i64 4, ptr %260) #11
  %12675 = call ptr @__errno_location() #12
  %12676 = load i32, ptr %12675, align 4, !tbaa !5
  store i32 %12676, ptr %260, align 4, !tbaa !5
  %12677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12678 = call i32 @s2n_print_stacktrace(ptr noundef %12677)
  %12679 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12680 = trunc i8 %12679 to i1
  br i1 %12680, label %12681, label %12703

12681:                                            ; preds = %12674
  %12682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12683 = call i32 @fileno(ptr noundef %12682) #11
  %12684 = call i32 @isatty(i32 noundef %12683) #11
  %12685 = icmp ne i32 %12684, 0
  br i1 %12685, label %12686, label %12703

12686:                                            ; preds = %12681
  %12687 = load i32, ptr %260, align 4, !tbaa !5
  %12688 = call ptr @__errno_location() #12
  store i32 %12687, ptr %12688, align 4, !tbaa !5
  %12689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12690 = load i32, ptr @test_count, align 4, !tbaa !5
  %12691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12692 = load i32, ptr %12691, align 4, !tbaa !5
  %12693 = call ptr @s2n_strerror(i32 noundef %12692, ptr noundef @.str.4)
  %12694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12695 = load i32, ptr %12694, align 4, !tbaa !5
  %12696 = call ptr @s2n_strerror_debug(i32 noundef %12695, ptr noundef @.str.4)
  %12697 = call ptr @__errno_location() #12
  %12698 = load i32, ptr %12697, align 4, !tbaa !5
  %12699 = call ptr @strerror(i32 noundef %12698) #11
  %12700 = call ptr @__errno_location() #12
  %12701 = load i32, ptr %12700, align 4, !tbaa !5
  %12702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12689, ptr noundef @.str.2, i32 noundef %12690, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 421, ptr noundef %12693, ptr noundef %12696, ptr noundef %12699, i32 noundef %12701) #11
  br label %12720

12703:                                            ; preds = %12681, %12674
  %12704 = load i32, ptr %260, align 4, !tbaa !5
  %12705 = call ptr @__errno_location() #12
  store i32 %12704, ptr %12705, align 4, !tbaa !5
  %12706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12707 = load i32, ptr @test_count, align 4, !tbaa !5
  %12708 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12709 = load i32, ptr %12708, align 4, !tbaa !5
  %12710 = call ptr @s2n_strerror(i32 noundef %12709, ptr noundef @.str.4)
  %12711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12712 = load i32, ptr %12711, align 4, !tbaa !5
  %12713 = call ptr @s2n_strerror_debug(i32 noundef %12712, ptr noundef @.str.4)
  %12714 = call ptr @__errno_location() #12
  %12715 = load i32, ptr %12714, align 4, !tbaa !5
  %12716 = call ptr @strerror(i32 noundef %12715) #11
  %12717 = call ptr @__errno_location() #12
  %12718 = load i32, ptr %12717, align 4, !tbaa !5
  %12719 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12706, ptr noundef @.str.5, i32 noundef %12707, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 421, ptr noundef %12710, ptr noundef %12713, ptr noundef %12716, i32 noundef %12718) #11
  br label %12720

12720:                                            ; preds = %12703, %12686
  call void @llvm.lifetime.end.p0(i64 4, ptr %260) #11
  br label %12721

12721:                                            ; preds = %12720
  br label %12722

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

12723:                                            ; No predecessors!
  br label %12724

12724:                                            ; preds = %12723
  br label %12725

12725:                                            ; preds = %12724, %12665
  br label %12726

12726:                                            ; preds = %12725
  br label %12727

12727:                                            ; preds = %12726
  br label %12728

12728:                                            ; preds = %12727
  %12729 = load i32, ptr @test_count, align 4, !tbaa !5
  %12730 = add nsw i32 %12729, 1
  store i32 %12730, ptr @test_count, align 4, !tbaa !5
  %12731 = load i32, ptr %244, align 4, !tbaa !5
  %12732 = icmp eq i32 %12731, 0
  br i1 %12732, label %12786, label %12733

12733:                                            ; preds = %12728
  br label %12734

12734:                                            ; preds = %12733
  br label %12735

12735:                                            ; preds = %12734
  call void @llvm.lifetime.start.p0(i64 4, ptr %261) #11
  %12736 = call ptr @__errno_location() #12
  %12737 = load i32, ptr %12736, align 4, !tbaa !5
  store i32 %12737, ptr %261, align 4, !tbaa !5
  %12738 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12739 = call i32 @s2n_print_stacktrace(ptr noundef %12738)
  %12740 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12741 = trunc i8 %12740 to i1
  br i1 %12741, label %12742, label %12764

12742:                                            ; preds = %12735
  %12743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12744 = call i32 @fileno(ptr noundef %12743) #11
  %12745 = call i32 @isatty(i32 noundef %12744) #11
  %12746 = icmp ne i32 %12745, 0
  br i1 %12746, label %12747, label %12764

12747:                                            ; preds = %12742
  %12748 = load i32, ptr %261, align 4, !tbaa !5
  %12749 = call ptr @__errno_location() #12
  store i32 %12748, ptr %12749, align 4, !tbaa !5
  %12750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12751 = load i32, ptr @test_count, align 4, !tbaa !5
  %12752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12753 = load i32, ptr %12752, align 4, !tbaa !5
  %12754 = call ptr @s2n_strerror(i32 noundef %12753, ptr noundef @.str.4)
  %12755 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12756 = load i32, ptr %12755, align 4, !tbaa !5
  %12757 = call ptr @s2n_strerror_debug(i32 noundef %12756, ptr noundef @.str.4)
  %12758 = call ptr @__errno_location() #12
  %12759 = load i32, ptr %12758, align 4, !tbaa !5
  %12760 = call ptr @strerror(i32 noundef %12759) #11
  %12761 = call ptr @__errno_location() #12
  %12762 = load i32, ptr %12761, align 4, !tbaa !5
  %12763 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12750, ptr noundef @.str.2, i32 noundef %12751, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12754, ptr noundef %12757, ptr noundef %12760, i32 noundef %12762) #11
  br label %12781

12764:                                            ; preds = %12742, %12735
  %12765 = load i32, ptr %261, align 4, !tbaa !5
  %12766 = call ptr @__errno_location() #12
  store i32 %12765, ptr %12766, align 4, !tbaa !5
  %12767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12768 = load i32, ptr @test_count, align 4, !tbaa !5
  %12769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12770 = load i32, ptr %12769, align 4, !tbaa !5
  %12771 = call ptr @s2n_strerror(i32 noundef %12770, ptr noundef @.str.4)
  %12772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12773 = load i32, ptr %12772, align 4, !tbaa !5
  %12774 = call ptr @s2n_strerror_debug(i32 noundef %12773, ptr noundef @.str.4)
  %12775 = call ptr @__errno_location() #12
  %12776 = load i32, ptr %12775, align 4, !tbaa !5
  %12777 = call ptr @strerror(i32 noundef %12776) #11
  %12778 = call ptr @__errno_location() #12
  %12779 = load i32, ptr %12778, align 4, !tbaa !5
  %12780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12767, ptr noundef @.str.5, i32 noundef %12768, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12771, ptr noundef %12774, ptr noundef %12777, i32 noundef %12779) #11
  br label %12781

12781:                                            ; preds = %12764, %12747
  call void @llvm.lifetime.end.p0(i64 4, ptr %261) #11
  br label %12782

12782:                                            ; preds = %12781
  br label %12783

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

12784:                                            ; No predecessors!
  br label %12785

12785:                                            ; preds = %12784
  br label %12786

12786:                                            ; preds = %12785, %12728
  br label %12787

12787:                                            ; preds = %12786
  br label %12788

12788:                                            ; preds = %12787
  br label %12789

12789:                                            ; preds = %12788
  %12790 = load i32, ptr @test_count, align 4, !tbaa !5
  %12791 = add nsw i32 %12790, 1
  store i32 %12791, ptr @test_count, align 4, !tbaa !5
  %12792 = load ptr, ptr %236, align 8, !tbaa !9
  %12793 = call i32 @s2n_conn_get_current_message_type(ptr noundef %12792)
  %12794 = icmp eq i32 %12793, 19
  br i1 %12794, label %12848, label %12795

12795:                                            ; preds = %12789
  br label %12796

12796:                                            ; preds = %12795
  br label %12797

12797:                                            ; preds = %12796
  call void @llvm.lifetime.start.p0(i64 4, ptr %262) #11
  %12798 = call ptr @__errno_location() #12
  %12799 = load i32, ptr %12798, align 4, !tbaa !5
  store i32 %12799, ptr %262, align 4, !tbaa !5
  %12800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12801 = call i32 @s2n_print_stacktrace(ptr noundef %12800)
  %12802 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12803 = trunc i8 %12802 to i1
  br i1 %12803, label %12804, label %12826

12804:                                            ; preds = %12797
  %12805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12806 = call i32 @fileno(ptr noundef %12805) #11
  %12807 = call i32 @isatty(i32 noundef %12806) #11
  %12808 = icmp ne i32 %12807, 0
  br i1 %12808, label %12809, label %12826

12809:                                            ; preds = %12804
  %12810 = load i32, ptr %262, align 4, !tbaa !5
  %12811 = call ptr @__errno_location() #12
  store i32 %12810, ptr %12811, align 4, !tbaa !5
  %12812 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12813 = load i32, ptr @test_count, align 4, !tbaa !5
  %12814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12815 = load i32, ptr %12814, align 4, !tbaa !5
  %12816 = call ptr @s2n_strerror(i32 noundef %12815, ptr noundef @.str.4)
  %12817 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12818 = load i32, ptr %12817, align 4, !tbaa !5
  %12819 = call ptr @s2n_strerror_debug(i32 noundef %12818, ptr noundef @.str.4)
  %12820 = call ptr @__errno_location() #12
  %12821 = load i32, ptr %12820, align 4, !tbaa !5
  %12822 = call ptr @strerror(i32 noundef %12821) #11
  %12823 = call ptr @__errno_location() #12
  %12824 = load i32, ptr %12823, align 4, !tbaa !5
  %12825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12812, ptr noundef @.str.2, i32 noundef %12813, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12816, ptr noundef %12819, ptr noundef %12822, i32 noundef %12824) #11
  br label %12843

12826:                                            ; preds = %12804, %12797
  %12827 = load i32, ptr %262, align 4, !tbaa !5
  %12828 = call ptr @__errno_location() #12
  store i32 %12827, ptr %12828, align 4, !tbaa !5
  %12829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12830 = load i32, ptr @test_count, align 4, !tbaa !5
  %12831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12832 = load i32, ptr %12831, align 4, !tbaa !5
  %12833 = call ptr @s2n_strerror(i32 noundef %12832, ptr noundef @.str.4)
  %12834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12835 = load i32, ptr %12834, align 4, !tbaa !5
  %12836 = call ptr @s2n_strerror_debug(i32 noundef %12835, ptr noundef @.str.4)
  %12837 = call ptr @__errno_location() #12
  %12838 = load i32, ptr %12837, align 4, !tbaa !5
  %12839 = call ptr @strerror(i32 noundef %12838) #11
  %12840 = call ptr @__errno_location() #12
  %12841 = load i32, ptr %12840, align 4, !tbaa !5
  %12842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12829, ptr noundef @.str.5, i32 noundef %12830, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 422, ptr noundef %12833, ptr noundef %12836, ptr noundef %12839, i32 noundef %12841) #11
  br label %12843

12843:                                            ; preds = %12826, %12809
  call void @llvm.lifetime.end.p0(i64 4, ptr %262) #11
  br label %12844

12844:                                            ; preds = %12843
  br label %12845

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

12846:                                            ; No predecessors!
  br label %12847

12847:                                            ; preds = %12846
  br label %12848

12848:                                            ; preds = %12847, %12789
  br label %12849

12849:                                            ; preds = %12848
  br label %12850

12850:                                            ; preds = %12849
  br label %12851

12851:                                            ; preds = %12850
  %12852 = load i32, ptr @test_count, align 4, !tbaa !5
  %12853 = add nsw i32 %12852, 1
  store i32 %12853, ptr @test_count, align 4, !tbaa !5
  %12854 = load i64, ptr %245, align 8, !tbaa !42
  %12855 = icmp eq i64 %12854, 12
  br i1 %12855, label %12909, label %12856

12856:                                            ; preds = %12851
  br label %12857

12857:                                            ; preds = %12856
  br label %12858

12858:                                            ; preds = %12857
  call void @llvm.lifetime.start.p0(i64 4, ptr %263) #11
  %12859 = call ptr @__errno_location() #12
  %12860 = load i32, ptr %12859, align 4, !tbaa !5
  store i32 %12860, ptr %263, align 4, !tbaa !5
  %12861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12862 = call i32 @s2n_print_stacktrace(ptr noundef %12861)
  %12863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12864 = trunc i8 %12863 to i1
  br i1 %12864, label %12865, label %12887

12865:                                            ; preds = %12858
  %12866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12867 = call i32 @fileno(ptr noundef %12866) #11
  %12868 = call i32 @isatty(i32 noundef %12867) #11
  %12869 = icmp ne i32 %12868, 0
  br i1 %12869, label %12870, label %12887

12870:                                            ; preds = %12865
  %12871 = load i32, ptr %263, align 4, !tbaa !5
  %12872 = call ptr @__errno_location() #12
  store i32 %12871, ptr %12872, align 4, !tbaa !5
  %12873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12874 = load i32, ptr @test_count, align 4, !tbaa !5
  %12875 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12876 = load i32, ptr %12875, align 4, !tbaa !5
  %12877 = call ptr @s2n_strerror(i32 noundef %12876, ptr noundef @.str.4)
  %12878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12879 = load i32, ptr %12878, align 4, !tbaa !5
  %12880 = call ptr @s2n_strerror_debug(i32 noundef %12879, ptr noundef @.str.4)
  %12881 = call ptr @__errno_location() #12
  %12882 = load i32, ptr %12881, align 4, !tbaa !5
  %12883 = call ptr @strerror(i32 noundef %12882) #11
  %12884 = call ptr @__errno_location() #12
  %12885 = load i32, ptr %12884, align 4, !tbaa !5
  %12886 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12873, ptr noundef @.str.2, i32 noundef %12874, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 423, ptr noundef %12877, ptr noundef %12880, ptr noundef %12883, i32 noundef %12885) #11
  br label %12904

12887:                                            ; preds = %12865, %12858
  %12888 = load i32, ptr %263, align 4, !tbaa !5
  %12889 = call ptr @__errno_location() #12
  store i32 %12888, ptr %12889, align 4, !tbaa !5
  %12890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12891 = load i32, ptr @test_count, align 4, !tbaa !5
  %12892 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12893 = load i32, ptr %12892, align 4, !tbaa !5
  %12894 = call ptr @s2n_strerror(i32 noundef %12893, ptr noundef @.str.4)
  %12895 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12896 = load i32, ptr %12895, align 4, !tbaa !5
  %12897 = call ptr @s2n_strerror_debug(i32 noundef %12896, ptr noundef @.str.4)
  %12898 = call ptr @__errno_location() #12
  %12899 = load i32, ptr %12898, align 4, !tbaa !5
  %12900 = call ptr @strerror(i32 noundef %12899) #11
  %12901 = call ptr @__errno_location() #12
  %12902 = load i32, ptr %12901, align 4, !tbaa !5
  %12903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12890, ptr noundef @.str.5, i32 noundef %12891, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 423, ptr noundef %12894, ptr noundef %12897, ptr noundef %12900, i32 noundef %12902) #11
  br label %12904

12904:                                            ; preds = %12887, %12870
  call void @llvm.lifetime.end.p0(i64 4, ptr %263) #11
  br label %12905

12905:                                            ; preds = %12904
  br label %12906

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

12907:                                            ; No predecessors!
  br label %12908

12908:                                            ; preds = %12907
  br label %12909

12909:                                            ; preds = %12908, %12851
  br label %12910

12910:                                            ; preds = %12909
  br label %12911

12911:                                            ; preds = %12910
  br label %12912

12912:                                            ; preds = %12911
  br label %12913

12913:                                            ; preds = %12912
  br label %12914

12914:                                            ; preds = %12913
  %12915 = load i32, ptr @test_count, align 4, !tbaa !5
  %12916 = add nsw i32 %12915, 1
  store i32 %12916, ptr @test_count, align 4, !tbaa !5
  %12917 = load ptr, ptr %237, align 8, !tbaa !9
  %12918 = getelementptr inbounds [100 x i8], ptr %243, i64 0, i64 0
  %12919 = call i32 @s2n_recv_early_data(ptr noundef %12917, ptr noundef %12918, i64 noundef 100, ptr noundef %245, ptr noundef %244)
  %12920 = icmp eq i32 %12919, -1
  br i1 %12920, label %12974, label %12921

12921:                                            ; preds = %12914
  br label %12922

12922:                                            ; preds = %12921
  br label %12923

12923:                                            ; preds = %12922
  call void @llvm.lifetime.start.p0(i64 4, ptr %264) #11
  %12924 = call ptr @__errno_location() #12
  %12925 = load i32, ptr %12924, align 4, !tbaa !5
  store i32 %12925, ptr %264, align 4, !tbaa !5
  %12926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12927 = call i32 @s2n_print_stacktrace(ptr noundef %12926)
  %12928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12929 = trunc i8 %12928 to i1
  br i1 %12929, label %12930, label %12952

12930:                                            ; preds = %12923
  %12931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12932 = call i32 @fileno(ptr noundef %12931) #11
  %12933 = call i32 @isatty(i32 noundef %12932) #11
  %12934 = icmp ne i32 %12933, 0
  br i1 %12934, label %12935, label %12952

12935:                                            ; preds = %12930
  %12936 = load i32, ptr %264, align 4, !tbaa !5
  %12937 = call ptr @__errno_location() #12
  store i32 %12936, ptr %12937, align 4, !tbaa !5
  %12938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12939 = load i32, ptr @test_count, align 4, !tbaa !5
  %12940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12941 = load i32, ptr %12940, align 4, !tbaa !5
  %12942 = call ptr @s2n_strerror(i32 noundef %12941, ptr noundef @.str.4)
  %12943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12944 = load i32, ptr %12943, align 4, !tbaa !5
  %12945 = call ptr @s2n_strerror_debug(i32 noundef %12944, ptr noundef @.str.4)
  %12946 = call ptr @__errno_location() #12
  %12947 = load i32, ptr %12946, align 4, !tbaa !5
  %12948 = call ptr @strerror(i32 noundef %12947) #11
  %12949 = call ptr @__errno_location() #12
  %12950 = load i32, ptr %12949, align 4, !tbaa !5
  %12951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12938, ptr noundef @.str.2, i32 noundef %12939, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 425, ptr noundef %12942, ptr noundef %12945, ptr noundef %12948, i32 noundef %12950) #11
  br label %12969

12952:                                            ; preds = %12930, %12923
  %12953 = load i32, ptr %264, align 4, !tbaa !5
  %12954 = call ptr @__errno_location() #12
  store i32 %12953, ptr %12954, align 4, !tbaa !5
  %12955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12956 = load i32, ptr @test_count, align 4, !tbaa !5
  %12957 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12958 = load i32, ptr %12957, align 4, !tbaa !5
  %12959 = call ptr @s2n_strerror(i32 noundef %12958, ptr noundef @.str.4)
  %12960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12961 = load i32, ptr %12960, align 4, !tbaa !5
  %12962 = call ptr @s2n_strerror_debug(i32 noundef %12961, ptr noundef @.str.4)
  %12963 = call ptr @__errno_location() #12
  %12964 = load i32, ptr %12963, align 4, !tbaa !5
  %12965 = call ptr @strerror(i32 noundef %12964) #11
  %12966 = call ptr @__errno_location() #12
  %12967 = load i32, ptr %12966, align 4, !tbaa !5
  %12968 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12955, ptr noundef @.str.5, i32 noundef %12956, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 425, ptr noundef %12959, ptr noundef %12962, ptr noundef %12965, i32 noundef %12967) #11
  br label %12969

12969:                                            ; preds = %12952, %12935
  call void @llvm.lifetime.end.p0(i64 4, ptr %264) #11
  br label %12970

12970:                                            ; preds = %12969
  br label %12971

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

12972:                                            ; No predecessors!
  br label %12973

12973:                                            ; preds = %12972
  br label %12974

12974:                                            ; preds = %12973, %12914
  br label %12975

12975:                                            ; preds = %12974
  br label %12976

12976:                                            ; preds = %12975
  br label %12977

12977:                                            ; preds = %12976
  %12978 = load i32, ptr @test_count, align 4, !tbaa !5
  %12979 = add nsw i32 %12978, 1
  store i32 %12979, ptr @test_count, align 4, !tbaa !5
  %12980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %12981 = load i32, ptr %12980, align 4, !tbaa !5
  %12982 = icmp eq i32 %12981, 201326592
  br i1 %12982, label %13036, label %12983

12983:                                            ; preds = %12977
  br label %12984

12984:                                            ; preds = %12983
  br label %12985

12985:                                            ; preds = %12984
  call void @llvm.lifetime.start.p0(i64 4, ptr %265) #11
  %12986 = call ptr @__errno_location() #12
  %12987 = load i32, ptr %12986, align 4, !tbaa !5
  store i32 %12987, ptr %265, align 4, !tbaa !5
  %12988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12989 = call i32 @s2n_print_stacktrace(ptr noundef %12988)
  %12990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12991 = trunc i8 %12990 to i1
  br i1 %12991, label %12992, label %13014

12992:                                            ; preds = %12985
  %12993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12994 = call i32 @fileno(ptr noundef %12993) #11
  %12995 = call i32 @isatty(i32 noundef %12994) #11
  %12996 = icmp ne i32 %12995, 0
  br i1 %12996, label %12997, label %13014

12997:                                            ; preds = %12992
  %12998 = load i32, ptr %265, align 4, !tbaa !5
  %12999 = call ptr @__errno_location() #12
  store i32 %12998, ptr %12999, align 4, !tbaa !5
  %13000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13001 = load i32, ptr @test_count, align 4, !tbaa !5
  %13002 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13003 = load i32, ptr %13002, align 4, !tbaa !5
  %13004 = call ptr @s2n_strerror(i32 noundef %13003, ptr noundef @.str.4)
  %13005 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13006 = load i32, ptr %13005, align 4, !tbaa !5
  %13007 = call ptr @s2n_strerror_debug(i32 noundef %13006, ptr noundef @.str.4)
  %13008 = call ptr @__errno_location() #12
  %13009 = load i32, ptr %13008, align 4, !tbaa !5
  %13010 = call ptr @strerror(i32 noundef %13009) #11
  %13011 = call ptr @__errno_location() #12
  %13012 = load i32, ptr %13011, align 4, !tbaa !5
  %13013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13000, ptr noundef @.str.2, i32 noundef %13001, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 425, ptr noundef %13004, ptr noundef %13007, ptr noundef %13010, i32 noundef %13012) #11
  br label %13031

13014:                                            ; preds = %12992, %12985
  %13015 = load i32, ptr %265, align 4, !tbaa !5
  %13016 = call ptr @__errno_location() #12
  store i32 %13015, ptr %13016, align 4, !tbaa !5
  %13017 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13018 = load i32, ptr @test_count, align 4, !tbaa !5
  %13019 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13020 = load i32, ptr %13019, align 4, !tbaa !5
  %13021 = call ptr @s2n_strerror(i32 noundef %13020, ptr noundef @.str.4)
  %13022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13023 = load i32, ptr %13022, align 4, !tbaa !5
  %13024 = call ptr @s2n_strerror_debug(i32 noundef %13023, ptr noundef @.str.4)
  %13025 = call ptr @__errno_location() #12
  %13026 = load i32, ptr %13025, align 4, !tbaa !5
  %13027 = call ptr @strerror(i32 noundef %13026) #11
  %13028 = call ptr @__errno_location() #12
  %13029 = load i32, ptr %13028, align 4, !tbaa !5
  %13030 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13017, ptr noundef @.str.5, i32 noundef %13018, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 425, ptr noundef %13021, ptr noundef %13024, ptr noundef %13027, i32 noundef %13029) #11
  br label %13031

13031:                                            ; preds = %13014, %12997
  call void @llvm.lifetime.end.p0(i64 4, ptr %265) #11
  br label %13032

13032:                                            ; preds = %13031
  br label %13033

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

13034:                                            ; No predecessors!
  br label %13035

13035:                                            ; preds = %13034
  br label %13036

13036:                                            ; preds = %13035, %12977
  br label %13037

13037:                                            ; preds = %13036
  br label %13038

13038:                                            ; preds = %13037
  br label %13039

13039:                                            ; preds = %13038
  %13040 = load i32, ptr @test_count, align 4, !tbaa !5
  %13041 = add nsw i32 %13040, 1
  store i32 %13041, ptr @test_count, align 4, !tbaa !5
  %13042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13043 = load i32, ptr %13042, align 4, !tbaa !5
  %13044 = call ptr @s2n_strerror_debug(i32 noundef %13043, ptr noundef @.str.4)
  %13045 = icmp eq ptr %13044, null
  br i1 %13045, label %13046, label %13099

13046:                                            ; preds = %13039
  br label %13047

13047:                                            ; preds = %13046
  br label %13048

13048:                                            ; preds = %13047
  call void @llvm.lifetime.start.p0(i64 4, ptr %266) #11
  %13049 = call ptr @__errno_location() #12
  %13050 = load i32, ptr %13049, align 4, !tbaa !5
  store i32 %13050, ptr %266, align 4, !tbaa !5
  %13051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13052 = call i32 @s2n_print_stacktrace(ptr noundef %13051)
  %13053 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13054 = trunc i8 %13053 to i1
  br i1 %13054, label %13055, label %13077

13055:                                            ; preds = %13048
  %13056 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13057 = call i32 @fileno(ptr noundef %13056) #11
  %13058 = call i32 @isatty(i32 noundef %13057) #11
  %13059 = icmp ne i32 %13058, 0
  br i1 %13059, label %13060, label %13077

13060:                                            ; preds = %13055
  %13061 = load i32, ptr %266, align 4, !tbaa !5
  %13062 = call ptr @__errno_location() #12
  store i32 %13061, ptr %13062, align 4, !tbaa !5
  %13063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13064 = load i32, ptr @test_count, align 4, !tbaa !5
  %13065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13066 = load i32, ptr %13065, align 4, !tbaa !5
  %13067 = call ptr @s2n_strerror(i32 noundef %13066, ptr noundef @.str.4)
  %13068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13069 = load i32, ptr %13068, align 4, !tbaa !5
  %13070 = call ptr @s2n_strerror_debug(i32 noundef %13069, ptr noundef @.str.4)
  %13071 = call ptr @__errno_location() #12
  %13072 = load i32, ptr %13071, align 4, !tbaa !5
  %13073 = call ptr @strerror(i32 noundef %13072) #11
  %13074 = call ptr @__errno_location() #12
  %13075 = load i32, ptr %13074, align 4, !tbaa !5
  %13076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13063, ptr noundef @.str.2, i32 noundef %13064, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 425, ptr noundef %13067, ptr noundef %13070, ptr noundef %13073, i32 noundef %13075) #11
  br label %13094

13077:                                            ; preds = %13055, %13048
  %13078 = load i32, ptr %266, align 4, !tbaa !5
  %13079 = call ptr @__errno_location() #12
  store i32 %13078, ptr %13079, align 4, !tbaa !5
  %13080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13081 = load i32, ptr @test_count, align 4, !tbaa !5
  %13082 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13083 = load i32, ptr %13082, align 4, !tbaa !5
  %13084 = call ptr @s2n_strerror(i32 noundef %13083, ptr noundef @.str.4)
  %13085 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13086 = load i32, ptr %13085, align 4, !tbaa !5
  %13087 = call ptr @s2n_strerror_debug(i32 noundef %13086, ptr noundef @.str.4)
  %13088 = call ptr @__errno_location() #12
  %13089 = load i32, ptr %13088, align 4, !tbaa !5
  %13090 = call ptr @strerror(i32 noundef %13089) #11
  %13091 = call ptr @__errno_location() #12
  %13092 = load i32, ptr %13091, align 4, !tbaa !5
  %13093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13080, ptr noundef @.str.5, i32 noundef %13081, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 425, ptr noundef %13084, ptr noundef %13087, ptr noundef %13090, i32 noundef %13092) #11
  br label %13094

13094:                                            ; preds = %13077, %13060
  call void @llvm.lifetime.end.p0(i64 4, ptr %266) #11
  br label %13095

13095:                                            ; preds = %13094
  br label %13096

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

13097:                                            ; No predecessors!
  br label %13098

13098:                                            ; preds = %13097
  br label %13099

13099:                                            ; preds = %13098, %13039
  br label %13100

13100:                                            ; preds = %13099
  br label %13101

13101:                                            ; preds = %13100
  br label %13102

13102:                                            ; preds = %13101
  br label %13103

13103:                                            ; preds = %13102
  br label %13104

13104:                                            ; preds = %13103
  %13105 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13105, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13106 = call ptr @__errno_location() #12
  store i32 0, ptr %13106, align 4, !tbaa !5
  br label %13107

13107:                                            ; preds = %13104
  br label %13108

13108:                                            ; preds = %13107
  br label %13109

13109:                                            ; preds = %13108
  br label %13110

13110:                                            ; preds = %13109
  br label %13111

13111:                                            ; preds = %13110
  %13112 = load i32, ptr @test_count, align 4, !tbaa !5
  %13113 = add nsw i32 %13112, 1
  store i32 %13113, ptr @test_count, align 4, !tbaa !5
  %13114 = load i32, ptr %244, align 4, !tbaa !5
  %13115 = icmp eq i32 %13114, 1
  br i1 %13115, label %13169, label %13116

13116:                                            ; preds = %13111
  br label %13117

13117:                                            ; preds = %13116
  br label %13118

13118:                                            ; preds = %13117
  call void @llvm.lifetime.start.p0(i64 4, ptr %267) #11
  %13119 = call ptr @__errno_location() #12
  %13120 = load i32, ptr %13119, align 4, !tbaa !5
  store i32 %13120, ptr %267, align 4, !tbaa !5
  %13121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13122 = call i32 @s2n_print_stacktrace(ptr noundef %13121)
  %13123 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13124 = trunc i8 %13123 to i1
  br i1 %13124, label %13125, label %13147

13125:                                            ; preds = %13118
  %13126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13127 = call i32 @fileno(ptr noundef %13126) #11
  %13128 = call i32 @isatty(i32 noundef %13127) #11
  %13129 = icmp ne i32 %13128, 0
  br i1 %13129, label %13130, label %13147

13130:                                            ; preds = %13125
  %13131 = load i32, ptr %267, align 4, !tbaa !5
  %13132 = call ptr @__errno_location() #12
  store i32 %13131, ptr %13132, align 4, !tbaa !5
  %13133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13134 = load i32, ptr @test_count, align 4, !tbaa !5
  %13135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13136 = load i32, ptr %13135, align 4, !tbaa !5
  %13137 = call ptr @s2n_strerror(i32 noundef %13136, ptr noundef @.str.4)
  %13138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13139 = load i32, ptr %13138, align 4, !tbaa !5
  %13140 = call ptr @s2n_strerror_debug(i32 noundef %13139, ptr noundef @.str.4)
  %13141 = call ptr @__errno_location() #12
  %13142 = load i32, ptr %13141, align 4, !tbaa !5
  %13143 = call ptr @strerror(i32 noundef %13142) #11
  %13144 = call ptr @__errno_location() #12
  %13145 = load i32, ptr %13144, align 4, !tbaa !5
  %13146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13133, ptr noundef @.str.2, i32 noundef %13134, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 426, ptr noundef %13137, ptr noundef %13140, ptr noundef %13143, i32 noundef %13145) #11
  br label %13164

13147:                                            ; preds = %13125, %13118
  %13148 = load i32, ptr %267, align 4, !tbaa !5
  %13149 = call ptr @__errno_location() #12
  store i32 %13148, ptr %13149, align 4, !tbaa !5
  %13150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13151 = load i32, ptr @test_count, align 4, !tbaa !5
  %13152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13153 = load i32, ptr %13152, align 4, !tbaa !5
  %13154 = call ptr @s2n_strerror(i32 noundef %13153, ptr noundef @.str.4)
  %13155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13156 = load i32, ptr %13155, align 4, !tbaa !5
  %13157 = call ptr @s2n_strerror_debug(i32 noundef %13156, ptr noundef @.str.4)
  %13158 = call ptr @__errno_location() #12
  %13159 = load i32, ptr %13158, align 4, !tbaa !5
  %13160 = call ptr @strerror(i32 noundef %13159) #11
  %13161 = call ptr @__errno_location() #12
  %13162 = load i32, ptr %13161, align 4, !tbaa !5
  %13163 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13150, ptr noundef @.str.5, i32 noundef %13151, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 426, ptr noundef %13154, ptr noundef %13157, ptr noundef %13160, i32 noundef %13162) #11
  br label %13164

13164:                                            ; preds = %13147, %13130
  call void @llvm.lifetime.end.p0(i64 4, ptr %267) #11
  br label %13165

13165:                                            ; preds = %13164
  br label %13166

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

13167:                                            ; No predecessors!
  br label %13168

13168:                                            ; preds = %13167
  br label %13169

13169:                                            ; preds = %13168, %13111
  br label %13170

13170:                                            ; preds = %13169
  br label %13171

13171:                                            ; preds = %13170
  br label %13172

13172:                                            ; preds = %13171
  %13173 = load i32, ptr @test_count, align 4, !tbaa !5
  %13174 = add nsw i32 %13173, 1
  store i32 %13174, ptr @test_count, align 4, !tbaa !5
  %13175 = load ptr, ptr %236, align 8, !tbaa !9
  %13176 = call i32 @s2n_conn_get_current_message_type(ptr noundef %13175)
  %13177 = icmp eq i32 %13176, 19
  br i1 %13177, label %13231, label %13178

13178:                                            ; preds = %13172
  br label %13179

13179:                                            ; preds = %13178
  br label %13180

13180:                                            ; preds = %13179
  call void @llvm.lifetime.start.p0(i64 4, ptr %268) #11
  %13181 = call ptr @__errno_location() #12
  %13182 = load i32, ptr %13181, align 4, !tbaa !5
  store i32 %13182, ptr %268, align 4, !tbaa !5
  %13183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13184 = call i32 @s2n_print_stacktrace(ptr noundef %13183)
  %13185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13186 = trunc i8 %13185 to i1
  br i1 %13186, label %13187, label %13209

13187:                                            ; preds = %13180
  %13188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13189 = call i32 @fileno(ptr noundef %13188) #11
  %13190 = call i32 @isatty(i32 noundef %13189) #11
  %13191 = icmp ne i32 %13190, 0
  br i1 %13191, label %13192, label %13209

13192:                                            ; preds = %13187
  %13193 = load i32, ptr %268, align 4, !tbaa !5
  %13194 = call ptr @__errno_location() #12
  store i32 %13193, ptr %13194, align 4, !tbaa !5
  %13195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13196 = load i32, ptr @test_count, align 4, !tbaa !5
  %13197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13198 = load i32, ptr %13197, align 4, !tbaa !5
  %13199 = call ptr @s2n_strerror(i32 noundef %13198, ptr noundef @.str.4)
  %13200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13201 = load i32, ptr %13200, align 4, !tbaa !5
  %13202 = call ptr @s2n_strerror_debug(i32 noundef %13201, ptr noundef @.str.4)
  %13203 = call ptr @__errno_location() #12
  %13204 = load i32, ptr %13203, align 4, !tbaa !5
  %13205 = call ptr @strerror(i32 noundef %13204) #11
  %13206 = call ptr @__errno_location() #12
  %13207 = load i32, ptr %13206, align 4, !tbaa !5
  %13208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13195, ptr noundef @.str.2, i32 noundef %13196, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 426, ptr noundef %13199, ptr noundef %13202, ptr noundef %13205, i32 noundef %13207) #11
  br label %13226

13209:                                            ; preds = %13187, %13180
  %13210 = load i32, ptr %268, align 4, !tbaa !5
  %13211 = call ptr @__errno_location() #12
  store i32 %13210, ptr %13211, align 4, !tbaa !5
  %13212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13213 = load i32, ptr @test_count, align 4, !tbaa !5
  %13214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13215 = load i32, ptr %13214, align 4, !tbaa !5
  %13216 = call ptr @s2n_strerror(i32 noundef %13215, ptr noundef @.str.4)
  %13217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13218 = load i32, ptr %13217, align 4, !tbaa !5
  %13219 = call ptr @s2n_strerror_debug(i32 noundef %13218, ptr noundef @.str.4)
  %13220 = call ptr @__errno_location() #12
  %13221 = load i32, ptr %13220, align 4, !tbaa !5
  %13222 = call ptr @strerror(i32 noundef %13221) #11
  %13223 = call ptr @__errno_location() #12
  %13224 = load i32, ptr %13223, align 4, !tbaa !5
  %13225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13212, ptr noundef @.str.5, i32 noundef %13213, ptr noundef @.str.87, ptr noundef @.str.1, i32 noundef 426, ptr noundef %13216, ptr noundef %13219, ptr noundef %13222, i32 noundef %13224) #11
  br label %13226

13226:                                            ; preds = %13209, %13192
  call void @llvm.lifetime.end.p0(i64 4, ptr %268) #11
  br label %13227

13227:                                            ; preds = %13226
  br label %13228

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

13229:                                            ; No predecessors!
  br label %13230

13230:                                            ; preds = %13229
  br label %13231

13231:                                            ; preds = %13230, %13172
  br label %13232

13232:                                            ; preds = %13231
  br label %13233

13233:                                            ; preds = %13232
  br label %13234

13234:                                            ; preds = %13233
  %13235 = load i32, ptr @test_count, align 4, !tbaa !5
  %13236 = add nsw i32 %13235, 1
  store i32 %13236, ptr @test_count, align 4, !tbaa !5
  %13237 = load i64, ptr %245, align 8, !tbaa !42
  %13238 = icmp eq i64 %13237, 12
  br i1 %13238, label %13292, label %13239

13239:                                            ; preds = %13234
  br label %13240

13240:                                            ; preds = %13239
  br label %13241

13241:                                            ; preds = %13240
  call void @llvm.lifetime.start.p0(i64 4, ptr %269) #11
  %13242 = call ptr @__errno_location() #12
  %13243 = load i32, ptr %13242, align 4, !tbaa !5
  store i32 %13243, ptr %269, align 4, !tbaa !5
  %13244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13245 = call i32 @s2n_print_stacktrace(ptr noundef %13244)
  %13246 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13247 = trunc i8 %13246 to i1
  br i1 %13247, label %13248, label %13270

13248:                                            ; preds = %13241
  %13249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13250 = call i32 @fileno(ptr noundef %13249) #11
  %13251 = call i32 @isatty(i32 noundef %13250) #11
  %13252 = icmp ne i32 %13251, 0
  br i1 %13252, label %13253, label %13270

13253:                                            ; preds = %13248
  %13254 = load i32, ptr %269, align 4, !tbaa !5
  %13255 = call ptr @__errno_location() #12
  store i32 %13254, ptr %13255, align 4, !tbaa !5
  %13256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13257 = load i32, ptr @test_count, align 4, !tbaa !5
  %13258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13259 = load i32, ptr %13258, align 4, !tbaa !5
  %13260 = call ptr @s2n_strerror(i32 noundef %13259, ptr noundef @.str.4)
  %13261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13262 = load i32, ptr %13261, align 4, !tbaa !5
  %13263 = call ptr @s2n_strerror_debug(i32 noundef %13262, ptr noundef @.str.4)
  %13264 = call ptr @__errno_location() #12
  %13265 = load i32, ptr %13264, align 4, !tbaa !5
  %13266 = call ptr @strerror(i32 noundef %13265) #11
  %13267 = call ptr @__errno_location() #12
  %13268 = load i32, ptr %13267, align 4, !tbaa !5
  %13269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13256, ptr noundef @.str.2, i32 noundef %13257, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 427, ptr noundef %13260, ptr noundef %13263, ptr noundef %13266, i32 noundef %13268) #11
  br label %13287

13270:                                            ; preds = %13248, %13241
  %13271 = load i32, ptr %269, align 4, !tbaa !5
  %13272 = call ptr @__errno_location() #12
  store i32 %13271, ptr %13272, align 4, !tbaa !5
  %13273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13274 = load i32, ptr @test_count, align 4, !tbaa !5
  %13275 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13276 = load i32, ptr %13275, align 4, !tbaa !5
  %13277 = call ptr @s2n_strerror(i32 noundef %13276, ptr noundef @.str.4)
  %13278 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13279 = load i32, ptr %13278, align 4, !tbaa !5
  %13280 = call ptr @s2n_strerror_debug(i32 noundef %13279, ptr noundef @.str.4)
  %13281 = call ptr @__errno_location() #12
  %13282 = load i32, ptr %13281, align 4, !tbaa !5
  %13283 = call ptr @strerror(i32 noundef %13282) #11
  %13284 = call ptr @__errno_location() #12
  %13285 = load i32, ptr %13284, align 4, !tbaa !5
  %13286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13273, ptr noundef @.str.5, i32 noundef %13274, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 427, ptr noundef %13277, ptr noundef %13280, ptr noundef %13283, i32 noundef %13285) #11
  br label %13287

13287:                                            ; preds = %13270, %13253
  call void @llvm.lifetime.end.p0(i64 4, ptr %269) #11
  br label %13288

13288:                                            ; preds = %13287
  br label %13289

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

13290:                                            ; No predecessors!
  br label %13291

13291:                                            ; preds = %13290
  br label %13292

13292:                                            ; preds = %13291, %13234
  br label %13293

13293:                                            ; preds = %13292
  br label %13294

13294:                                            ; preds = %13293
  br label %13295

13295:                                            ; preds = %13294
  br label %13296

13296:                                            ; preds = %13295
  %13297 = load i32, ptr @test_count, align 4, !tbaa !5
  %13298 = add nsw i32 %13297, 1
  store i32 %13298, ptr @test_count, align 4, !tbaa !5
  %13299 = getelementptr inbounds [100 x i8], ptr %243, i64 0, i64 0
  %13300 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %13301 = call i32 @memcmp(ptr noundef %13299, ptr noundef %13300, i64 noundef 12) #14
  %13302 = icmp eq i32 %13301, 0
  br i1 %13302, label %13356, label %13303

13303:                                            ; preds = %13296
  br label %13304

13304:                                            ; preds = %13303
  br label %13305

13305:                                            ; preds = %13304
  call void @llvm.lifetime.start.p0(i64 4, ptr %270) #11
  %13306 = call ptr @__errno_location() #12
  %13307 = load i32, ptr %13306, align 4, !tbaa !5
  store i32 %13307, ptr %270, align 4, !tbaa !5
  %13308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13309 = call i32 @s2n_print_stacktrace(ptr noundef %13308)
  %13310 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13311 = trunc i8 %13310 to i1
  br i1 %13311, label %13312, label %13334

13312:                                            ; preds = %13305
  %13313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13314 = call i32 @fileno(ptr noundef %13313) #11
  %13315 = call i32 @isatty(i32 noundef %13314) #11
  %13316 = icmp ne i32 %13315, 0
  br i1 %13316, label %13317, label %13334

13317:                                            ; preds = %13312
  %13318 = load i32, ptr %270, align 4, !tbaa !5
  %13319 = call ptr @__errno_location() #12
  store i32 %13318, ptr %13319, align 4, !tbaa !5
  %13320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13321 = load i32, ptr @test_count, align 4, !tbaa !5
  %13322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13323 = load i32, ptr %13322, align 4, !tbaa !5
  %13324 = call ptr @s2n_strerror(i32 noundef %13323, ptr noundef @.str.4)
  %13325 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13326 = load i32, ptr %13325, align 4, !tbaa !5
  %13327 = call ptr @s2n_strerror_debug(i32 noundef %13326, ptr noundef @.str.4)
  %13328 = call ptr @__errno_location() #12
  %13329 = load i32, ptr %13328, align 4, !tbaa !5
  %13330 = call ptr @strerror(i32 noundef %13329) #11
  %13331 = call ptr @__errno_location() #12
  %13332 = load i32, ptr %13331, align 4, !tbaa !5
  %13333 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13320, ptr noundef @.str.2, i32 noundef %13321, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 428, ptr noundef %13324, ptr noundef %13327, ptr noundef %13330, i32 noundef %13332) #11
  br label %13351

13334:                                            ; preds = %13312, %13305
  %13335 = load i32, ptr %270, align 4, !tbaa !5
  %13336 = call ptr @__errno_location() #12
  store i32 %13335, ptr %13336, align 4, !tbaa !5
  %13337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13338 = load i32, ptr @test_count, align 4, !tbaa !5
  %13339 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13340 = load i32, ptr %13339, align 4, !tbaa !5
  %13341 = call ptr @s2n_strerror(i32 noundef %13340, ptr noundef @.str.4)
  %13342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13343 = load i32, ptr %13342, align 4, !tbaa !5
  %13344 = call ptr @s2n_strerror_debug(i32 noundef %13343, ptr noundef @.str.4)
  %13345 = call ptr @__errno_location() #12
  %13346 = load i32, ptr %13345, align 4, !tbaa !5
  %13347 = call ptr @strerror(i32 noundef %13346) #11
  %13348 = call ptr @__errno_location() #12
  %13349 = load i32, ptr %13348, align 4, !tbaa !5
  %13350 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13337, ptr noundef @.str.5, i32 noundef %13338, ptr noundef @.str.74, ptr noundef @.str.1, i32 noundef 428, ptr noundef %13341, ptr noundef %13344, ptr noundef %13347, i32 noundef %13349) #11
  br label %13351

13351:                                            ; preds = %13334, %13317
  call void @llvm.lifetime.end.p0(i64 4, ptr %270) #11
  br label %13352

13352:                                            ; preds = %13351
  br label %13353

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

13354:                                            ; No predecessors!
  br label %13355

13355:                                            ; preds = %13354
  br label %13356

13356:                                            ; preds = %13355, %13296
  br label %13357

13357:                                            ; preds = %13356
  br label %13358

13358:                                            ; preds = %13357
  br label %13359

13359:                                            ; preds = %13358
  br label %13360

13360:                                            ; preds = %13359
  br label %13361

13361:                                            ; preds = %13360
  %13362 = load i64, ptr %259, align 8, !tbaa !42
  %13363 = add i64 %13362, 1
  store i64 %13363, ptr %259, align 8, !tbaa !42
  br label %12660, !llvm.loop !46

13364:                                            ; preds = %12663
  br label %13365

13365:                                            ; preds = %13364
  %13366 = load i32, ptr @test_count, align 4, !tbaa !5
  %13367 = add nsw i32 %13366, 1
  store i32 %13367, ptr @test_count, align 4, !tbaa !5
  %13368 = load ptr, ptr %237, align 8, !tbaa !9
  %13369 = load ptr, ptr %236, align 8, !tbaa !9
  %13370 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %13368, ptr noundef %13369)
  %13371 = icmp eq i32 %13370, -1
  br i1 %13371, label %13372, label %13425

13372:                                            ; preds = %13365
  br label %13373

13373:                                            ; preds = %13372
  br label %13374

13374:                                            ; preds = %13373
  call void @llvm.lifetime.start.p0(i64 4, ptr %271) #11
  %13375 = call ptr @__errno_location() #12
  %13376 = load i32, ptr %13375, align 4, !tbaa !5
  store i32 %13376, ptr %271, align 4, !tbaa !5
  %13377 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13378 = call i32 @s2n_print_stacktrace(ptr noundef %13377)
  %13379 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13380 = trunc i8 %13379 to i1
  br i1 %13380, label %13381, label %13403

13381:                                            ; preds = %13374
  %13382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13383 = call i32 @fileno(ptr noundef %13382) #11
  %13384 = call i32 @isatty(i32 noundef %13383) #11
  %13385 = icmp ne i32 %13384, 0
  br i1 %13385, label %13386, label %13403

13386:                                            ; preds = %13381
  %13387 = load i32, ptr %271, align 4, !tbaa !5
  %13388 = call ptr @__errno_location() #12
  store i32 %13387, ptr %13388, align 4, !tbaa !5
  %13389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13390 = load i32, ptr @test_count, align 4, !tbaa !5
  %13391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13392 = load i32, ptr %13391, align 4, !tbaa !5
  %13393 = call ptr @s2n_strerror(i32 noundef %13392, ptr noundef @.str.4)
  %13394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13395 = load i32, ptr %13394, align 4, !tbaa !5
  %13396 = call ptr @s2n_strerror_debug(i32 noundef %13395, ptr noundef @.str.4)
  %13397 = call ptr @__errno_location() #12
  %13398 = load i32, ptr %13397, align 4, !tbaa !5
  %13399 = call ptr @strerror(i32 noundef %13398) #11
  %13400 = call ptr @__errno_location() #12
  %13401 = load i32, ptr %13400, align 4, !tbaa !5
  %13402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13389, ptr noundef @.str.2, i32 noundef %13390, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 431, ptr noundef %13393, ptr noundef %13396, ptr noundef %13399, i32 noundef %13401) #11
  br label %13420

13403:                                            ; preds = %13381, %13374
  %13404 = load i32, ptr %271, align 4, !tbaa !5
  %13405 = call ptr @__errno_location() #12
  store i32 %13404, ptr %13405, align 4, !tbaa !5
  %13406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13407 = load i32, ptr @test_count, align 4, !tbaa !5
  %13408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13409 = load i32, ptr %13408, align 4, !tbaa !5
  %13410 = call ptr @s2n_strerror(i32 noundef %13409, ptr noundef @.str.4)
  %13411 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13412 = load i32, ptr %13411, align 4, !tbaa !5
  %13413 = call ptr @s2n_strerror_debug(i32 noundef %13412, ptr noundef @.str.4)
  %13414 = call ptr @__errno_location() #12
  %13415 = load i32, ptr %13414, align 4, !tbaa !5
  %13416 = call ptr @strerror(i32 noundef %13415) #11
  %13417 = call ptr @__errno_location() #12
  %13418 = load i32, ptr %13417, align 4, !tbaa !5
  %13419 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13406, ptr noundef @.str.5, i32 noundef %13407, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 431, ptr noundef %13410, ptr noundef %13413, ptr noundef %13416, i32 noundef %13418) #11
  br label %13420

13420:                                            ; preds = %13403, %13386
  call void @llvm.lifetime.end.p0(i64 4, ptr %271) #11
  br label %13421

13421:                                            ; preds = %13420
  br label %13422

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

13423:                                            ; No predecessors!
  br label %13424

13424:                                            ; preds = %13423
  br label %13425

13425:                                            ; preds = %13424, %13365
  br label %13426

13426:                                            ; preds = %13425
  br label %13427

13427:                                            ; preds = %13426
  br label %13428

13428:                                            ; preds = %13427
  %13429 = load i32, ptr @test_count, align 4, !tbaa !5
  %13430 = add nsw i32 %13429, 1
  store i32 %13430, ptr @test_count, align 4, !tbaa !5
  %13431 = load ptr, ptr %236, align 8, !tbaa !9
  %13432 = call i32 @s2n_connection_free(ptr noundef %13431)
  %13433 = icmp eq i32 %13432, -1
  br i1 %13433, label %13434, label %13487

13434:                                            ; preds = %13428
  br label %13435

13435:                                            ; preds = %13434
  br label %13436

13436:                                            ; preds = %13435
  call void @llvm.lifetime.start.p0(i64 4, ptr %272) #11
  %13437 = call ptr @__errno_location() #12
  %13438 = load i32, ptr %13437, align 4, !tbaa !5
  store i32 %13438, ptr %272, align 4, !tbaa !5
  %13439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13440 = call i32 @s2n_print_stacktrace(ptr noundef %13439)
  %13441 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13442 = trunc i8 %13441 to i1
  br i1 %13442, label %13443, label %13465

13443:                                            ; preds = %13436
  %13444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13445 = call i32 @fileno(ptr noundef %13444) #11
  %13446 = call i32 @isatty(i32 noundef %13445) #11
  %13447 = icmp ne i32 %13446, 0
  br i1 %13447, label %13448, label %13465

13448:                                            ; preds = %13443
  %13449 = load i32, ptr %272, align 4, !tbaa !5
  %13450 = call ptr @__errno_location() #12
  store i32 %13449, ptr %13450, align 4, !tbaa !5
  %13451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13452 = load i32, ptr @test_count, align 4, !tbaa !5
  %13453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13454 = load i32, ptr %13453, align 4, !tbaa !5
  %13455 = call ptr @s2n_strerror(i32 noundef %13454, ptr noundef @.str.4)
  %13456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13457 = load i32, ptr %13456, align 4, !tbaa !5
  %13458 = call ptr @s2n_strerror_debug(i32 noundef %13457, ptr noundef @.str.4)
  %13459 = call ptr @__errno_location() #12
  %13460 = load i32, ptr %13459, align 4, !tbaa !5
  %13461 = call ptr @strerror(i32 noundef %13460) #11
  %13462 = call ptr @__errno_location() #12
  %13463 = load i32, ptr %13462, align 4, !tbaa !5
  %13464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13451, ptr noundef @.str.2, i32 noundef %13452, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 433, ptr noundef %13455, ptr noundef %13458, ptr noundef %13461, i32 noundef %13463) #11
  br label %13482

13465:                                            ; preds = %13443, %13436
  %13466 = load i32, ptr %272, align 4, !tbaa !5
  %13467 = call ptr @__errno_location() #12
  store i32 %13466, ptr %13467, align 4, !tbaa !5
  %13468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13469 = load i32, ptr @test_count, align 4, !tbaa !5
  %13470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13471 = load i32, ptr %13470, align 4, !tbaa !5
  %13472 = call ptr @s2n_strerror(i32 noundef %13471, ptr noundef @.str.4)
  %13473 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13474 = load i32, ptr %13473, align 4, !tbaa !5
  %13475 = call ptr @s2n_strerror_debug(i32 noundef %13474, ptr noundef @.str.4)
  %13476 = call ptr @__errno_location() #12
  %13477 = load i32, ptr %13476, align 4, !tbaa !5
  %13478 = call ptr @strerror(i32 noundef %13477) #11
  %13479 = call ptr @__errno_location() #12
  %13480 = load i32, ptr %13479, align 4, !tbaa !5
  %13481 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13468, ptr noundef @.str.5, i32 noundef %13469, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 433, ptr noundef %13472, ptr noundef %13475, ptr noundef %13478, i32 noundef %13480) #11
  br label %13482

13482:                                            ; preds = %13465, %13448
  call void @llvm.lifetime.end.p0(i64 4, ptr %272) #11
  br label %13483

13483:                                            ; preds = %13482
  br label %13484

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

13485:                                            ; No predecessors!
  br label %13486

13486:                                            ; preds = %13485
  br label %13487

13487:                                            ; preds = %13486, %13428
  br label %13488

13488:                                            ; preds = %13487
  br label %13489

13489:                                            ; preds = %13488
  br label %13490

13490:                                            ; preds = %13489
  %13491 = load i32, ptr @test_count, align 4, !tbaa !5
  %13492 = add nsw i32 %13491, 1
  store i32 %13492, ptr @test_count, align 4, !tbaa !5
  %13493 = load ptr, ptr %237, align 8, !tbaa !9
  %13494 = call i32 @s2n_connection_free(ptr noundef %13493)
  %13495 = icmp eq i32 %13494, -1
  br i1 %13495, label %13496, label %13549

13496:                                            ; preds = %13490
  br label %13497

13497:                                            ; preds = %13496
  br label %13498

13498:                                            ; preds = %13497
  call void @llvm.lifetime.start.p0(i64 4, ptr %273) #11
  %13499 = call ptr @__errno_location() #12
  %13500 = load i32, ptr %13499, align 4, !tbaa !5
  store i32 %13500, ptr %273, align 4, !tbaa !5
  %13501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13502 = call i32 @s2n_print_stacktrace(ptr noundef %13501)
  %13503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13504 = trunc i8 %13503 to i1
  br i1 %13504, label %13505, label %13527

13505:                                            ; preds = %13498
  %13506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13507 = call i32 @fileno(ptr noundef %13506) #11
  %13508 = call i32 @isatty(i32 noundef %13507) #11
  %13509 = icmp ne i32 %13508, 0
  br i1 %13509, label %13510, label %13527

13510:                                            ; preds = %13505
  %13511 = load i32, ptr %273, align 4, !tbaa !5
  %13512 = call ptr @__errno_location() #12
  store i32 %13511, ptr %13512, align 4, !tbaa !5
  %13513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13514 = load i32, ptr @test_count, align 4, !tbaa !5
  %13515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13516 = load i32, ptr %13515, align 4, !tbaa !5
  %13517 = call ptr @s2n_strerror(i32 noundef %13516, ptr noundef @.str.4)
  %13518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13519 = load i32, ptr %13518, align 4, !tbaa !5
  %13520 = call ptr @s2n_strerror_debug(i32 noundef %13519, ptr noundef @.str.4)
  %13521 = call ptr @__errno_location() #12
  %13522 = load i32, ptr %13521, align 4, !tbaa !5
  %13523 = call ptr @strerror(i32 noundef %13522) #11
  %13524 = call ptr @__errno_location() #12
  %13525 = load i32, ptr %13524, align 4, !tbaa !5
  %13526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13513, ptr noundef @.str.2, i32 noundef %13514, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 434, ptr noundef %13517, ptr noundef %13520, ptr noundef %13523, i32 noundef %13525) #11
  br label %13544

13527:                                            ; preds = %13505, %13498
  %13528 = load i32, ptr %273, align 4, !tbaa !5
  %13529 = call ptr @__errno_location() #12
  store i32 %13528, ptr %13529, align 4, !tbaa !5
  %13530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13531 = load i32, ptr @test_count, align 4, !tbaa !5
  %13532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13533 = load i32, ptr %13532, align 4, !tbaa !5
  %13534 = call ptr @s2n_strerror(i32 noundef %13533, ptr noundef @.str.4)
  %13535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13536 = load i32, ptr %13535, align 4, !tbaa !5
  %13537 = call ptr @s2n_strerror_debug(i32 noundef %13536, ptr noundef @.str.4)
  %13538 = call ptr @__errno_location() #12
  %13539 = load i32, ptr %13538, align 4, !tbaa !5
  %13540 = call ptr @strerror(i32 noundef %13539) #11
  %13541 = call ptr @__errno_location() #12
  %13542 = load i32, ptr %13541, align 4, !tbaa !5
  %13543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13530, ptr noundef @.str.5, i32 noundef %13531, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 434, ptr noundef %13534, ptr noundef %13537, ptr noundef %13540, i32 noundef %13542) #11
  br label %13544

13544:                                            ; preds = %13527, %13510
  call void @llvm.lifetime.end.p0(i64 4, ptr %273) #11
  br label %13545

13545:                                            ; preds = %13544
  br label %13546

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

13547:                                            ; No predecessors!
  br label %13548

13548:                                            ; preds = %13547
  br label %13549

13549:                                            ; preds = %13548, %13490
  br label %13550

13550:                                            ; preds = %13549
  br label %13551

13551:                                            ; preds = %13550
  call void @llvm.lifetime.end.p0(i64 8, ptr %245) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %244) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %243) #11
  %13552 = call i32 @s2n_io_pair_close(ptr noundef %238)
  call void @llvm.lifetime.end.p0(i64 8, ptr %238) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %237) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %236) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %274) #11
  store ptr null, ptr %274, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %275) #11
  store ptr null, ptr %275, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %276) #11
  call void @llvm.memset.p0.i64(ptr align 4 %276, i8 0, i64 8, i1 false)
  br label %13553

13553:                                            ; preds = %13551
  %13554 = load i32, ptr @test_count, align 4, !tbaa !5
  %13555 = add nsw i32 %13554, 1
  store i32 %13555, ptr @test_count, align 4, !tbaa !5
  %13556 = call i32 @s2n_test_client_and_server_new(ptr noundef %274, ptr noundef %275, ptr noundef %276)
  %13557 = getelementptr inbounds %struct.s2n_result, ptr %277, i32 0, i32 0
  store i32 %13556, ptr %13557, align 4
  %13558 = getelementptr inbounds %struct.s2n_result, ptr %277, i32 0, i32 0
  %13559 = load i32, ptr %13558, align 4
  %13560 = call zeroext i1 @s2n_result_is_ok(i32 %13559)
  br i1 %13560, label %13614, label %13561

13561:                                            ; preds = %13553
  br label %13562

13562:                                            ; preds = %13561
  br label %13563

13563:                                            ; preds = %13562
  call void @llvm.lifetime.start.p0(i64 4, ptr %278) #11
  %13564 = call ptr @__errno_location() #12
  %13565 = load i32, ptr %13564, align 4, !tbaa !5
  store i32 %13565, ptr %278, align 4, !tbaa !5
  %13566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13567 = call i32 @s2n_print_stacktrace(ptr noundef %13566)
  %13568 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13569 = trunc i8 %13568 to i1
  br i1 %13569, label %13570, label %13592

13570:                                            ; preds = %13563
  %13571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13572 = call i32 @fileno(ptr noundef %13571) #11
  %13573 = call i32 @isatty(i32 noundef %13572) #11
  %13574 = icmp ne i32 %13573, 0
  br i1 %13574, label %13575, label %13592

13575:                                            ; preds = %13570
  %13576 = load i32, ptr %278, align 4, !tbaa !5
  %13577 = call ptr @__errno_location() #12
  store i32 %13576, ptr %13577, align 4, !tbaa !5
  %13578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13579 = load i32, ptr @test_count, align 4, !tbaa !5
  %13580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13581 = load i32, ptr %13580, align 4, !tbaa !5
  %13582 = call ptr @s2n_strerror(i32 noundef %13581, ptr noundef @.str.4)
  %13583 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13584 = load i32, ptr %13583, align 4, !tbaa !5
  %13585 = call ptr @s2n_strerror_debug(i32 noundef %13584, ptr noundef @.str.4)
  %13586 = call ptr @__errno_location() #12
  %13587 = load i32, ptr %13586, align 4, !tbaa !5
  %13588 = call ptr @strerror(i32 noundef %13587) #11
  %13589 = call ptr @__errno_location() #12
  %13590 = load i32, ptr %13589, align 4, !tbaa !5
  %13591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13578, ptr noundef @.str.2, i32 noundef %13579, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 441, ptr noundef %13582, ptr noundef %13585, ptr noundef %13588, i32 noundef %13590) #11
  br label %13609

13592:                                            ; preds = %13570, %13563
  %13593 = load i32, ptr %278, align 4, !tbaa !5
  %13594 = call ptr @__errno_location() #12
  store i32 %13593, ptr %13594, align 4, !tbaa !5
  %13595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13596 = load i32, ptr @test_count, align 4, !tbaa !5
  %13597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13598 = load i32, ptr %13597, align 4, !tbaa !5
  %13599 = call ptr @s2n_strerror(i32 noundef %13598, ptr noundef @.str.4)
  %13600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13601 = load i32, ptr %13600, align 4, !tbaa !5
  %13602 = call ptr @s2n_strerror_debug(i32 noundef %13601, ptr noundef @.str.4)
  %13603 = call ptr @__errno_location() #12
  %13604 = load i32, ptr %13603, align 4, !tbaa !5
  %13605 = call ptr @strerror(i32 noundef %13604) #11
  %13606 = call ptr @__errno_location() #12
  %13607 = load i32, ptr %13606, align 4, !tbaa !5
  %13608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13595, ptr noundef @.str.5, i32 noundef %13596, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 441, ptr noundef %13599, ptr noundef %13602, ptr noundef %13605, i32 noundef %13607) #11
  br label %13609

13609:                                            ; preds = %13592, %13575
  call void @llvm.lifetime.end.p0(i64 4, ptr %278) #11
  br label %13610

13610:                                            ; preds = %13609
  br label %13611

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

13612:                                            ; No predecessors!
  br label %13613

13613:                                            ; preds = %13612
  br label %13614

13614:                                            ; preds = %13613, %13553
  br label %13615

13615:                                            ; preds = %13614
  br label %13616

13616:                                            ; preds = %13615
  br label %13617

13617:                                            ; preds = %13616
  %13618 = load i32, ptr @test_count, align 4, !tbaa !5
  %13619 = add nsw i32 %13618, 1
  store i32 %13619, ptr @test_count, align 4, !tbaa !5
  %13620 = load ptr, ptr %274, align 8, !tbaa !9
  %13621 = load ptr, ptr %13, align 8, !tbaa !9
  %13622 = call i32 @s2n_connection_append_psk(ptr noundef %13620, ptr noundef %13621)
  %13623 = icmp eq i32 %13622, -1
  br i1 %13623, label %13624, label %13677

13624:                                            ; preds = %13617
  br label %13625

13625:                                            ; preds = %13624
  br label %13626

13626:                                            ; preds = %13625
  call void @llvm.lifetime.start.p0(i64 4, ptr %279) #11
  %13627 = call ptr @__errno_location() #12
  %13628 = load i32, ptr %13627, align 4, !tbaa !5
  store i32 %13628, ptr %279, align 4, !tbaa !5
  %13629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13630 = call i32 @s2n_print_stacktrace(ptr noundef %13629)
  %13631 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13632 = trunc i8 %13631 to i1
  br i1 %13632, label %13633, label %13655

13633:                                            ; preds = %13626
  %13634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13635 = call i32 @fileno(ptr noundef %13634) #11
  %13636 = call i32 @isatty(i32 noundef %13635) #11
  %13637 = icmp ne i32 %13636, 0
  br i1 %13637, label %13638, label %13655

13638:                                            ; preds = %13633
  %13639 = load i32, ptr %279, align 4, !tbaa !5
  %13640 = call ptr @__errno_location() #12
  store i32 %13639, ptr %13640, align 4, !tbaa !5
  %13641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13642 = load i32, ptr @test_count, align 4, !tbaa !5
  %13643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13644 = load i32, ptr %13643, align 4, !tbaa !5
  %13645 = call ptr @s2n_strerror(i32 noundef %13644, ptr noundef @.str.4)
  %13646 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13647 = load i32, ptr %13646, align 4, !tbaa !5
  %13648 = call ptr @s2n_strerror_debug(i32 noundef %13647, ptr noundef @.str.4)
  %13649 = call ptr @__errno_location() #12
  %13650 = load i32, ptr %13649, align 4, !tbaa !5
  %13651 = call ptr @strerror(i32 noundef %13650) #11
  %13652 = call ptr @__errno_location() #12
  %13653 = load i32, ptr %13652, align 4, !tbaa !5
  %13654 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13641, ptr noundef @.str.2, i32 noundef %13642, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 443, ptr noundef %13645, ptr noundef %13648, ptr noundef %13651, i32 noundef %13653) #11
  br label %13672

13655:                                            ; preds = %13633, %13626
  %13656 = load i32, ptr %279, align 4, !tbaa !5
  %13657 = call ptr @__errno_location() #12
  store i32 %13656, ptr %13657, align 4, !tbaa !5
  %13658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13659 = load i32, ptr @test_count, align 4, !tbaa !5
  %13660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13661 = load i32, ptr %13660, align 4, !tbaa !5
  %13662 = call ptr @s2n_strerror(i32 noundef %13661, ptr noundef @.str.4)
  %13663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13664 = load i32, ptr %13663, align 4, !tbaa !5
  %13665 = call ptr @s2n_strerror_debug(i32 noundef %13664, ptr noundef @.str.4)
  %13666 = call ptr @__errno_location() #12
  %13667 = load i32, ptr %13666, align 4, !tbaa !5
  %13668 = call ptr @strerror(i32 noundef %13667) #11
  %13669 = call ptr @__errno_location() #12
  %13670 = load i32, ptr %13669, align 4, !tbaa !5
  %13671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13658, ptr noundef @.str.5, i32 noundef %13659, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 443, ptr noundef %13662, ptr noundef %13665, ptr noundef %13668, i32 noundef %13670) #11
  br label %13672

13672:                                            ; preds = %13655, %13638
  call void @llvm.lifetime.end.p0(i64 4, ptr %279) #11
  br label %13673

13673:                                            ; preds = %13672
  br label %13674

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

13675:                                            ; No predecessors!
  br label %13676

13676:                                            ; preds = %13675
  br label %13677

13677:                                            ; preds = %13676, %13617
  br label %13678

13678:                                            ; preds = %13677
  br label %13679

13679:                                            ; preds = %13678
  br label %13680

13680:                                            ; preds = %13679
  %13681 = load i32, ptr @test_count, align 4, !tbaa !5
  %13682 = add nsw i32 %13681, 1
  store i32 %13682, ptr @test_count, align 4, !tbaa !5
  %13683 = load ptr, ptr %275, align 8, !tbaa !9
  %13684 = load ptr, ptr %13, align 8, !tbaa !9
  %13685 = call i32 @s2n_connection_append_psk(ptr noundef %13683, ptr noundef %13684)
  %13686 = icmp eq i32 %13685, -1
  br i1 %13686, label %13687, label %13740

13687:                                            ; preds = %13680
  br label %13688

13688:                                            ; preds = %13687
  br label %13689

13689:                                            ; preds = %13688
  call void @llvm.lifetime.start.p0(i64 4, ptr %280) #11
  %13690 = call ptr @__errno_location() #12
  %13691 = load i32, ptr %13690, align 4, !tbaa !5
  store i32 %13691, ptr %280, align 4, !tbaa !5
  %13692 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13693 = call i32 @s2n_print_stacktrace(ptr noundef %13692)
  %13694 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13695 = trunc i8 %13694 to i1
  br i1 %13695, label %13696, label %13718

13696:                                            ; preds = %13689
  %13697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13698 = call i32 @fileno(ptr noundef %13697) #11
  %13699 = call i32 @isatty(i32 noundef %13698) #11
  %13700 = icmp ne i32 %13699, 0
  br i1 %13700, label %13701, label %13718

13701:                                            ; preds = %13696
  %13702 = load i32, ptr %280, align 4, !tbaa !5
  %13703 = call ptr @__errno_location() #12
  store i32 %13702, ptr %13703, align 4, !tbaa !5
  %13704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13705 = load i32, ptr @test_count, align 4, !tbaa !5
  %13706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13707 = load i32, ptr %13706, align 4, !tbaa !5
  %13708 = call ptr @s2n_strerror(i32 noundef %13707, ptr noundef @.str.4)
  %13709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13710 = load i32, ptr %13709, align 4, !tbaa !5
  %13711 = call ptr @s2n_strerror_debug(i32 noundef %13710, ptr noundef @.str.4)
  %13712 = call ptr @__errno_location() #12
  %13713 = load i32, ptr %13712, align 4, !tbaa !5
  %13714 = call ptr @strerror(i32 noundef %13713) #11
  %13715 = call ptr @__errno_location() #12
  %13716 = load i32, ptr %13715, align 4, !tbaa !5
  %13717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13704, ptr noundef @.str.2, i32 noundef %13705, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 444, ptr noundef %13708, ptr noundef %13711, ptr noundef %13714, i32 noundef %13716) #11
  br label %13735

13718:                                            ; preds = %13696, %13689
  %13719 = load i32, ptr %280, align 4, !tbaa !5
  %13720 = call ptr @__errno_location() #12
  store i32 %13719, ptr %13720, align 4, !tbaa !5
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = load i32, ptr @test_count, align 4, !tbaa !5
  %13723 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13724 = load i32, ptr %13723, align 4, !tbaa !5
  %13725 = call ptr @s2n_strerror(i32 noundef %13724, ptr noundef @.str.4)
  %13726 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13727 = load i32, ptr %13726, align 4, !tbaa !5
  %13728 = call ptr @s2n_strerror_debug(i32 noundef %13727, ptr noundef @.str.4)
  %13729 = call ptr @__errno_location() #12
  %13730 = load i32, ptr %13729, align 4, !tbaa !5
  %13731 = call ptr @strerror(i32 noundef %13730) #11
  %13732 = call ptr @__errno_location() #12
  %13733 = load i32, ptr %13732, align 4, !tbaa !5
  %13734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13721, ptr noundef @.str.5, i32 noundef %13722, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 444, ptr noundef %13725, ptr noundef %13728, ptr noundef %13731, i32 noundef %13733) #11
  br label %13735

13735:                                            ; preds = %13718, %13701
  call void @llvm.lifetime.end.p0(i64 4, ptr %280) #11
  br label %13736

13736:                                            ; preds = %13735
  br label %13737

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

13738:                                            ; No predecessors!
  br label %13739

13739:                                            ; preds = %13738
  br label %13740

13740:                                            ; preds = %13739, %13680
  br label %13741

13741:                                            ; preds = %13740
  br label %13742

13742:                                            ; preds = %13741
  call void @llvm.lifetime.start.p0(i64 100, ptr %281) #11
  call void @llvm.memset.p0.i64(ptr align 16 %281, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %282) #11
  store i32 0, ptr %282, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %283) #11
  store i64 0, ptr %283, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %284) #11
  store i64 5, ptr %284, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %285) #11
  store i64 0, ptr %285, align 8, !tbaa !42
  br label %13743

13743:                                            ; preds = %14131, %13742
  %13744 = load i64, ptr %285, align 8, !tbaa !42
  %13745 = icmp ult i64 %13744, 5
  br i1 %13745, label %13747, label %13746

13746:                                            ; preds = %13743
  call void @llvm.lifetime.end.p0(i64 8, ptr %285) #11
  br label %14134

13747:                                            ; preds = %13743
  br label %13748

13748:                                            ; preds = %13747
  br label %13749

13749:                                            ; preds = %13748
  br label %13750

13750:                                            ; preds = %13749
  %13751 = load i32, ptr @test_count, align 4, !tbaa !5
  %13752 = add nsw i32 %13751, 1
  store i32 %13752, ptr @test_count, align 4, !tbaa !5
  %13753 = load ptr, ptr %274, align 8, !tbaa !9
  %13754 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %13755 = call i32 @s2n_send_early_data(ptr noundef %13753, ptr noundef %13754, i64 noundef 12, ptr noundef %283, ptr noundef %282)
  %13756 = icmp eq i32 %13755, -1
  br i1 %13756, label %13810, label %13757

13757:                                            ; preds = %13750
  br label %13758

13758:                                            ; preds = %13757
  br label %13759

13759:                                            ; preds = %13758
  call void @llvm.lifetime.start.p0(i64 4, ptr %286) #11
  %13760 = call ptr @__errno_location() #12
  %13761 = load i32, ptr %13760, align 4, !tbaa !5
  store i32 %13761, ptr %286, align 4, !tbaa !5
  %13762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13763 = call i32 @s2n_print_stacktrace(ptr noundef %13762)
  %13764 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13765 = trunc i8 %13764 to i1
  br i1 %13765, label %13766, label %13788

13766:                                            ; preds = %13759
  %13767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13768 = call i32 @fileno(ptr noundef %13767) #11
  %13769 = call i32 @isatty(i32 noundef %13768) #11
  %13770 = icmp ne i32 %13769, 0
  br i1 %13770, label %13771, label %13788

13771:                                            ; preds = %13766
  %13772 = load i32, ptr %286, align 4, !tbaa !5
  %13773 = call ptr @__errno_location() #12
  store i32 %13772, ptr %13773, align 4, !tbaa !5
  %13774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13775 = load i32, ptr @test_count, align 4, !tbaa !5
  %13776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13777 = load i32, ptr %13776, align 4, !tbaa !5
  %13778 = call ptr @s2n_strerror(i32 noundef %13777, ptr noundef @.str.4)
  %13779 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13780 = load i32, ptr %13779, align 4, !tbaa !5
  %13781 = call ptr @s2n_strerror_debug(i32 noundef %13780, ptr noundef @.str.4)
  %13782 = call ptr @__errno_location() #12
  %13783 = load i32, ptr %13782, align 4, !tbaa !5
  %13784 = call ptr @strerror(i32 noundef %13783) #11
  %13785 = call ptr @__errno_location() #12
  %13786 = load i32, ptr %13785, align 4, !tbaa !5
  %13787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13774, ptr noundef @.str.2, i32 noundef %13775, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 452, ptr noundef %13778, ptr noundef %13781, ptr noundef %13784, i32 noundef %13786) #11
  br label %13805

13788:                                            ; preds = %13766, %13759
  %13789 = load i32, ptr %286, align 4, !tbaa !5
  %13790 = call ptr @__errno_location() #12
  store i32 %13789, ptr %13790, align 4, !tbaa !5
  %13791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13792 = load i32, ptr @test_count, align 4, !tbaa !5
  %13793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13794 = load i32, ptr %13793, align 4, !tbaa !5
  %13795 = call ptr @s2n_strerror(i32 noundef %13794, ptr noundef @.str.4)
  %13796 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13797 = load i32, ptr %13796, align 4, !tbaa !5
  %13798 = call ptr @s2n_strerror_debug(i32 noundef %13797, ptr noundef @.str.4)
  %13799 = call ptr @__errno_location() #12
  %13800 = load i32, ptr %13799, align 4, !tbaa !5
  %13801 = call ptr @strerror(i32 noundef %13800) #11
  %13802 = call ptr @__errno_location() #12
  %13803 = load i32, ptr %13802, align 4, !tbaa !5
  %13804 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13791, ptr noundef @.str.5, i32 noundef %13792, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 452, ptr noundef %13795, ptr noundef %13798, ptr noundef %13801, i32 noundef %13803) #11
  br label %13805

13805:                                            ; preds = %13788, %13771
  call void @llvm.lifetime.end.p0(i64 4, ptr %286) #11
  br label %13806

13806:                                            ; preds = %13805
  br label %13807

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

13808:                                            ; No predecessors!
  br label %13809

13809:                                            ; preds = %13808
  br label %13810

13810:                                            ; preds = %13809, %13750
  br label %13811

13811:                                            ; preds = %13810
  br label %13812

13812:                                            ; preds = %13811
  br label %13813

13813:                                            ; preds = %13812
  %13814 = load i32, ptr @test_count, align 4, !tbaa !5
  %13815 = add nsw i32 %13814, 1
  store i32 %13815, ptr @test_count, align 4, !tbaa !5
  %13816 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13817 = load i32, ptr %13816, align 4, !tbaa !5
  %13818 = icmp eq i32 %13817, 201326592
  br i1 %13818, label %13872, label %13819

13819:                                            ; preds = %13813
  br label %13820

13820:                                            ; preds = %13819
  br label %13821

13821:                                            ; preds = %13820
  call void @llvm.lifetime.start.p0(i64 4, ptr %287) #11
  %13822 = call ptr @__errno_location() #12
  %13823 = load i32, ptr %13822, align 4, !tbaa !5
  store i32 %13823, ptr %287, align 4, !tbaa !5
  %13824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13825 = call i32 @s2n_print_stacktrace(ptr noundef %13824)
  %13826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13827 = trunc i8 %13826 to i1
  br i1 %13827, label %13828, label %13850

13828:                                            ; preds = %13821
  %13829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13830 = call i32 @fileno(ptr noundef %13829) #11
  %13831 = call i32 @isatty(i32 noundef %13830) #11
  %13832 = icmp ne i32 %13831, 0
  br i1 %13832, label %13833, label %13850

13833:                                            ; preds = %13828
  %13834 = load i32, ptr %287, align 4, !tbaa !5
  %13835 = call ptr @__errno_location() #12
  store i32 %13834, ptr %13835, align 4, !tbaa !5
  %13836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13837 = load i32, ptr @test_count, align 4, !tbaa !5
  %13838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13839 = load i32, ptr %13838, align 4, !tbaa !5
  %13840 = call ptr @s2n_strerror(i32 noundef %13839, ptr noundef @.str.4)
  %13841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13842 = load i32, ptr %13841, align 4, !tbaa !5
  %13843 = call ptr @s2n_strerror_debug(i32 noundef %13842, ptr noundef @.str.4)
  %13844 = call ptr @__errno_location() #12
  %13845 = load i32, ptr %13844, align 4, !tbaa !5
  %13846 = call ptr @strerror(i32 noundef %13845) #11
  %13847 = call ptr @__errno_location() #12
  %13848 = load i32, ptr %13847, align 4, !tbaa !5
  %13849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13836, ptr noundef @.str.2, i32 noundef %13837, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 452, ptr noundef %13840, ptr noundef %13843, ptr noundef %13846, i32 noundef %13848) #11
  br label %13867

13850:                                            ; preds = %13828, %13821
  %13851 = load i32, ptr %287, align 4, !tbaa !5
  %13852 = call ptr @__errno_location() #12
  store i32 %13851, ptr %13852, align 4, !tbaa !5
  %13853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13854 = load i32, ptr @test_count, align 4, !tbaa !5
  %13855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13856 = load i32, ptr %13855, align 4, !tbaa !5
  %13857 = call ptr @s2n_strerror(i32 noundef %13856, ptr noundef @.str.4)
  %13858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13859 = load i32, ptr %13858, align 4, !tbaa !5
  %13860 = call ptr @s2n_strerror_debug(i32 noundef %13859, ptr noundef @.str.4)
  %13861 = call ptr @__errno_location() #12
  %13862 = load i32, ptr %13861, align 4, !tbaa !5
  %13863 = call ptr @strerror(i32 noundef %13862) #11
  %13864 = call ptr @__errno_location() #12
  %13865 = load i32, ptr %13864, align 4, !tbaa !5
  %13866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13853, ptr noundef @.str.5, i32 noundef %13854, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 452, ptr noundef %13857, ptr noundef %13860, ptr noundef %13863, i32 noundef %13865) #11
  br label %13867

13867:                                            ; preds = %13850, %13833
  call void @llvm.lifetime.end.p0(i64 4, ptr %287) #11
  br label %13868

13868:                                            ; preds = %13867
  br label %13869

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

13870:                                            ; No predecessors!
  br label %13871

13871:                                            ; preds = %13870
  br label %13872

13872:                                            ; preds = %13871, %13813
  br label %13873

13873:                                            ; preds = %13872
  br label %13874

13874:                                            ; preds = %13873
  br label %13875

13875:                                            ; preds = %13874
  %13876 = load i32, ptr @test_count, align 4, !tbaa !5
  %13877 = add nsw i32 %13876, 1
  store i32 %13877, ptr @test_count, align 4, !tbaa !5
  %13878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13879 = load i32, ptr %13878, align 4, !tbaa !5
  %13880 = call ptr @s2n_strerror_debug(i32 noundef %13879, ptr noundef @.str.4)
  %13881 = icmp eq ptr %13880, null
  br i1 %13881, label %13882, label %13935

13882:                                            ; preds = %13875
  br label %13883

13883:                                            ; preds = %13882
  br label %13884

13884:                                            ; preds = %13883
  call void @llvm.lifetime.start.p0(i64 4, ptr %288) #11
  %13885 = call ptr @__errno_location() #12
  %13886 = load i32, ptr %13885, align 4, !tbaa !5
  store i32 %13886, ptr %288, align 4, !tbaa !5
  %13887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13888 = call i32 @s2n_print_stacktrace(ptr noundef %13887)
  %13889 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13890 = trunc i8 %13889 to i1
  br i1 %13890, label %13891, label %13913

13891:                                            ; preds = %13884
  %13892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13893 = call i32 @fileno(ptr noundef %13892) #11
  %13894 = call i32 @isatty(i32 noundef %13893) #11
  %13895 = icmp ne i32 %13894, 0
  br i1 %13895, label %13896, label %13913

13896:                                            ; preds = %13891
  %13897 = load i32, ptr %288, align 4, !tbaa !5
  %13898 = call ptr @__errno_location() #12
  store i32 %13897, ptr %13898, align 4, !tbaa !5
  %13899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13900 = load i32, ptr @test_count, align 4, !tbaa !5
  %13901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13902 = load i32, ptr %13901, align 4, !tbaa !5
  %13903 = call ptr @s2n_strerror(i32 noundef %13902, ptr noundef @.str.4)
  %13904 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13905 = load i32, ptr %13904, align 4, !tbaa !5
  %13906 = call ptr @s2n_strerror_debug(i32 noundef %13905, ptr noundef @.str.4)
  %13907 = call ptr @__errno_location() #12
  %13908 = load i32, ptr %13907, align 4, !tbaa !5
  %13909 = call ptr @strerror(i32 noundef %13908) #11
  %13910 = call ptr @__errno_location() #12
  %13911 = load i32, ptr %13910, align 4, !tbaa !5
  %13912 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13899, ptr noundef @.str.2, i32 noundef %13900, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 452, ptr noundef %13903, ptr noundef %13906, ptr noundef %13909, i32 noundef %13911) #11
  br label %13930

13913:                                            ; preds = %13891, %13884
  %13914 = load i32, ptr %288, align 4, !tbaa !5
  %13915 = call ptr @__errno_location() #12
  store i32 %13914, ptr %13915, align 4, !tbaa !5
  %13916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13917 = load i32, ptr @test_count, align 4, !tbaa !5
  %13918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13919 = load i32, ptr %13918, align 4, !tbaa !5
  %13920 = call ptr @s2n_strerror(i32 noundef %13919, ptr noundef @.str.4)
  %13921 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13922 = load i32, ptr %13921, align 4, !tbaa !5
  %13923 = call ptr @s2n_strerror_debug(i32 noundef %13922, ptr noundef @.str.4)
  %13924 = call ptr @__errno_location() #12
  %13925 = load i32, ptr %13924, align 4, !tbaa !5
  %13926 = call ptr @strerror(i32 noundef %13925) #11
  %13927 = call ptr @__errno_location() #12
  %13928 = load i32, ptr %13927, align 4, !tbaa !5
  %13929 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13916, ptr noundef @.str.5, i32 noundef %13917, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 452, ptr noundef %13920, ptr noundef %13923, ptr noundef %13926, i32 noundef %13928) #11
  br label %13930

13930:                                            ; preds = %13913, %13896
  call void @llvm.lifetime.end.p0(i64 4, ptr %288) #11
  br label %13931

13931:                                            ; preds = %13930
  br label %13932

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

13933:                                            ; No predecessors!
  br label %13934

13934:                                            ; preds = %13933
  br label %13935

13935:                                            ; preds = %13934, %13875
  br label %13936

13936:                                            ; preds = %13935
  br label %13937

13937:                                            ; preds = %13936
  br label %13938

13938:                                            ; preds = %13937
  br label %13939

13939:                                            ; preds = %13938
  br label %13940

13940:                                            ; preds = %13939
  %13941 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %13941, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %13942 = call ptr @__errno_location() #12
  store i32 0, ptr %13942, align 4, !tbaa !5
  br label %13943

13943:                                            ; preds = %13940
  br label %13944

13944:                                            ; preds = %13943
  br label %13945

13945:                                            ; preds = %13944
  br label %13946

13946:                                            ; preds = %13945
  br label %13947

13947:                                            ; preds = %13946
  %13948 = load i32, ptr @test_count, align 4, !tbaa !5
  %13949 = add nsw i32 %13948, 1
  store i32 %13949, ptr @test_count, align 4, !tbaa !5
  %13950 = load i32, ptr %282, align 4, !tbaa !5
  %13951 = icmp eq i32 %13950, 1
  br i1 %13951, label %14005, label %13952

13952:                                            ; preds = %13947
  br label %13953

13953:                                            ; preds = %13952
  br label %13954

13954:                                            ; preds = %13953
  call void @llvm.lifetime.start.p0(i64 4, ptr %289) #11
  %13955 = call ptr @__errno_location() #12
  %13956 = load i32, ptr %13955, align 4, !tbaa !5
  store i32 %13956, ptr %289, align 4, !tbaa !5
  %13957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13958 = call i32 @s2n_print_stacktrace(ptr noundef %13957)
  %13959 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13960 = trunc i8 %13959 to i1
  br i1 %13960, label %13961, label %13983

13961:                                            ; preds = %13954
  %13962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13963 = call i32 @fileno(ptr noundef %13962) #11
  %13964 = call i32 @isatty(i32 noundef %13963) #11
  %13965 = icmp ne i32 %13964, 0
  br i1 %13965, label %13966, label %13983

13966:                                            ; preds = %13961
  %13967 = load i32, ptr %289, align 4, !tbaa !5
  %13968 = call ptr @__errno_location() #12
  store i32 %13967, ptr %13968, align 4, !tbaa !5
  %13969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13970 = load i32, ptr @test_count, align 4, !tbaa !5
  %13971 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13972 = load i32, ptr %13971, align 4, !tbaa !5
  %13973 = call ptr @s2n_strerror(i32 noundef %13972, ptr noundef @.str.4)
  %13974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13975 = load i32, ptr %13974, align 4, !tbaa !5
  %13976 = call ptr @s2n_strerror_debug(i32 noundef %13975, ptr noundef @.str.4)
  %13977 = call ptr @__errno_location() #12
  %13978 = load i32, ptr %13977, align 4, !tbaa !5
  %13979 = call ptr @strerror(i32 noundef %13978) #11
  %13980 = call ptr @__errno_location() #12
  %13981 = load i32, ptr %13980, align 4, !tbaa !5
  %13982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13969, ptr noundef @.str.2, i32 noundef %13970, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 453, ptr noundef %13973, ptr noundef %13976, ptr noundef %13979, i32 noundef %13981) #11
  br label %14000

13983:                                            ; preds = %13961, %13954
  %13984 = load i32, ptr %289, align 4, !tbaa !5
  %13985 = call ptr @__errno_location() #12
  store i32 %13984, ptr %13985, align 4, !tbaa !5
  %13986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13987 = load i32, ptr @test_count, align 4, !tbaa !5
  %13988 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13989 = load i32, ptr %13988, align 4, !tbaa !5
  %13990 = call ptr @s2n_strerror(i32 noundef %13989, ptr noundef @.str.4)
  %13991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %13992 = load i32, ptr %13991, align 4, !tbaa !5
  %13993 = call ptr @s2n_strerror_debug(i32 noundef %13992, ptr noundef @.str.4)
  %13994 = call ptr @__errno_location() #12
  %13995 = load i32, ptr %13994, align 4, !tbaa !5
  %13996 = call ptr @strerror(i32 noundef %13995) #11
  %13997 = call ptr @__errno_location() #12
  %13998 = load i32, ptr %13997, align 4, !tbaa !5
  %13999 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13986, ptr noundef @.str.5, i32 noundef %13987, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 453, ptr noundef %13990, ptr noundef %13993, ptr noundef %13996, i32 noundef %13998) #11
  br label %14000

14000:                                            ; preds = %13983, %13966
  call void @llvm.lifetime.end.p0(i64 4, ptr %289) #11
  br label %14001

14001:                                            ; preds = %14000
  br label %14002

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

14003:                                            ; No predecessors!
  br label %14004

14004:                                            ; preds = %14003
  br label %14005

14005:                                            ; preds = %14004, %13947
  br label %14006

14006:                                            ; preds = %14005
  br label %14007

14007:                                            ; preds = %14006
  br label %14008

14008:                                            ; preds = %14007
  %14009 = load i32, ptr @test_count, align 4, !tbaa !5
  %14010 = add nsw i32 %14009, 1
  store i32 %14010, ptr @test_count, align 4, !tbaa !5
  %14011 = load ptr, ptr %274, align 8, !tbaa !9
  %14012 = call i32 @s2n_conn_get_current_message_type(ptr noundef %14011)
  %14013 = icmp eq i32 %14012, 1
  br i1 %14013, label %14067, label %14014

14014:                                            ; preds = %14008
  br label %14015

14015:                                            ; preds = %14014
  br label %14016

14016:                                            ; preds = %14015
  call void @llvm.lifetime.start.p0(i64 4, ptr %290) #11
  %14017 = call ptr @__errno_location() #12
  %14018 = load i32, ptr %14017, align 4, !tbaa !5
  store i32 %14018, ptr %290, align 4, !tbaa !5
  %14019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14020 = call i32 @s2n_print_stacktrace(ptr noundef %14019)
  %14021 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14022 = trunc i8 %14021 to i1
  br i1 %14022, label %14023, label %14045

14023:                                            ; preds = %14016
  %14024 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14025 = call i32 @fileno(ptr noundef %14024) #11
  %14026 = call i32 @isatty(i32 noundef %14025) #11
  %14027 = icmp ne i32 %14026, 0
  br i1 %14027, label %14028, label %14045

14028:                                            ; preds = %14023
  %14029 = load i32, ptr %290, align 4, !tbaa !5
  %14030 = call ptr @__errno_location() #12
  store i32 %14029, ptr %14030, align 4, !tbaa !5
  %14031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14032 = load i32, ptr @test_count, align 4, !tbaa !5
  %14033 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14034 = load i32, ptr %14033, align 4, !tbaa !5
  %14035 = call ptr @s2n_strerror(i32 noundef %14034, ptr noundef @.str.4)
  %14036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14037 = load i32, ptr %14036, align 4, !tbaa !5
  %14038 = call ptr @s2n_strerror_debug(i32 noundef %14037, ptr noundef @.str.4)
  %14039 = call ptr @__errno_location() #12
  %14040 = load i32, ptr %14039, align 4, !tbaa !5
  %14041 = call ptr @strerror(i32 noundef %14040) #11
  %14042 = call ptr @__errno_location() #12
  %14043 = load i32, ptr %14042, align 4, !tbaa !5
  %14044 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14031, ptr noundef @.str.2, i32 noundef %14032, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 453, ptr noundef %14035, ptr noundef %14038, ptr noundef %14041, i32 noundef %14043) #11
  br label %14062

14045:                                            ; preds = %14023, %14016
  %14046 = load i32, ptr %290, align 4, !tbaa !5
  %14047 = call ptr @__errno_location() #12
  store i32 %14046, ptr %14047, align 4, !tbaa !5
  %14048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14049 = load i32, ptr @test_count, align 4, !tbaa !5
  %14050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14051 = load i32, ptr %14050, align 4, !tbaa !5
  %14052 = call ptr @s2n_strerror(i32 noundef %14051, ptr noundef @.str.4)
  %14053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14054 = load i32, ptr %14053, align 4, !tbaa !5
  %14055 = call ptr @s2n_strerror_debug(i32 noundef %14054, ptr noundef @.str.4)
  %14056 = call ptr @__errno_location() #12
  %14057 = load i32, ptr %14056, align 4, !tbaa !5
  %14058 = call ptr @strerror(i32 noundef %14057) #11
  %14059 = call ptr @__errno_location() #12
  %14060 = load i32, ptr %14059, align 4, !tbaa !5
  %14061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14048, ptr noundef @.str.5, i32 noundef %14049, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 453, ptr noundef %14052, ptr noundef %14055, ptr noundef %14058, i32 noundef %14060) #11
  br label %14062

14062:                                            ; preds = %14045, %14028
  call void @llvm.lifetime.end.p0(i64 4, ptr %290) #11
  br label %14063

14063:                                            ; preds = %14062
  br label %14064

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

14065:                                            ; No predecessors!
  br label %14066

14066:                                            ; preds = %14065
  br label %14067

14067:                                            ; preds = %14066, %14008
  br label %14068

14068:                                            ; preds = %14067
  br label %14069

14069:                                            ; preds = %14068
  br label %14070

14070:                                            ; preds = %14069
  %14071 = load i32, ptr @test_count, align 4, !tbaa !5
  %14072 = add nsw i32 %14071, 1
  store i32 %14072, ptr @test_count, align 4, !tbaa !5
  %14073 = load i64, ptr %283, align 8, !tbaa !42
  %14074 = icmp eq i64 %14073, 12
  br i1 %14074, label %14128, label %14075

14075:                                            ; preds = %14070
  br label %14076

14076:                                            ; preds = %14075
  br label %14077

14077:                                            ; preds = %14076
  call void @llvm.lifetime.start.p0(i64 4, ptr %291) #11
  %14078 = call ptr @__errno_location() #12
  %14079 = load i32, ptr %14078, align 4, !tbaa !5
  store i32 %14079, ptr %291, align 4, !tbaa !5
  %14080 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14081 = call i32 @s2n_print_stacktrace(ptr noundef %14080)
  %14082 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14083 = trunc i8 %14082 to i1
  br i1 %14083, label %14084, label %14106

14084:                                            ; preds = %14077
  %14085 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14086 = call i32 @fileno(ptr noundef %14085) #11
  %14087 = call i32 @isatty(i32 noundef %14086) #11
  %14088 = icmp ne i32 %14087, 0
  br i1 %14088, label %14089, label %14106

14089:                                            ; preds = %14084
  %14090 = load i32, ptr %291, align 4, !tbaa !5
  %14091 = call ptr @__errno_location() #12
  store i32 %14090, ptr %14091, align 4, !tbaa !5
  %14092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14093 = load i32, ptr @test_count, align 4, !tbaa !5
  %14094 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14095 = load i32, ptr %14094, align 4, !tbaa !5
  %14096 = call ptr @s2n_strerror(i32 noundef %14095, ptr noundef @.str.4)
  %14097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14098 = load i32, ptr %14097, align 4, !tbaa !5
  %14099 = call ptr @s2n_strerror_debug(i32 noundef %14098, ptr noundef @.str.4)
  %14100 = call ptr @__errno_location() #12
  %14101 = load i32, ptr %14100, align 4, !tbaa !5
  %14102 = call ptr @strerror(i32 noundef %14101) #11
  %14103 = call ptr @__errno_location() #12
  %14104 = load i32, ptr %14103, align 4, !tbaa !5
  %14105 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14092, ptr noundef @.str.2, i32 noundef %14093, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 454, ptr noundef %14096, ptr noundef %14099, ptr noundef %14102, i32 noundef %14104) #11
  br label %14123

14106:                                            ; preds = %14084, %14077
  %14107 = load i32, ptr %291, align 4, !tbaa !5
  %14108 = call ptr @__errno_location() #12
  store i32 %14107, ptr %14108, align 4, !tbaa !5
  %14109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14110 = load i32, ptr @test_count, align 4, !tbaa !5
  %14111 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14112 = load i32, ptr %14111, align 4, !tbaa !5
  %14113 = call ptr @s2n_strerror(i32 noundef %14112, ptr noundef @.str.4)
  %14114 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14115 = load i32, ptr %14114, align 4, !tbaa !5
  %14116 = call ptr @s2n_strerror_debug(i32 noundef %14115, ptr noundef @.str.4)
  %14117 = call ptr @__errno_location() #12
  %14118 = load i32, ptr %14117, align 4, !tbaa !5
  %14119 = call ptr @strerror(i32 noundef %14118) #11
  %14120 = call ptr @__errno_location() #12
  %14121 = load i32, ptr %14120, align 4, !tbaa !5
  %14122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14109, ptr noundef @.str.5, i32 noundef %14110, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 454, ptr noundef %14113, ptr noundef %14116, ptr noundef %14119, i32 noundef %14121) #11
  br label %14123

14123:                                            ; preds = %14106, %14089
  call void @llvm.lifetime.end.p0(i64 4, ptr %291) #11
  br label %14124

14124:                                            ; preds = %14123
  br label %14125

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

14126:                                            ; No predecessors!
  br label %14127

14127:                                            ; preds = %14126
  br label %14128

14128:                                            ; preds = %14127, %14070
  br label %14129

14129:                                            ; preds = %14128
  br label %14130

14130:                                            ; preds = %14129
  br label %14131

14131:                                            ; preds = %14130
  %14132 = load i64, ptr %285, align 8, !tbaa !42
  %14133 = add i64 %14132, 1
  store i64 %14133, ptr %285, align 8, !tbaa !42
  br label %13743, !llvm.loop !48

14134:                                            ; preds = %13746
  br label %14135

14135:                                            ; preds = %14134
  br label %14136

14136:                                            ; preds = %14135
  br label %14137

14137:                                            ; preds = %14136
  %14138 = load i32, ptr @test_count, align 4, !tbaa !5
  %14139 = add nsw i32 %14138, 1
  store i32 %14139, ptr @test_count, align 4, !tbaa !5
  %14140 = load ptr, ptr %275, align 8, !tbaa !9
  %14141 = getelementptr inbounds [100 x i8], ptr %281, i64 0, i64 0
  %14142 = call i32 @s2n_recv_early_data(ptr noundef %14140, ptr noundef %14141, i64 noundef 100, ptr noundef %283, ptr noundef %282)
  %14143 = icmp eq i32 %14142, -1
  br i1 %14143, label %14197, label %14144

14144:                                            ; preds = %14137
  br label %14145

14145:                                            ; preds = %14144
  br label %14146

14146:                                            ; preds = %14145
  call void @llvm.lifetime.start.p0(i64 4, ptr %292) #11
  %14147 = call ptr @__errno_location() #12
  %14148 = load i32, ptr %14147, align 4, !tbaa !5
  store i32 %14148, ptr %292, align 4, !tbaa !5
  %14149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14150 = call i32 @s2n_print_stacktrace(ptr noundef %14149)
  %14151 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14152 = trunc i8 %14151 to i1
  br i1 %14152, label %14153, label %14175

14153:                                            ; preds = %14146
  %14154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14155 = call i32 @fileno(ptr noundef %14154) #11
  %14156 = call i32 @isatty(i32 noundef %14155) #11
  %14157 = icmp ne i32 %14156, 0
  br i1 %14157, label %14158, label %14175

14158:                                            ; preds = %14153
  %14159 = load i32, ptr %292, align 4, !tbaa !5
  %14160 = call ptr @__errno_location() #12
  store i32 %14159, ptr %14160, align 4, !tbaa !5
  %14161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14162 = load i32, ptr @test_count, align 4, !tbaa !5
  %14163 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14164 = load i32, ptr %14163, align 4, !tbaa !5
  %14165 = call ptr @s2n_strerror(i32 noundef %14164, ptr noundef @.str.4)
  %14166 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14167 = load i32, ptr %14166, align 4, !tbaa !5
  %14168 = call ptr @s2n_strerror_debug(i32 noundef %14167, ptr noundef @.str.4)
  %14169 = call ptr @__errno_location() #12
  %14170 = load i32, ptr %14169, align 4, !tbaa !5
  %14171 = call ptr @strerror(i32 noundef %14170) #11
  %14172 = call ptr @__errno_location() #12
  %14173 = load i32, ptr %14172, align 4, !tbaa !5
  %14174 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14161, ptr noundef @.str.2, i32 noundef %14162, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 457, ptr noundef %14165, ptr noundef %14168, ptr noundef %14171, i32 noundef %14173) #11
  br label %14192

14175:                                            ; preds = %14153, %14146
  %14176 = load i32, ptr %292, align 4, !tbaa !5
  %14177 = call ptr @__errno_location() #12
  store i32 %14176, ptr %14177, align 4, !tbaa !5
  %14178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14179 = load i32, ptr @test_count, align 4, !tbaa !5
  %14180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14181 = load i32, ptr %14180, align 4, !tbaa !5
  %14182 = call ptr @s2n_strerror(i32 noundef %14181, ptr noundef @.str.4)
  %14183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14184 = load i32, ptr %14183, align 4, !tbaa !5
  %14185 = call ptr @s2n_strerror_debug(i32 noundef %14184, ptr noundef @.str.4)
  %14186 = call ptr @__errno_location() #12
  %14187 = load i32, ptr %14186, align 4, !tbaa !5
  %14188 = call ptr @strerror(i32 noundef %14187) #11
  %14189 = call ptr @__errno_location() #12
  %14190 = load i32, ptr %14189, align 4, !tbaa !5
  %14191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14178, ptr noundef @.str.5, i32 noundef %14179, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 457, ptr noundef %14182, ptr noundef %14185, ptr noundef %14188, i32 noundef %14190) #11
  br label %14192

14192:                                            ; preds = %14175, %14158
  call void @llvm.lifetime.end.p0(i64 4, ptr %292) #11
  br label %14193

14193:                                            ; preds = %14192
  br label %14194

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

14195:                                            ; No predecessors!
  br label %14196

14196:                                            ; preds = %14195
  br label %14197

14197:                                            ; preds = %14196, %14137
  br label %14198

14198:                                            ; preds = %14197
  br label %14199

14199:                                            ; preds = %14198
  br label %14200

14200:                                            ; preds = %14199
  %14201 = load i32, ptr @test_count, align 4, !tbaa !5
  %14202 = add nsw i32 %14201, 1
  store i32 %14202, ptr @test_count, align 4, !tbaa !5
  %14203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14204 = load i32, ptr %14203, align 4, !tbaa !5
  %14205 = icmp eq i32 %14204, 201326592
  br i1 %14205, label %14259, label %14206

14206:                                            ; preds = %14200
  br label %14207

14207:                                            ; preds = %14206
  br label %14208

14208:                                            ; preds = %14207
  call void @llvm.lifetime.start.p0(i64 4, ptr %293) #11
  %14209 = call ptr @__errno_location() #12
  %14210 = load i32, ptr %14209, align 4, !tbaa !5
  store i32 %14210, ptr %293, align 4, !tbaa !5
  %14211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14212 = call i32 @s2n_print_stacktrace(ptr noundef %14211)
  %14213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14214 = trunc i8 %14213 to i1
  br i1 %14214, label %14215, label %14237

14215:                                            ; preds = %14208
  %14216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14217 = call i32 @fileno(ptr noundef %14216) #11
  %14218 = call i32 @isatty(i32 noundef %14217) #11
  %14219 = icmp ne i32 %14218, 0
  br i1 %14219, label %14220, label %14237

14220:                                            ; preds = %14215
  %14221 = load i32, ptr %293, align 4, !tbaa !5
  %14222 = call ptr @__errno_location() #12
  store i32 %14221, ptr %14222, align 4, !tbaa !5
  %14223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14224 = load i32, ptr @test_count, align 4, !tbaa !5
  %14225 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14226 = load i32, ptr %14225, align 4, !tbaa !5
  %14227 = call ptr @s2n_strerror(i32 noundef %14226, ptr noundef @.str.4)
  %14228 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14229 = load i32, ptr %14228, align 4, !tbaa !5
  %14230 = call ptr @s2n_strerror_debug(i32 noundef %14229, ptr noundef @.str.4)
  %14231 = call ptr @__errno_location() #12
  %14232 = load i32, ptr %14231, align 4, !tbaa !5
  %14233 = call ptr @strerror(i32 noundef %14232) #11
  %14234 = call ptr @__errno_location() #12
  %14235 = load i32, ptr %14234, align 4, !tbaa !5
  %14236 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14223, ptr noundef @.str.2, i32 noundef %14224, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 457, ptr noundef %14227, ptr noundef %14230, ptr noundef %14233, i32 noundef %14235) #11
  br label %14254

14237:                                            ; preds = %14215, %14208
  %14238 = load i32, ptr %293, align 4, !tbaa !5
  %14239 = call ptr @__errno_location() #12
  store i32 %14238, ptr %14239, align 4, !tbaa !5
  %14240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14241 = load i32, ptr @test_count, align 4, !tbaa !5
  %14242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14243 = load i32, ptr %14242, align 4, !tbaa !5
  %14244 = call ptr @s2n_strerror(i32 noundef %14243, ptr noundef @.str.4)
  %14245 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14246 = load i32, ptr %14245, align 4, !tbaa !5
  %14247 = call ptr @s2n_strerror_debug(i32 noundef %14246, ptr noundef @.str.4)
  %14248 = call ptr @__errno_location() #12
  %14249 = load i32, ptr %14248, align 4, !tbaa !5
  %14250 = call ptr @strerror(i32 noundef %14249) #11
  %14251 = call ptr @__errno_location() #12
  %14252 = load i32, ptr %14251, align 4, !tbaa !5
  %14253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14240, ptr noundef @.str.5, i32 noundef %14241, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 457, ptr noundef %14244, ptr noundef %14247, ptr noundef %14250, i32 noundef %14252) #11
  br label %14254

14254:                                            ; preds = %14237, %14220
  call void @llvm.lifetime.end.p0(i64 4, ptr %293) #11
  br label %14255

14255:                                            ; preds = %14254
  br label %14256

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

14257:                                            ; No predecessors!
  br label %14258

14258:                                            ; preds = %14257
  br label %14259

14259:                                            ; preds = %14258, %14200
  br label %14260

14260:                                            ; preds = %14259
  br label %14261

14261:                                            ; preds = %14260
  br label %14262

14262:                                            ; preds = %14261
  %14263 = load i32, ptr @test_count, align 4, !tbaa !5
  %14264 = add nsw i32 %14263, 1
  store i32 %14264, ptr @test_count, align 4, !tbaa !5
  %14265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14266 = load i32, ptr %14265, align 4, !tbaa !5
  %14267 = call ptr @s2n_strerror_debug(i32 noundef %14266, ptr noundef @.str.4)
  %14268 = icmp eq ptr %14267, null
  br i1 %14268, label %14269, label %14322

14269:                                            ; preds = %14262
  br label %14270

14270:                                            ; preds = %14269
  br label %14271

14271:                                            ; preds = %14270
  call void @llvm.lifetime.start.p0(i64 4, ptr %294) #11
  %14272 = call ptr @__errno_location() #12
  %14273 = load i32, ptr %14272, align 4, !tbaa !5
  store i32 %14273, ptr %294, align 4, !tbaa !5
  %14274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14275 = call i32 @s2n_print_stacktrace(ptr noundef %14274)
  %14276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14277 = trunc i8 %14276 to i1
  br i1 %14277, label %14278, label %14300

14278:                                            ; preds = %14271
  %14279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14280 = call i32 @fileno(ptr noundef %14279) #11
  %14281 = call i32 @isatty(i32 noundef %14280) #11
  %14282 = icmp ne i32 %14281, 0
  br i1 %14282, label %14283, label %14300

14283:                                            ; preds = %14278
  %14284 = load i32, ptr %294, align 4, !tbaa !5
  %14285 = call ptr @__errno_location() #12
  store i32 %14284, ptr %14285, align 4, !tbaa !5
  %14286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14287 = load i32, ptr @test_count, align 4, !tbaa !5
  %14288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14289 = load i32, ptr %14288, align 4, !tbaa !5
  %14290 = call ptr @s2n_strerror(i32 noundef %14289, ptr noundef @.str.4)
  %14291 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14292 = load i32, ptr %14291, align 4, !tbaa !5
  %14293 = call ptr @s2n_strerror_debug(i32 noundef %14292, ptr noundef @.str.4)
  %14294 = call ptr @__errno_location() #12
  %14295 = load i32, ptr %14294, align 4, !tbaa !5
  %14296 = call ptr @strerror(i32 noundef %14295) #11
  %14297 = call ptr @__errno_location() #12
  %14298 = load i32, ptr %14297, align 4, !tbaa !5
  %14299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14286, ptr noundef @.str.2, i32 noundef %14287, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 457, ptr noundef %14290, ptr noundef %14293, ptr noundef %14296, i32 noundef %14298) #11
  br label %14317

14300:                                            ; preds = %14278, %14271
  %14301 = load i32, ptr %294, align 4, !tbaa !5
  %14302 = call ptr @__errno_location() #12
  store i32 %14301, ptr %14302, align 4, !tbaa !5
  %14303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14304 = load i32, ptr @test_count, align 4, !tbaa !5
  %14305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14306 = load i32, ptr %14305, align 4, !tbaa !5
  %14307 = call ptr @s2n_strerror(i32 noundef %14306, ptr noundef @.str.4)
  %14308 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14309 = load i32, ptr %14308, align 4, !tbaa !5
  %14310 = call ptr @s2n_strerror_debug(i32 noundef %14309, ptr noundef @.str.4)
  %14311 = call ptr @__errno_location() #12
  %14312 = load i32, ptr %14311, align 4, !tbaa !5
  %14313 = call ptr @strerror(i32 noundef %14312) #11
  %14314 = call ptr @__errno_location() #12
  %14315 = load i32, ptr %14314, align 4, !tbaa !5
  %14316 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14303, ptr noundef @.str.5, i32 noundef %14304, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 457, ptr noundef %14307, ptr noundef %14310, ptr noundef %14313, i32 noundef %14315) #11
  br label %14317

14317:                                            ; preds = %14300, %14283
  call void @llvm.lifetime.end.p0(i64 4, ptr %294) #11
  br label %14318

14318:                                            ; preds = %14317
  br label %14319

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

14320:                                            ; No predecessors!
  br label %14321

14321:                                            ; preds = %14320
  br label %14322

14322:                                            ; preds = %14321, %14262
  br label %14323

14323:                                            ; preds = %14322
  br label %14324

14324:                                            ; preds = %14323
  br label %14325

14325:                                            ; preds = %14324
  br label %14326

14326:                                            ; preds = %14325
  br label %14327

14327:                                            ; preds = %14326
  %14328 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %14328, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %14329 = call ptr @__errno_location() #12
  store i32 0, ptr %14329, align 4, !tbaa !5
  br label %14330

14330:                                            ; preds = %14327
  br label %14331

14331:                                            ; preds = %14330
  br label %14332

14332:                                            ; preds = %14331
  br label %14333

14333:                                            ; preds = %14332
  br label %14334

14334:                                            ; preds = %14333
  %14335 = load i32, ptr @test_count, align 4, !tbaa !5
  %14336 = add nsw i32 %14335, 1
  store i32 %14336, ptr @test_count, align 4, !tbaa !5
  %14337 = load i32, ptr %282, align 4, !tbaa !5
  %14338 = icmp eq i32 %14337, 1
  br i1 %14338, label %14392, label %14339

14339:                                            ; preds = %14334
  br label %14340

14340:                                            ; preds = %14339
  br label %14341

14341:                                            ; preds = %14340
  call void @llvm.lifetime.start.p0(i64 4, ptr %295) #11
  %14342 = call ptr @__errno_location() #12
  %14343 = load i32, ptr %14342, align 4, !tbaa !5
  store i32 %14343, ptr %295, align 4, !tbaa !5
  %14344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14345 = call i32 @s2n_print_stacktrace(ptr noundef %14344)
  %14346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14347 = trunc i8 %14346 to i1
  br i1 %14347, label %14348, label %14370

14348:                                            ; preds = %14341
  %14349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14350 = call i32 @fileno(ptr noundef %14349) #11
  %14351 = call i32 @isatty(i32 noundef %14350) #11
  %14352 = icmp ne i32 %14351, 0
  br i1 %14352, label %14353, label %14370

14353:                                            ; preds = %14348
  %14354 = load i32, ptr %295, align 4, !tbaa !5
  %14355 = call ptr @__errno_location() #12
  store i32 %14354, ptr %14355, align 4, !tbaa !5
  %14356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14357 = load i32, ptr @test_count, align 4, !tbaa !5
  %14358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14359 = load i32, ptr %14358, align 4, !tbaa !5
  %14360 = call ptr @s2n_strerror(i32 noundef %14359, ptr noundef @.str.4)
  %14361 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14362 = load i32, ptr %14361, align 4, !tbaa !5
  %14363 = call ptr @s2n_strerror_debug(i32 noundef %14362, ptr noundef @.str.4)
  %14364 = call ptr @__errno_location() #12
  %14365 = load i32, ptr %14364, align 4, !tbaa !5
  %14366 = call ptr @strerror(i32 noundef %14365) #11
  %14367 = call ptr @__errno_location() #12
  %14368 = load i32, ptr %14367, align 4, !tbaa !5
  %14369 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14356, ptr noundef @.str.2, i32 noundef %14357, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 458, ptr noundef %14360, ptr noundef %14363, ptr noundef %14366, i32 noundef %14368) #11
  br label %14387

14370:                                            ; preds = %14348, %14341
  %14371 = load i32, ptr %295, align 4, !tbaa !5
  %14372 = call ptr @__errno_location() #12
  store i32 %14371, ptr %14372, align 4, !tbaa !5
  %14373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14374 = load i32, ptr @test_count, align 4, !tbaa !5
  %14375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14376 = load i32, ptr %14375, align 4, !tbaa !5
  %14377 = call ptr @s2n_strerror(i32 noundef %14376, ptr noundef @.str.4)
  %14378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14379 = load i32, ptr %14378, align 4, !tbaa !5
  %14380 = call ptr @s2n_strerror_debug(i32 noundef %14379, ptr noundef @.str.4)
  %14381 = call ptr @__errno_location() #12
  %14382 = load i32, ptr %14381, align 4, !tbaa !5
  %14383 = call ptr @strerror(i32 noundef %14382) #11
  %14384 = call ptr @__errno_location() #12
  %14385 = load i32, ptr %14384, align 4, !tbaa !5
  %14386 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14373, ptr noundef @.str.5, i32 noundef %14374, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 458, ptr noundef %14377, ptr noundef %14380, ptr noundef %14383, i32 noundef %14385) #11
  br label %14387

14387:                                            ; preds = %14370, %14353
  call void @llvm.lifetime.end.p0(i64 4, ptr %295) #11
  br label %14388

14388:                                            ; preds = %14387
  br label %14389

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

14390:                                            ; No predecessors!
  br label %14391

14391:                                            ; preds = %14390
  br label %14392

14392:                                            ; preds = %14391, %14334
  br label %14393

14393:                                            ; preds = %14392
  br label %14394

14394:                                            ; preds = %14393
  br label %14395

14395:                                            ; preds = %14394
  %14396 = load i32, ptr @test_count, align 4, !tbaa !5
  %14397 = add nsw i32 %14396, 1
  store i32 %14397, ptr @test_count, align 4, !tbaa !5
  %14398 = load ptr, ptr %275, align 8, !tbaa !9
  %14399 = call i32 @s2n_conn_get_current_message_type(ptr noundef %14398)
  %14400 = icmp eq i32 %14399, 19
  br i1 %14400, label %14454, label %14401

14401:                                            ; preds = %14395
  br label %14402

14402:                                            ; preds = %14401
  br label %14403

14403:                                            ; preds = %14402
  call void @llvm.lifetime.start.p0(i64 4, ptr %296) #11
  %14404 = call ptr @__errno_location() #12
  %14405 = load i32, ptr %14404, align 4, !tbaa !5
  store i32 %14405, ptr %296, align 4, !tbaa !5
  %14406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14407 = call i32 @s2n_print_stacktrace(ptr noundef %14406)
  %14408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14409 = trunc i8 %14408 to i1
  br i1 %14409, label %14410, label %14432

14410:                                            ; preds = %14403
  %14411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14412 = call i32 @fileno(ptr noundef %14411) #11
  %14413 = call i32 @isatty(i32 noundef %14412) #11
  %14414 = icmp ne i32 %14413, 0
  br i1 %14414, label %14415, label %14432

14415:                                            ; preds = %14410
  %14416 = load i32, ptr %296, align 4, !tbaa !5
  %14417 = call ptr @__errno_location() #12
  store i32 %14416, ptr %14417, align 4, !tbaa !5
  %14418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14419 = load i32, ptr @test_count, align 4, !tbaa !5
  %14420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14421 = load i32, ptr %14420, align 4, !tbaa !5
  %14422 = call ptr @s2n_strerror(i32 noundef %14421, ptr noundef @.str.4)
  %14423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14424 = load i32, ptr %14423, align 4, !tbaa !5
  %14425 = call ptr @s2n_strerror_debug(i32 noundef %14424, ptr noundef @.str.4)
  %14426 = call ptr @__errno_location() #12
  %14427 = load i32, ptr %14426, align 4, !tbaa !5
  %14428 = call ptr @strerror(i32 noundef %14427) #11
  %14429 = call ptr @__errno_location() #12
  %14430 = load i32, ptr %14429, align 4, !tbaa !5
  %14431 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14418, ptr noundef @.str.2, i32 noundef %14419, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 458, ptr noundef %14422, ptr noundef %14425, ptr noundef %14428, i32 noundef %14430) #11
  br label %14449

14432:                                            ; preds = %14410, %14403
  %14433 = load i32, ptr %296, align 4, !tbaa !5
  %14434 = call ptr @__errno_location() #12
  store i32 %14433, ptr %14434, align 4, !tbaa !5
  %14435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14436 = load i32, ptr @test_count, align 4, !tbaa !5
  %14437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14438 = load i32, ptr %14437, align 4, !tbaa !5
  %14439 = call ptr @s2n_strerror(i32 noundef %14438, ptr noundef @.str.4)
  %14440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14441 = load i32, ptr %14440, align 4, !tbaa !5
  %14442 = call ptr @s2n_strerror_debug(i32 noundef %14441, ptr noundef @.str.4)
  %14443 = call ptr @__errno_location() #12
  %14444 = load i32, ptr %14443, align 4, !tbaa !5
  %14445 = call ptr @strerror(i32 noundef %14444) #11
  %14446 = call ptr @__errno_location() #12
  %14447 = load i32, ptr %14446, align 4, !tbaa !5
  %14448 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14435, ptr noundef @.str.5, i32 noundef %14436, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 458, ptr noundef %14439, ptr noundef %14442, ptr noundef %14445, i32 noundef %14447) #11
  br label %14449

14449:                                            ; preds = %14432, %14415
  call void @llvm.lifetime.end.p0(i64 4, ptr %296) #11
  br label %14450

14450:                                            ; preds = %14449
  br label %14451

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

14452:                                            ; No predecessors!
  br label %14453

14453:                                            ; preds = %14452
  br label %14454

14454:                                            ; preds = %14453, %14395
  br label %14455

14455:                                            ; preds = %14454
  br label %14456

14456:                                            ; preds = %14455
  br label %14457

14457:                                            ; preds = %14456
  %14458 = load i32, ptr @test_count, align 4, !tbaa !5
  %14459 = add nsw i32 %14458, 1
  store i32 %14459, ptr @test_count, align 4, !tbaa !5
  %14460 = load i64, ptr %283, align 8, !tbaa !42
  %14461 = icmp eq i64 %14460, 60
  br i1 %14461, label %14515, label %14462

14462:                                            ; preds = %14457
  br label %14463

14463:                                            ; preds = %14462
  br label %14464

14464:                                            ; preds = %14463
  call void @llvm.lifetime.start.p0(i64 4, ptr %297) #11
  %14465 = call ptr @__errno_location() #12
  %14466 = load i32, ptr %14465, align 4, !tbaa !5
  store i32 %14466, ptr %297, align 4, !tbaa !5
  %14467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14468 = call i32 @s2n_print_stacktrace(ptr noundef %14467)
  %14469 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14470 = trunc i8 %14469 to i1
  br i1 %14470, label %14471, label %14493

14471:                                            ; preds = %14464
  %14472 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14473 = call i32 @fileno(ptr noundef %14472) #11
  %14474 = call i32 @isatty(i32 noundef %14473) #11
  %14475 = icmp ne i32 %14474, 0
  br i1 %14475, label %14476, label %14493

14476:                                            ; preds = %14471
  %14477 = load i32, ptr %297, align 4, !tbaa !5
  %14478 = call ptr @__errno_location() #12
  store i32 %14477, ptr %14478, align 4, !tbaa !5
  %14479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14480 = load i32, ptr @test_count, align 4, !tbaa !5
  %14481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14482 = load i32, ptr %14481, align 4, !tbaa !5
  %14483 = call ptr @s2n_strerror(i32 noundef %14482, ptr noundef @.str.4)
  %14484 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14485 = load i32, ptr %14484, align 4, !tbaa !5
  %14486 = call ptr @s2n_strerror_debug(i32 noundef %14485, ptr noundef @.str.4)
  %14487 = call ptr @__errno_location() #12
  %14488 = load i32, ptr %14487, align 4, !tbaa !5
  %14489 = call ptr @strerror(i32 noundef %14488) #11
  %14490 = call ptr @__errno_location() #12
  %14491 = load i32, ptr %14490, align 4, !tbaa !5
  %14492 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14479, ptr noundef @.str.2, i32 noundef %14480, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 459, ptr noundef %14483, ptr noundef %14486, ptr noundef %14489, i32 noundef %14491) #11
  br label %14510

14493:                                            ; preds = %14471, %14464
  %14494 = load i32, ptr %297, align 4, !tbaa !5
  %14495 = call ptr @__errno_location() #12
  store i32 %14494, ptr %14495, align 4, !tbaa !5
  %14496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14497 = load i32, ptr @test_count, align 4, !tbaa !5
  %14498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14499 = load i32, ptr %14498, align 4, !tbaa !5
  %14500 = call ptr @s2n_strerror(i32 noundef %14499, ptr noundef @.str.4)
  %14501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14502 = load i32, ptr %14501, align 4, !tbaa !5
  %14503 = call ptr @s2n_strerror_debug(i32 noundef %14502, ptr noundef @.str.4)
  %14504 = call ptr @__errno_location() #12
  %14505 = load i32, ptr %14504, align 4, !tbaa !5
  %14506 = call ptr @strerror(i32 noundef %14505) #11
  %14507 = call ptr @__errno_location() #12
  %14508 = load i32, ptr %14507, align 4, !tbaa !5
  %14509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14496, ptr noundef @.str.5, i32 noundef %14497, ptr noundef @.str.88, ptr noundef @.str.1, i32 noundef 459, ptr noundef %14500, ptr noundef %14503, ptr noundef %14506, i32 noundef %14508) #11
  br label %14510

14510:                                            ; preds = %14493, %14476
  call void @llvm.lifetime.end.p0(i64 4, ptr %297) #11
  br label %14511

14511:                                            ; preds = %14510
  br label %14512

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

14513:                                            ; No predecessors!
  br label %14514

14514:                                            ; preds = %14513
  br label %14515

14515:                                            ; preds = %14514, %14457
  br label %14516

14516:                                            ; preds = %14515
  br label %14517

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

14518:                                            ; preds = %14517
  %14519 = load i32, ptr @test_count, align 4, !tbaa !5
  %14520 = add nsw i32 %14519, 1
  store i32 %14520, ptr @test_count, align 4, !tbaa !5
  %14521 = getelementptr inbounds [100 x i8], ptr %281, i64 0, i64 0
  %14522 = call i32 @s2n_blob_init(ptr noundef %298, ptr noundef %14521, i32 noundef 100)
  %14523 = icmp eq i32 %14522, -1
  br i1 %14523, label %14524, label %14577

14524:                                            ; preds = %14518
  br label %14525

14525:                                            ; preds = %14524
  br label %14526

14526:                                            ; preds = %14525
  call void @llvm.lifetime.start.p0(i64 4, ptr %300) #11
  %14527 = call ptr @__errno_location() #12
  %14528 = load i32, ptr %14527, align 4, !tbaa !5
  store i32 %14528, ptr %300, align 4, !tbaa !5
  %14529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14530 = call i32 @s2n_print_stacktrace(ptr noundef %14529)
  %14531 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14532 = trunc i8 %14531 to i1
  br i1 %14532, label %14533, label %14555

14533:                                            ; preds = %14526
  %14534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14535 = call i32 @fileno(ptr noundef %14534) #11
  %14536 = call i32 @isatty(i32 noundef %14535) #11
  %14537 = icmp ne i32 %14536, 0
  br i1 %14537, label %14538, label %14555

14538:                                            ; preds = %14533
  %14539 = load i32, ptr %300, align 4, !tbaa !5
  %14540 = call ptr @__errno_location() #12
  store i32 %14539, ptr %14540, align 4, !tbaa !5
  %14541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14542 = load i32, ptr @test_count, align 4, !tbaa !5
  %14543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14544 = load i32, ptr %14543, align 4, !tbaa !5
  %14545 = call ptr @s2n_strerror(i32 noundef %14544, ptr noundef @.str.4)
  %14546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14547 = load i32, ptr %14546, align 4, !tbaa !5
  %14548 = call ptr @s2n_strerror_debug(i32 noundef %14547, ptr noundef @.str.4)
  %14549 = call ptr @__errno_location() #12
  %14550 = load i32, ptr %14549, align 4, !tbaa !5
  %14551 = call ptr @strerror(i32 noundef %14550) #11
  %14552 = call ptr @__errno_location() #12
  %14553 = load i32, ptr %14552, align 4, !tbaa !5
  %14554 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14541, ptr noundef @.str.2, i32 noundef %14542, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 463, ptr noundef %14545, ptr noundef %14548, ptr noundef %14551, i32 noundef %14553) #11
  br label %14572

14555:                                            ; preds = %14533, %14526
  %14556 = load i32, ptr %300, align 4, !tbaa !5
  %14557 = call ptr @__errno_location() #12
  store i32 %14556, ptr %14557, align 4, !tbaa !5
  %14558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14559 = load i32, ptr @test_count, align 4, !tbaa !5
  %14560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14561 = load i32, ptr %14560, align 4, !tbaa !5
  %14562 = call ptr @s2n_strerror(i32 noundef %14561, ptr noundef @.str.4)
  %14563 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14564 = load i32, ptr %14563, align 4, !tbaa !5
  %14565 = call ptr @s2n_strerror_debug(i32 noundef %14564, ptr noundef @.str.4)
  %14566 = call ptr @__errno_location() #12
  %14567 = load i32, ptr %14566, align 4, !tbaa !5
  %14568 = call ptr @strerror(i32 noundef %14567) #11
  %14569 = call ptr @__errno_location() #12
  %14570 = load i32, ptr %14569, align 4, !tbaa !5
  %14571 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14558, ptr noundef @.str.5, i32 noundef %14559, ptr noundef @.str.89, ptr noundef @.str.1, i32 noundef 463, ptr noundef %14562, ptr noundef %14565, ptr noundef %14568, i32 noundef %14570) #11
  br label %14572

14572:                                            ; preds = %14555, %14538
  call void @llvm.lifetime.end.p0(i64 4, ptr %300) #11
  br label %14573

14573:                                            ; preds = %14572
  br label %14574

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

14575:                                            ; No predecessors!
  br label %14576

14576:                                            ; preds = %14575
  br label %14577

14577:                                            ; preds = %14576, %14518
  br label %14578

14578:                                            ; preds = %14577
  br label %14579

14579:                                            ; preds = %14578
  br label %14580

14580:                                            ; preds = %14579
  %14581 = load i32, ptr @test_count, align 4, !tbaa !5
  %14582 = add nsw i32 %14581, 1
  store i32 %14582, ptr @test_count, align 4, !tbaa !5
  %14583 = call i32 @s2n_stuffer_init(ptr noundef %299, ptr noundef %298)
  %14584 = icmp eq i32 %14583, -1
  br i1 %14584, label %14585, label %14638

14585:                                            ; preds = %14580
  br label %14586

14586:                                            ; preds = %14585
  br label %14587

14587:                                            ; preds = %14586
  call void @llvm.lifetime.start.p0(i64 4, ptr %301) #11
  %14588 = call ptr @__errno_location() #12
  %14589 = load i32, ptr %14588, align 4, !tbaa !5
  store i32 %14589, ptr %301, align 4, !tbaa !5
  %14590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14591 = call i32 @s2n_print_stacktrace(ptr noundef %14590)
  %14592 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14593 = trunc i8 %14592 to i1
  br i1 %14593, label %14594, label %14616

14594:                                            ; preds = %14587
  %14595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14596 = call i32 @fileno(ptr noundef %14595) #11
  %14597 = call i32 @isatty(i32 noundef %14596) #11
  %14598 = icmp ne i32 %14597, 0
  br i1 %14598, label %14599, label %14616

14599:                                            ; preds = %14594
  %14600 = load i32, ptr %301, align 4, !tbaa !5
  %14601 = call ptr @__errno_location() #12
  store i32 %14600, ptr %14601, align 4, !tbaa !5
  %14602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14603 = load i32, ptr @test_count, align 4, !tbaa !5
  %14604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14605 = load i32, ptr %14604, align 4, !tbaa !5
  %14606 = call ptr @s2n_strerror(i32 noundef %14605, ptr noundef @.str.4)
  %14607 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14608 = load i32, ptr %14607, align 4, !tbaa !5
  %14609 = call ptr @s2n_strerror_debug(i32 noundef %14608, ptr noundef @.str.4)
  %14610 = call ptr @__errno_location() #12
  %14611 = load i32, ptr %14610, align 4, !tbaa !5
  %14612 = call ptr @strerror(i32 noundef %14611) #11
  %14613 = call ptr @__errno_location() #12
  %14614 = load i32, ptr %14613, align 4, !tbaa !5
  %14615 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14602, ptr noundef @.str.2, i32 noundef %14603, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 464, ptr noundef %14606, ptr noundef %14609, ptr noundef %14612, i32 noundef %14614) #11
  br label %14633

14616:                                            ; preds = %14594, %14587
  %14617 = load i32, ptr %301, align 4, !tbaa !5
  %14618 = call ptr @__errno_location() #12
  store i32 %14617, ptr %14618, align 4, !tbaa !5
  %14619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14620 = load i32, ptr @test_count, align 4, !tbaa !5
  %14621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14622 = load i32, ptr %14621, align 4, !tbaa !5
  %14623 = call ptr @s2n_strerror(i32 noundef %14622, ptr noundef @.str.4)
  %14624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14625 = load i32, ptr %14624, align 4, !tbaa !5
  %14626 = call ptr @s2n_strerror_debug(i32 noundef %14625, ptr noundef @.str.4)
  %14627 = call ptr @__errno_location() #12
  %14628 = load i32, ptr %14627, align 4, !tbaa !5
  %14629 = call ptr @strerror(i32 noundef %14628) #11
  %14630 = call ptr @__errno_location() #12
  %14631 = load i32, ptr %14630, align 4, !tbaa !5
  %14632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14619, ptr noundef @.str.5, i32 noundef %14620, ptr noundef @.str.90, ptr noundef @.str.1, i32 noundef 464, ptr noundef %14623, ptr noundef %14626, ptr noundef %14629, i32 noundef %14631) #11
  br label %14633

14633:                                            ; preds = %14616, %14599
  call void @llvm.lifetime.end.p0(i64 4, ptr %301) #11
  br label %14634

14634:                                            ; preds = %14633
  br label %14635

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

14636:                                            ; No predecessors!
  br label %14637

14637:                                            ; preds = %14636
  br label %14638

14638:                                            ; preds = %14637, %14580
  br label %14639

14639:                                            ; preds = %14638
  br label %14640

14640:                                            ; preds = %14639
  br label %14641

14641:                                            ; preds = %14640
  %14642 = load i32, ptr @test_count, align 4, !tbaa !5
  %14643 = add nsw i32 %14642, 1
  store i32 %14643, ptr @test_count, align 4, !tbaa !5
  %14644 = load i64, ptr %283, align 8, !tbaa !42
  %14645 = trunc i64 %14644 to i32
  %14646 = call i32 @s2n_stuffer_skip_write(ptr noundef %299, i32 noundef %14645)
  %14647 = icmp eq i32 %14646, -1
  br i1 %14647, label %14648, label %14701

14648:                                            ; preds = %14641
  br label %14649

14649:                                            ; preds = %14648
  br label %14650

14650:                                            ; preds = %14649
  call void @llvm.lifetime.start.p0(i64 4, ptr %302) #11
  %14651 = call ptr @__errno_location() #12
  %14652 = load i32, ptr %14651, align 4, !tbaa !5
  store i32 %14652, ptr %302, align 4, !tbaa !5
  %14653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14654 = call i32 @s2n_print_stacktrace(ptr noundef %14653)
  %14655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14656 = trunc i8 %14655 to i1
  br i1 %14656, label %14657, label %14679

14657:                                            ; preds = %14650
  %14658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14659 = call i32 @fileno(ptr noundef %14658) #11
  %14660 = call i32 @isatty(i32 noundef %14659) #11
  %14661 = icmp ne i32 %14660, 0
  br i1 %14661, label %14662, label %14679

14662:                                            ; preds = %14657
  %14663 = load i32, ptr %302, align 4, !tbaa !5
  %14664 = call ptr @__errno_location() #12
  store i32 %14663, ptr %14664, align 4, !tbaa !5
  %14665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14666 = load i32, ptr @test_count, align 4, !tbaa !5
  %14667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14668 = load i32, ptr %14667, align 4, !tbaa !5
  %14669 = call ptr @s2n_strerror(i32 noundef %14668, ptr noundef @.str.4)
  %14670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14671 = load i32, ptr %14670, align 4, !tbaa !5
  %14672 = call ptr @s2n_strerror_debug(i32 noundef %14671, ptr noundef @.str.4)
  %14673 = call ptr @__errno_location() #12
  %14674 = load i32, ptr %14673, align 4, !tbaa !5
  %14675 = call ptr @strerror(i32 noundef %14674) #11
  %14676 = call ptr @__errno_location() #12
  %14677 = load i32, ptr %14676, align 4, !tbaa !5
  %14678 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14665, ptr noundef @.str.2, i32 noundef %14666, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 465, ptr noundef %14669, ptr noundef %14672, ptr noundef %14675, i32 noundef %14677) #11
  br label %14696

14679:                                            ; preds = %14657, %14650
  %14680 = load i32, ptr %302, align 4, !tbaa !5
  %14681 = call ptr @__errno_location() #12
  store i32 %14680, ptr %14681, align 4, !tbaa !5
  %14682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14683 = load i32, ptr @test_count, align 4, !tbaa !5
  %14684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14685 = load i32, ptr %14684, align 4, !tbaa !5
  %14686 = call ptr @s2n_strerror(i32 noundef %14685, ptr noundef @.str.4)
  %14687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14688 = load i32, ptr %14687, align 4, !tbaa !5
  %14689 = call ptr @s2n_strerror_debug(i32 noundef %14688, ptr noundef @.str.4)
  %14690 = call ptr @__errno_location() #12
  %14691 = load i32, ptr %14690, align 4, !tbaa !5
  %14692 = call ptr @strerror(i32 noundef %14691) #11
  %14693 = call ptr @__errno_location() #12
  %14694 = load i32, ptr %14693, align 4, !tbaa !5
  %14695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14682, ptr noundef @.str.5, i32 noundef %14683, ptr noundef @.str.91, ptr noundef @.str.1, i32 noundef 465, ptr noundef %14686, ptr noundef %14689, ptr noundef %14692, i32 noundef %14694) #11
  br label %14696

14696:                                            ; preds = %14679, %14662
  call void @llvm.lifetime.end.p0(i64 4, ptr %302) #11
  br label %14697

14697:                                            ; preds = %14696
  br label %14698

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

14699:                                            ; No predecessors!
  br label %14700

14700:                                            ; preds = %14699
  br label %14701

14701:                                            ; preds = %14700, %14641
  br label %14702

14702:                                            ; preds = %14701
  br label %14703

14703:                                            ; preds = %14702
  call void @llvm.lifetime.start.p0(i64 12, ptr %303) #11
  call void @llvm.memset.p0.i64(ptr align 1 %303, i8 0, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr %304) #11
  store i64 0, ptr %304, align 8, !tbaa !42
  br label %14704

14704:                                            ; preds = %14837, %14703
  %14705 = load i64, ptr %304, align 8, !tbaa !42
  %14706 = icmp ult i64 %14705, 5
  br i1 %14706, label %14708, label %14707

14707:                                            ; preds = %14704
  call void @llvm.lifetime.end.p0(i64 8, ptr %304) #11
  br label %14840

14708:                                            ; preds = %14704
  br label %14709

14709:                                            ; preds = %14708
  %14710 = load i32, ptr @test_count, align 4, !tbaa !5
  %14711 = add nsw i32 %14710, 1
  store i32 %14711, ptr @test_count, align 4, !tbaa !5
  %14712 = getelementptr inbounds [12 x i8], ptr %303, i64 0, i64 0
  %14713 = call i32 @s2n_stuffer_read_bytes(ptr noundef %299, ptr noundef %14712, i32 noundef 12)
  %14714 = icmp eq i32 %14713, -1
  br i1 %14714, label %14715, label %14768

14715:                                            ; preds = %14709
  br label %14716

14716:                                            ; preds = %14715
  br label %14717

14717:                                            ; preds = %14716
  call void @llvm.lifetime.start.p0(i64 4, ptr %305) #11
  %14718 = call ptr @__errno_location() #12
  %14719 = load i32, ptr %14718, align 4, !tbaa !5
  store i32 %14719, ptr %305, align 4, !tbaa !5
  %14720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14721 = call i32 @s2n_print_stacktrace(ptr noundef %14720)
  %14722 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14723 = trunc i8 %14722 to i1
  br i1 %14723, label %14724, label %14746

14724:                                            ; preds = %14717
  %14725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14726 = call i32 @fileno(ptr noundef %14725) #11
  %14727 = call i32 @isatty(i32 noundef %14726) #11
  %14728 = icmp ne i32 %14727, 0
  br i1 %14728, label %14729, label %14746

14729:                                            ; preds = %14724
  %14730 = load i32, ptr %305, align 4, !tbaa !5
  %14731 = call ptr @__errno_location() #12
  store i32 %14730, ptr %14731, align 4, !tbaa !5
  %14732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14733 = load i32, ptr @test_count, align 4, !tbaa !5
  %14734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14735 = load i32, ptr %14734, align 4, !tbaa !5
  %14736 = call ptr @s2n_strerror(i32 noundef %14735, ptr noundef @.str.4)
  %14737 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14738 = load i32, ptr %14737, align 4, !tbaa !5
  %14739 = call ptr @s2n_strerror_debug(i32 noundef %14738, ptr noundef @.str.4)
  %14740 = call ptr @__errno_location() #12
  %14741 = load i32, ptr %14740, align 4, !tbaa !5
  %14742 = call ptr @strerror(i32 noundef %14741) #11
  %14743 = call ptr @__errno_location() #12
  %14744 = load i32, ptr %14743, align 4, !tbaa !5
  %14745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14732, ptr noundef @.str.2, i32 noundef %14733, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 469, ptr noundef %14736, ptr noundef %14739, ptr noundef %14742, i32 noundef %14744) #11
  br label %14763

14746:                                            ; preds = %14724, %14717
  %14747 = load i32, ptr %305, align 4, !tbaa !5
  %14748 = call ptr @__errno_location() #12
  store i32 %14747, ptr %14748, align 4, !tbaa !5
  %14749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14750 = load i32, ptr @test_count, align 4, !tbaa !5
  %14751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14752 = load i32, ptr %14751, align 4, !tbaa !5
  %14753 = call ptr @s2n_strerror(i32 noundef %14752, ptr noundef @.str.4)
  %14754 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14755 = load i32, ptr %14754, align 4, !tbaa !5
  %14756 = call ptr @s2n_strerror_debug(i32 noundef %14755, ptr noundef @.str.4)
  %14757 = call ptr @__errno_location() #12
  %14758 = load i32, ptr %14757, align 4, !tbaa !5
  %14759 = call ptr @strerror(i32 noundef %14758) #11
  %14760 = call ptr @__errno_location() #12
  %14761 = load i32, ptr %14760, align 4, !tbaa !5
  %14762 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14749, ptr noundef @.str.5, i32 noundef %14750, ptr noundef @.str.92, ptr noundef @.str.1, i32 noundef 469, ptr noundef %14753, ptr noundef %14756, ptr noundef %14759, i32 noundef %14761) #11
  br label %14763

14763:                                            ; preds = %14746, %14729
  call void @llvm.lifetime.end.p0(i64 4, ptr %305) #11
  br label %14764

14764:                                            ; preds = %14763
  br label %14765

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

14766:                                            ; No predecessors!
  br label %14767

14767:                                            ; preds = %14766
  br label %14768

14768:                                            ; preds = %14767, %14709
  br label %14769

14769:                                            ; preds = %14768
  br label %14770

14770:                                            ; preds = %14769
  br label %14771

14771:                                            ; preds = %14770
  br label %14772

14772:                                            ; preds = %14771
  %14773 = load i32, ptr @test_count, align 4, !tbaa !5
  %14774 = add nsw i32 %14773, 1
  store i32 %14774, ptr @test_count, align 4, !tbaa !5
  %14775 = getelementptr inbounds [12 x i8], ptr %303, i64 0, i64 0
  %14776 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %14777 = call i32 @memcmp(ptr noundef %14775, ptr noundef %14776, i64 noundef 12) #14
  %14778 = icmp eq i32 %14777, 0
  br i1 %14778, label %14832, label %14779

14779:                                            ; preds = %14772
  br label %14780

14780:                                            ; preds = %14779
  br label %14781

14781:                                            ; preds = %14780
  call void @llvm.lifetime.start.p0(i64 4, ptr %306) #11
  %14782 = call ptr @__errno_location() #12
  %14783 = load i32, ptr %14782, align 4, !tbaa !5
  store i32 %14783, ptr %306, align 4, !tbaa !5
  %14784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14785 = call i32 @s2n_print_stacktrace(ptr noundef %14784)
  %14786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14787 = trunc i8 %14786 to i1
  br i1 %14787, label %14788, label %14810

14788:                                            ; preds = %14781
  %14789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14790 = call i32 @fileno(ptr noundef %14789) #11
  %14791 = call i32 @isatty(i32 noundef %14790) #11
  %14792 = icmp ne i32 %14791, 0
  br i1 %14792, label %14793, label %14810

14793:                                            ; preds = %14788
  %14794 = load i32, ptr %306, align 4, !tbaa !5
  %14795 = call ptr @__errno_location() #12
  store i32 %14794, ptr %14795, align 4, !tbaa !5
  %14796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14797 = load i32, ptr @test_count, align 4, !tbaa !5
  %14798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14799 = load i32, ptr %14798, align 4, !tbaa !5
  %14800 = call ptr @s2n_strerror(i32 noundef %14799, ptr noundef @.str.4)
  %14801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14802 = load i32, ptr %14801, align 4, !tbaa !5
  %14803 = call ptr @s2n_strerror_debug(i32 noundef %14802, ptr noundef @.str.4)
  %14804 = call ptr @__errno_location() #12
  %14805 = load i32, ptr %14804, align 4, !tbaa !5
  %14806 = call ptr @strerror(i32 noundef %14805) #11
  %14807 = call ptr @__errno_location() #12
  %14808 = load i32, ptr %14807, align 4, !tbaa !5
  %14809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14796, ptr noundef @.str.2, i32 noundef %14797, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 470, ptr noundef %14800, ptr noundef %14803, ptr noundef %14806, i32 noundef %14808) #11
  br label %14827

14810:                                            ; preds = %14788, %14781
  %14811 = load i32, ptr %306, align 4, !tbaa !5
  %14812 = call ptr @__errno_location() #12
  store i32 %14811, ptr %14812, align 4, !tbaa !5
  %14813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14814 = load i32, ptr @test_count, align 4, !tbaa !5
  %14815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14816 = load i32, ptr %14815, align 4, !tbaa !5
  %14817 = call ptr @s2n_strerror(i32 noundef %14816, ptr noundef @.str.4)
  %14818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14819 = load i32, ptr %14818, align 4, !tbaa !5
  %14820 = call ptr @s2n_strerror_debug(i32 noundef %14819, ptr noundef @.str.4)
  %14821 = call ptr @__errno_location() #12
  %14822 = load i32, ptr %14821, align 4, !tbaa !5
  %14823 = call ptr @strerror(i32 noundef %14822) #11
  %14824 = call ptr @__errno_location() #12
  %14825 = load i32, ptr %14824, align 4, !tbaa !5
  %14826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14813, ptr noundef @.str.5, i32 noundef %14814, ptr noundef @.str.93, ptr noundef @.str.1, i32 noundef 470, ptr noundef %14817, ptr noundef %14820, ptr noundef %14823, i32 noundef %14825) #11
  br label %14827

14827:                                            ; preds = %14810, %14793
  call void @llvm.lifetime.end.p0(i64 4, ptr %306) #11
  br label %14828

14828:                                            ; preds = %14827
  br label %14829

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

14830:                                            ; No predecessors!
  br label %14831

14831:                                            ; preds = %14830
  br label %14832

14832:                                            ; preds = %14831, %14772
  br label %14833

14833:                                            ; preds = %14832
  br label %14834

14834:                                            ; preds = %14833
  br label %14835

14835:                                            ; preds = %14834
  br label %14836

14836:                                            ; preds = %14835
  br label %14837

14837:                                            ; preds = %14836
  %14838 = load i64, ptr %304, align 8, !tbaa !42
  %14839 = add i64 %14838, 1
  store i64 %14839, ptr %304, align 8, !tbaa !42
  br label %14704, !llvm.loop !49

14840:                                            ; preds = %14707
  br label %14841

14841:                                            ; preds = %14840
  %14842 = load i32, ptr @test_count, align 4, !tbaa !5
  %14843 = add nsw i32 %14842, 1
  store i32 %14843, ptr @test_count, align 4, !tbaa !5
  %14844 = getelementptr inbounds %struct.s2n_stuffer, ptr %299, i32 0, i32 2
  %14845 = load i32, ptr %14844, align 4, !tbaa !50
  %14846 = getelementptr inbounds %struct.s2n_stuffer, ptr %299, i32 0, i32 1
  %14847 = load i32, ptr %14846, align 8, !tbaa !51
  %14848 = sub i32 %14845, %14847
  %14849 = icmp eq i32 %14848, 0
  br i1 %14849, label %14903, label %14850

14850:                                            ; preds = %14841
  br label %14851

14851:                                            ; preds = %14850
  br label %14852

14852:                                            ; preds = %14851
  call void @llvm.lifetime.start.p0(i64 4, ptr %307) #11
  %14853 = call ptr @__errno_location() #12
  %14854 = load i32, ptr %14853, align 4, !tbaa !5
  store i32 %14854, ptr %307, align 4, !tbaa !5
  %14855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14856 = call i32 @s2n_print_stacktrace(ptr noundef %14855)
  %14857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14858 = trunc i8 %14857 to i1
  br i1 %14858, label %14859, label %14881

14859:                                            ; preds = %14852
  %14860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14861 = call i32 @fileno(ptr noundef %14860) #11
  %14862 = call i32 @isatty(i32 noundef %14861) #11
  %14863 = icmp ne i32 %14862, 0
  br i1 %14863, label %14864, label %14881

14864:                                            ; preds = %14859
  %14865 = load i32, ptr %307, align 4, !tbaa !5
  %14866 = call ptr @__errno_location() #12
  store i32 %14865, ptr %14866, align 4, !tbaa !5
  %14867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14868 = load i32, ptr @test_count, align 4, !tbaa !5
  %14869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14870 = load i32, ptr %14869, align 4, !tbaa !5
  %14871 = call ptr @s2n_strerror(i32 noundef %14870, ptr noundef @.str.4)
  %14872 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14873 = load i32, ptr %14872, align 4, !tbaa !5
  %14874 = call ptr @s2n_strerror_debug(i32 noundef %14873, ptr noundef @.str.4)
  %14875 = call ptr @__errno_location() #12
  %14876 = load i32, ptr %14875, align 4, !tbaa !5
  %14877 = call ptr @strerror(i32 noundef %14876) #11
  %14878 = call ptr @__errno_location() #12
  %14879 = load i32, ptr %14878, align 4, !tbaa !5
  %14880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14867, ptr noundef @.str.2, i32 noundef %14868, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 472, ptr noundef %14871, ptr noundef %14874, ptr noundef %14877, i32 noundef %14879) #11
  br label %14898

14881:                                            ; preds = %14859, %14852
  %14882 = load i32, ptr %307, align 4, !tbaa !5
  %14883 = call ptr @__errno_location() #12
  store i32 %14882, ptr %14883, align 4, !tbaa !5
  %14884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14885 = load i32, ptr @test_count, align 4, !tbaa !5
  %14886 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14887 = load i32, ptr %14886, align 4, !tbaa !5
  %14888 = call ptr @s2n_strerror(i32 noundef %14887, ptr noundef @.str.4)
  %14889 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14890 = load i32, ptr %14889, align 4, !tbaa !5
  %14891 = call ptr @s2n_strerror_debug(i32 noundef %14890, ptr noundef @.str.4)
  %14892 = call ptr @__errno_location() #12
  %14893 = load i32, ptr %14892, align 4, !tbaa !5
  %14894 = call ptr @strerror(i32 noundef %14893) #11
  %14895 = call ptr @__errno_location() #12
  %14896 = load i32, ptr %14895, align 4, !tbaa !5
  %14897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14884, ptr noundef @.str.5, i32 noundef %14885, ptr noundef @.str.94, ptr noundef @.str.1, i32 noundef 472, ptr noundef %14888, ptr noundef %14891, ptr noundef %14894, i32 noundef %14896) #11
  br label %14898

14898:                                            ; preds = %14881, %14864
  call void @llvm.lifetime.end.p0(i64 4, ptr %307) #11
  br label %14899

14899:                                            ; preds = %14898
  br label %14900

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

14901:                                            ; No predecessors!
  br label %14902

14902:                                            ; preds = %14901
  br label %14903

14903:                                            ; preds = %14902, %14841
  br label %14904

14904:                                            ; preds = %14903
  br label %14905

14905:                                            ; preds = %14904
  br label %14906

14906:                                            ; preds = %14905
  %14907 = load i32, ptr @test_count, align 4, !tbaa !5
  %14908 = add nsw i32 %14907, 1
  store i32 %14908, ptr @test_count, align 4, !tbaa !5
  %14909 = load ptr, ptr %275, align 8, !tbaa !9
  %14910 = load ptr, ptr %274, align 8, !tbaa !9
  %14911 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %14909, ptr noundef %14910)
  %14912 = icmp eq i32 %14911, -1
  br i1 %14912, label %14913, label %14966

14913:                                            ; preds = %14906
  br label %14914

14914:                                            ; preds = %14913
  br label %14915

14915:                                            ; preds = %14914
  call void @llvm.lifetime.start.p0(i64 4, ptr %308) #11
  %14916 = call ptr @__errno_location() #12
  %14917 = load i32, ptr %14916, align 4, !tbaa !5
  store i32 %14917, ptr %308, align 4, !tbaa !5
  %14918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14919 = call i32 @s2n_print_stacktrace(ptr noundef %14918)
  %14920 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14921 = trunc i8 %14920 to i1
  br i1 %14921, label %14922, label %14944

14922:                                            ; preds = %14915
  %14923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14924 = call i32 @fileno(ptr noundef %14923) #11
  %14925 = call i32 @isatty(i32 noundef %14924) #11
  %14926 = icmp ne i32 %14925, 0
  br i1 %14926, label %14927, label %14944

14927:                                            ; preds = %14922
  %14928 = load i32, ptr %308, align 4, !tbaa !5
  %14929 = call ptr @__errno_location() #12
  store i32 %14928, ptr %14929, align 4, !tbaa !5
  %14930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14931 = load i32, ptr @test_count, align 4, !tbaa !5
  %14932 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14933 = load i32, ptr %14932, align 4, !tbaa !5
  %14934 = call ptr @s2n_strerror(i32 noundef %14933, ptr noundef @.str.4)
  %14935 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14936 = load i32, ptr %14935, align 4, !tbaa !5
  %14937 = call ptr @s2n_strerror_debug(i32 noundef %14936, ptr noundef @.str.4)
  %14938 = call ptr @__errno_location() #12
  %14939 = load i32, ptr %14938, align 4, !tbaa !5
  %14940 = call ptr @strerror(i32 noundef %14939) #11
  %14941 = call ptr @__errno_location() #12
  %14942 = load i32, ptr %14941, align 4, !tbaa !5
  %14943 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14930, ptr noundef @.str.2, i32 noundef %14931, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 474, ptr noundef %14934, ptr noundef %14937, ptr noundef %14940, i32 noundef %14942) #11
  br label %14961

14944:                                            ; preds = %14922, %14915
  %14945 = load i32, ptr %308, align 4, !tbaa !5
  %14946 = call ptr @__errno_location() #12
  store i32 %14945, ptr %14946, align 4, !tbaa !5
  %14947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14948 = load i32, ptr @test_count, align 4, !tbaa !5
  %14949 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14950 = load i32, ptr %14949, align 4, !tbaa !5
  %14951 = call ptr @s2n_strerror(i32 noundef %14950, ptr noundef @.str.4)
  %14952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14953 = load i32, ptr %14952, align 4, !tbaa !5
  %14954 = call ptr @s2n_strerror_debug(i32 noundef %14953, ptr noundef @.str.4)
  %14955 = call ptr @__errno_location() #12
  %14956 = load i32, ptr %14955, align 4, !tbaa !5
  %14957 = call ptr @strerror(i32 noundef %14956) #11
  %14958 = call ptr @__errno_location() #12
  %14959 = load i32, ptr %14958, align 4, !tbaa !5
  %14960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14947, ptr noundef @.str.5, i32 noundef %14948, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 474, ptr noundef %14951, ptr noundef %14954, ptr noundef %14957, i32 noundef %14959) #11
  br label %14961

14961:                                            ; preds = %14944, %14927
  call void @llvm.lifetime.end.p0(i64 4, ptr %308) #11
  br label %14962

14962:                                            ; preds = %14961
  br label %14963

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

14964:                                            ; No predecessors!
  br label %14965

14965:                                            ; preds = %14964
  br label %14966

14966:                                            ; preds = %14965, %14906
  br label %14967

14967:                                            ; preds = %14966
  br label %14968

14968:                                            ; preds = %14967
  br label %14969

14969:                                            ; preds = %14968
  %14970 = load i32, ptr @test_count, align 4, !tbaa !5
  %14971 = add nsw i32 %14970, 1
  store i32 %14971, ptr @test_count, align 4, !tbaa !5
  %14972 = load ptr, ptr %274, align 8, !tbaa !9
  %14973 = call i32 @s2n_connection_free(ptr noundef %14972)
  %14974 = icmp eq i32 %14973, -1
  br i1 %14974, label %14975, label %15028

14975:                                            ; preds = %14969
  br label %14976

14976:                                            ; preds = %14975
  br label %14977

14977:                                            ; preds = %14976
  call void @llvm.lifetime.start.p0(i64 4, ptr %309) #11
  %14978 = call ptr @__errno_location() #12
  %14979 = load i32, ptr %14978, align 4, !tbaa !5
  store i32 %14979, ptr %309, align 4, !tbaa !5
  %14980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14981 = call i32 @s2n_print_stacktrace(ptr noundef %14980)
  %14982 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14983 = trunc i8 %14982 to i1
  br i1 %14983, label %14984, label %15006

14984:                                            ; preds = %14977
  %14985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14986 = call i32 @fileno(ptr noundef %14985) #11
  %14987 = call i32 @isatty(i32 noundef %14986) #11
  %14988 = icmp ne i32 %14987, 0
  br i1 %14988, label %14989, label %15006

14989:                                            ; preds = %14984
  %14990 = load i32, ptr %309, align 4, !tbaa !5
  %14991 = call ptr @__errno_location() #12
  store i32 %14990, ptr %14991, align 4, !tbaa !5
  %14992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14993 = load i32, ptr @test_count, align 4, !tbaa !5
  %14994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14995 = load i32, ptr %14994, align 4, !tbaa !5
  %14996 = call ptr @s2n_strerror(i32 noundef %14995, ptr noundef @.str.4)
  %14997 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %14998 = load i32, ptr %14997, align 4, !tbaa !5
  %14999 = call ptr @s2n_strerror_debug(i32 noundef %14998, ptr noundef @.str.4)
  %15000 = call ptr @__errno_location() #12
  %15001 = load i32, ptr %15000, align 4, !tbaa !5
  %15002 = call ptr @strerror(i32 noundef %15001) #11
  %15003 = call ptr @__errno_location() #12
  %15004 = load i32, ptr %15003, align 4, !tbaa !5
  %15005 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14992, ptr noundef @.str.2, i32 noundef %14993, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 476, ptr noundef %14996, ptr noundef %14999, ptr noundef %15002, i32 noundef %15004) #11
  br label %15023

15006:                                            ; preds = %14984, %14977
  %15007 = load i32, ptr %309, align 4, !tbaa !5
  %15008 = call ptr @__errno_location() #12
  store i32 %15007, ptr %15008, align 4, !tbaa !5
  %15009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15010 = load i32, ptr @test_count, align 4, !tbaa !5
  %15011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15012 = load i32, ptr %15011, align 4, !tbaa !5
  %15013 = call ptr @s2n_strerror(i32 noundef %15012, ptr noundef @.str.4)
  %15014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15015 = load i32, ptr %15014, align 4, !tbaa !5
  %15016 = call ptr @s2n_strerror_debug(i32 noundef %15015, ptr noundef @.str.4)
  %15017 = call ptr @__errno_location() #12
  %15018 = load i32, ptr %15017, align 4, !tbaa !5
  %15019 = call ptr @strerror(i32 noundef %15018) #11
  %15020 = call ptr @__errno_location() #12
  %15021 = load i32, ptr %15020, align 4, !tbaa !5
  %15022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15009, ptr noundef @.str.5, i32 noundef %15010, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 476, ptr noundef %15013, ptr noundef %15016, ptr noundef %15019, i32 noundef %15021) #11
  br label %15023

15023:                                            ; preds = %15006, %14989
  call void @llvm.lifetime.end.p0(i64 4, ptr %309) #11
  br label %15024

15024:                                            ; preds = %15023
  br label %15025

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

15026:                                            ; No predecessors!
  br label %15027

15027:                                            ; preds = %15026
  br label %15028

15028:                                            ; preds = %15027, %14969
  br label %15029

15029:                                            ; preds = %15028
  br label %15030

15030:                                            ; preds = %15029
  br label %15031

15031:                                            ; preds = %15030
  %15032 = load i32, ptr @test_count, align 4, !tbaa !5
  %15033 = add nsw i32 %15032, 1
  store i32 %15033, ptr @test_count, align 4, !tbaa !5
  %15034 = load ptr, ptr %275, align 8, !tbaa !9
  %15035 = call i32 @s2n_connection_free(ptr noundef %15034)
  %15036 = icmp eq i32 %15035, -1
  br i1 %15036, label %15037, label %15090

15037:                                            ; preds = %15031
  br label %15038

15038:                                            ; preds = %15037
  br label %15039

15039:                                            ; preds = %15038
  call void @llvm.lifetime.start.p0(i64 4, ptr %310) #11
  %15040 = call ptr @__errno_location() #12
  %15041 = load i32, ptr %15040, align 4, !tbaa !5
  store i32 %15041, ptr %310, align 4, !tbaa !5
  %15042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15043 = call i32 @s2n_print_stacktrace(ptr noundef %15042)
  %15044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15045 = trunc i8 %15044 to i1
  br i1 %15045, label %15046, label %15068

15046:                                            ; preds = %15039
  %15047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15048 = call i32 @fileno(ptr noundef %15047) #11
  %15049 = call i32 @isatty(i32 noundef %15048) #11
  %15050 = icmp ne i32 %15049, 0
  br i1 %15050, label %15051, label %15068

15051:                                            ; preds = %15046
  %15052 = load i32, ptr %310, align 4, !tbaa !5
  %15053 = call ptr @__errno_location() #12
  store i32 %15052, ptr %15053, align 4, !tbaa !5
  %15054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15055 = load i32, ptr @test_count, align 4, !tbaa !5
  %15056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15057 = load i32, ptr %15056, align 4, !tbaa !5
  %15058 = call ptr @s2n_strerror(i32 noundef %15057, ptr noundef @.str.4)
  %15059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15060 = load i32, ptr %15059, align 4, !tbaa !5
  %15061 = call ptr @s2n_strerror_debug(i32 noundef %15060, ptr noundef @.str.4)
  %15062 = call ptr @__errno_location() #12
  %15063 = load i32, ptr %15062, align 4, !tbaa !5
  %15064 = call ptr @strerror(i32 noundef %15063) #11
  %15065 = call ptr @__errno_location() #12
  %15066 = load i32, ptr %15065, align 4, !tbaa !5
  %15067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15054, ptr noundef @.str.2, i32 noundef %15055, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 477, ptr noundef %15058, ptr noundef %15061, ptr noundef %15064, i32 noundef %15066) #11
  br label %15085

15068:                                            ; preds = %15046, %15039
  %15069 = load i32, ptr %310, align 4, !tbaa !5
  %15070 = call ptr @__errno_location() #12
  store i32 %15069, ptr %15070, align 4, !tbaa !5
  %15071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15072 = load i32, ptr @test_count, align 4, !tbaa !5
  %15073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15074 = load i32, ptr %15073, align 4, !tbaa !5
  %15075 = call ptr @s2n_strerror(i32 noundef %15074, ptr noundef @.str.4)
  %15076 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15077 = load i32, ptr %15076, align 4, !tbaa !5
  %15078 = call ptr @s2n_strerror_debug(i32 noundef %15077, ptr noundef @.str.4)
  %15079 = call ptr @__errno_location() #12
  %15080 = load i32, ptr %15079, align 4, !tbaa !5
  %15081 = call ptr @strerror(i32 noundef %15080) #11
  %15082 = call ptr @__errno_location() #12
  %15083 = load i32, ptr %15082, align 4, !tbaa !5
  %15084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15071, ptr noundef @.str.5, i32 noundef %15072, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 477, ptr noundef %15075, ptr noundef %15078, ptr noundef %15081, i32 noundef %15083) #11
  br label %15085

15085:                                            ; preds = %15068, %15051
  call void @llvm.lifetime.end.p0(i64 4, ptr %310) #11
  br label %15086

15086:                                            ; preds = %15085
  br label %15087

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

15088:                                            ; No predecessors!
  br label %15089

15089:                                            ; preds = %15088
  br label %15090

15090:                                            ; preds = %15089, %15031
  br label %15091

15091:                                            ; preds = %15090
  br label %15092

15092:                                            ; preds = %15091
  call void @llvm.lifetime.end.p0(i64 12, ptr %303) #11
  call void @llvm.lifetime.end.p0(i64 40, ptr %299) #11
  call void @llvm.lifetime.end.p0(i64 24, ptr %298) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %284) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %283) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %282) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %281) #11
  %15093 = call i32 @s2n_io_pair_close(ptr noundef %276)
  call void @llvm.lifetime.end.p0(i64 8, ptr %276) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %275) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %274) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %311) #11
  store ptr null, ptr %311, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %312) #11
  store ptr null, ptr %312, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %313) #11
  call void @llvm.memset.p0.i64(ptr align 4 %313, i8 0, i64 8, i1 false)
  br label %15094

15094:                                            ; preds = %15092
  %15095 = load i32, ptr @test_count, align 4, !tbaa !5
  %15096 = add nsw i32 %15095, 1
  store i32 %15096, ptr @test_count, align 4, !tbaa !5
  %15097 = call i32 @s2n_test_client_and_server_new(ptr noundef %311, ptr noundef %312, ptr noundef %313)
  %15098 = getelementptr inbounds %struct.s2n_result, ptr %314, i32 0, i32 0
  store i32 %15097, ptr %15098, align 4
  %15099 = getelementptr inbounds %struct.s2n_result, ptr %314, i32 0, i32 0
  %15100 = load i32, ptr %15099, align 4
  %15101 = call zeroext i1 @s2n_result_is_ok(i32 %15100)
  br i1 %15101, label %15155, label %15102

15102:                                            ; preds = %15094
  br label %15103

15103:                                            ; preds = %15102
  br label %15104

15104:                                            ; preds = %15103
  call void @llvm.lifetime.start.p0(i64 4, ptr %315) #11
  %15105 = call ptr @__errno_location() #12
  %15106 = load i32, ptr %15105, align 4, !tbaa !5
  store i32 %15106, ptr %315, align 4, !tbaa !5
  %15107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15108 = call i32 @s2n_print_stacktrace(ptr noundef %15107)
  %15109 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15110 = trunc i8 %15109 to i1
  br i1 %15110, label %15111, label %15133

15111:                                            ; preds = %15104
  %15112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15113 = call i32 @fileno(ptr noundef %15112) #11
  %15114 = call i32 @isatty(i32 noundef %15113) #11
  %15115 = icmp ne i32 %15114, 0
  br i1 %15115, label %15116, label %15133

15116:                                            ; preds = %15111
  %15117 = load i32, ptr %315, align 4, !tbaa !5
  %15118 = call ptr @__errno_location() #12
  store i32 %15117, ptr %15118, align 4, !tbaa !5
  %15119 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15120 = load i32, ptr @test_count, align 4, !tbaa !5
  %15121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15122 = load i32, ptr %15121, align 4, !tbaa !5
  %15123 = call ptr @s2n_strerror(i32 noundef %15122, ptr noundef @.str.4)
  %15124 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15125 = load i32, ptr %15124, align 4, !tbaa !5
  %15126 = call ptr @s2n_strerror_debug(i32 noundef %15125, ptr noundef @.str.4)
  %15127 = call ptr @__errno_location() #12
  %15128 = load i32, ptr %15127, align 4, !tbaa !5
  %15129 = call ptr @strerror(i32 noundef %15128) #11
  %15130 = call ptr @__errno_location() #12
  %15131 = load i32, ptr %15130, align 4, !tbaa !5
  %15132 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15119, ptr noundef @.str.2, i32 noundef %15120, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 484, ptr noundef %15123, ptr noundef %15126, ptr noundef %15129, i32 noundef %15131) #11
  br label %15150

15133:                                            ; preds = %15111, %15104
  %15134 = load i32, ptr %315, align 4, !tbaa !5
  %15135 = call ptr @__errno_location() #12
  store i32 %15134, ptr %15135, align 4, !tbaa !5
  %15136 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15137 = load i32, ptr @test_count, align 4, !tbaa !5
  %15138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15139 = load i32, ptr %15138, align 4, !tbaa !5
  %15140 = call ptr @s2n_strerror(i32 noundef %15139, ptr noundef @.str.4)
  %15141 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15142 = load i32, ptr %15141, align 4, !tbaa !5
  %15143 = call ptr @s2n_strerror_debug(i32 noundef %15142, ptr noundef @.str.4)
  %15144 = call ptr @__errno_location() #12
  %15145 = load i32, ptr %15144, align 4, !tbaa !5
  %15146 = call ptr @strerror(i32 noundef %15145) #11
  %15147 = call ptr @__errno_location() #12
  %15148 = load i32, ptr %15147, align 4, !tbaa !5
  %15149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15136, ptr noundef @.str.5, i32 noundef %15137, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 484, ptr noundef %15140, ptr noundef %15143, ptr noundef %15146, i32 noundef %15148) #11
  br label %15150

15150:                                            ; preds = %15133, %15116
  call void @llvm.lifetime.end.p0(i64 4, ptr %315) #11
  br label %15151

15151:                                            ; preds = %15150
  br label %15152

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

15153:                                            ; No predecessors!
  br label %15154

15154:                                            ; preds = %15153
  br label %15155

15155:                                            ; preds = %15154, %15094
  br label %15156

15156:                                            ; preds = %15155
  br label %15157

15157:                                            ; preds = %15156
  br label %15158

15158:                                            ; preds = %15157
  %15159 = load i32, ptr @test_count, align 4, !tbaa !5
  %15160 = add nsw i32 %15159, 1
  store i32 %15160, ptr @test_count, align 4, !tbaa !5
  %15161 = load ptr, ptr %311, align 8, !tbaa !9
  %15162 = load ptr, ptr %20, align 8, !tbaa !9
  %15163 = call i32 @s2n_connection_append_psk(ptr noundef %15161, ptr noundef %15162)
  %15164 = icmp eq i32 %15163, -1
  br i1 %15164, label %15165, label %15218

15165:                                            ; preds = %15158
  br label %15166

15166:                                            ; preds = %15165
  br label %15167

15167:                                            ; preds = %15166
  call void @llvm.lifetime.start.p0(i64 4, ptr %316) #11
  %15168 = call ptr @__errno_location() #12
  %15169 = load i32, ptr %15168, align 4, !tbaa !5
  store i32 %15169, ptr %316, align 4, !tbaa !5
  %15170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15171 = call i32 @s2n_print_stacktrace(ptr noundef %15170)
  %15172 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15173 = trunc i8 %15172 to i1
  br i1 %15173, label %15174, label %15196

15174:                                            ; preds = %15167
  %15175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15176 = call i32 @fileno(ptr noundef %15175) #11
  %15177 = call i32 @isatty(i32 noundef %15176) #11
  %15178 = icmp ne i32 %15177, 0
  br i1 %15178, label %15179, label %15196

15179:                                            ; preds = %15174
  %15180 = load i32, ptr %316, align 4, !tbaa !5
  %15181 = call ptr @__errno_location() #12
  store i32 %15180, ptr %15181, align 4, !tbaa !5
  %15182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15183 = load i32, ptr @test_count, align 4, !tbaa !5
  %15184 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15185 = load i32, ptr %15184, align 4, !tbaa !5
  %15186 = call ptr @s2n_strerror(i32 noundef %15185, ptr noundef @.str.4)
  %15187 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15188 = load i32, ptr %15187, align 4, !tbaa !5
  %15189 = call ptr @s2n_strerror_debug(i32 noundef %15188, ptr noundef @.str.4)
  %15190 = call ptr @__errno_location() #12
  %15191 = load i32, ptr %15190, align 4, !tbaa !5
  %15192 = call ptr @strerror(i32 noundef %15191) #11
  %15193 = call ptr @__errno_location() #12
  %15194 = load i32, ptr %15193, align 4, !tbaa !5
  %15195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15182, ptr noundef @.str.2, i32 noundef %15183, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 486, ptr noundef %15186, ptr noundef %15189, ptr noundef %15192, i32 noundef %15194) #11
  br label %15213

15196:                                            ; preds = %15174, %15167
  %15197 = load i32, ptr %316, align 4, !tbaa !5
  %15198 = call ptr @__errno_location() #12
  store i32 %15197, ptr %15198, align 4, !tbaa !5
  %15199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15200 = load i32, ptr @test_count, align 4, !tbaa !5
  %15201 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15202 = load i32, ptr %15201, align 4, !tbaa !5
  %15203 = call ptr @s2n_strerror(i32 noundef %15202, ptr noundef @.str.4)
  %15204 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15205 = load i32, ptr %15204, align 4, !tbaa !5
  %15206 = call ptr @s2n_strerror_debug(i32 noundef %15205, ptr noundef @.str.4)
  %15207 = call ptr @__errno_location() #12
  %15208 = load i32, ptr %15207, align 4, !tbaa !5
  %15209 = call ptr @strerror(i32 noundef %15208) #11
  %15210 = call ptr @__errno_location() #12
  %15211 = load i32, ptr %15210, align 4, !tbaa !5
  %15212 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15199, ptr noundef @.str.5, i32 noundef %15200, ptr noundef @.str.95, ptr noundef @.str.1, i32 noundef 486, ptr noundef %15203, ptr noundef %15206, ptr noundef %15209, i32 noundef %15211) #11
  br label %15213

15213:                                            ; preds = %15196, %15179
  call void @llvm.lifetime.end.p0(i64 4, ptr %316) #11
  br label %15214

15214:                                            ; preds = %15213
  br label %15215

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

15216:                                            ; No predecessors!
  br label %15217

15217:                                            ; preds = %15216
  br label %15218

15218:                                            ; preds = %15217, %15158
  br label %15219

15219:                                            ; preds = %15218
  br label %15220

15220:                                            ; preds = %15219
  br label %15221

15221:                                            ; preds = %15220
  %15222 = load i32, ptr @test_count, align 4, !tbaa !5
  %15223 = add nsw i32 %15222, 1
  store i32 %15223, ptr @test_count, align 4, !tbaa !5
  %15224 = load ptr, ptr %312, align 8, !tbaa !9
  %15225 = load ptr, ptr %13, align 8, !tbaa !9
  %15226 = call i32 @s2n_connection_append_psk(ptr noundef %15224, ptr noundef %15225)
  %15227 = icmp eq i32 %15226, -1
  br i1 %15227, label %15228, label %15281

15228:                                            ; preds = %15221
  br label %15229

15229:                                            ; preds = %15228
  br label %15230

15230:                                            ; preds = %15229
  call void @llvm.lifetime.start.p0(i64 4, ptr %317) #11
  %15231 = call ptr @__errno_location() #12
  %15232 = load i32, ptr %15231, align 4, !tbaa !5
  store i32 %15232, ptr %317, align 4, !tbaa !5
  %15233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15234 = call i32 @s2n_print_stacktrace(ptr noundef %15233)
  %15235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15236 = trunc i8 %15235 to i1
  br i1 %15236, label %15237, label %15259

15237:                                            ; preds = %15230
  %15238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15239 = call i32 @fileno(ptr noundef %15238) #11
  %15240 = call i32 @isatty(i32 noundef %15239) #11
  %15241 = icmp ne i32 %15240, 0
  br i1 %15241, label %15242, label %15259

15242:                                            ; preds = %15237
  %15243 = load i32, ptr %317, align 4, !tbaa !5
  %15244 = call ptr @__errno_location() #12
  store i32 %15243, ptr %15244, align 4, !tbaa !5
  %15245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15246 = load i32, ptr @test_count, align 4, !tbaa !5
  %15247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15248 = load i32, ptr %15247, align 4, !tbaa !5
  %15249 = call ptr @s2n_strerror(i32 noundef %15248, ptr noundef @.str.4)
  %15250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15251 = load i32, ptr %15250, align 4, !tbaa !5
  %15252 = call ptr @s2n_strerror_debug(i32 noundef %15251, ptr noundef @.str.4)
  %15253 = call ptr @__errno_location() #12
  %15254 = load i32, ptr %15253, align 4, !tbaa !5
  %15255 = call ptr @strerror(i32 noundef %15254) #11
  %15256 = call ptr @__errno_location() #12
  %15257 = load i32, ptr %15256, align 4, !tbaa !5
  %15258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15245, ptr noundef @.str.2, i32 noundef %15246, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 487, ptr noundef %15249, ptr noundef %15252, ptr noundef %15255, i32 noundef %15257) #11
  br label %15276

15259:                                            ; preds = %15237, %15230
  %15260 = load i32, ptr %317, align 4, !tbaa !5
  %15261 = call ptr @__errno_location() #12
  store i32 %15260, ptr %15261, align 4, !tbaa !5
  %15262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15263 = load i32, ptr @test_count, align 4, !tbaa !5
  %15264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15265 = load i32, ptr %15264, align 4, !tbaa !5
  %15266 = call ptr @s2n_strerror(i32 noundef %15265, ptr noundef @.str.4)
  %15267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15268 = load i32, ptr %15267, align 4, !tbaa !5
  %15269 = call ptr @s2n_strerror_debug(i32 noundef %15268, ptr noundef @.str.4)
  %15270 = call ptr @__errno_location() #12
  %15271 = load i32, ptr %15270, align 4, !tbaa !5
  %15272 = call ptr @strerror(i32 noundef %15271) #11
  %15273 = call ptr @__errno_location() #12
  %15274 = load i32, ptr %15273, align 4, !tbaa !5
  %15275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15262, ptr noundef @.str.5, i32 noundef %15263, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 487, ptr noundef %15266, ptr noundef %15269, ptr noundef %15272, i32 noundef %15274) #11
  br label %15276

15276:                                            ; preds = %15259, %15242
  call void @llvm.lifetime.end.p0(i64 4, ptr %317) #11
  br label %15277

15277:                                            ; preds = %15276
  br label %15278

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

15279:                                            ; No predecessors!
  br label %15280

15280:                                            ; preds = %15279
  br label %15281

15281:                                            ; preds = %15280, %15221
  br label %15282

15282:                                            ; preds = %15281
  br label %15283

15283:                                            ; preds = %15282
  call void @llvm.lifetime.start.p0(i64 100, ptr %318) #11
  call void @llvm.memset.p0.i64(ptr align 16 %318, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %319) #11
  store i32 0, ptr %319, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %320) #11
  store i64 0, ptr %320, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr %321) #11
  store i32 0, ptr %321, align 4, !tbaa !5
  br label %15284

15284:                                            ; preds = %15283
  %15285 = load i32, ptr @test_count, align 4, !tbaa !5
  %15286 = add nsw i32 %15285, 1
  store i32 %15286, ptr @test_count, align 4, !tbaa !5
  %15287 = load ptr, ptr %311, align 8, !tbaa !9
  %15288 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %15289 = call i32 @s2n_send_early_data(ptr noundef %15287, ptr noundef %15288, i64 noundef 12, ptr noundef %320, ptr noundef %319)
  %15290 = icmp eq i32 %15289, -1
  br i1 %15290, label %15291, label %15344

15291:                                            ; preds = %15284
  br label %15292

15292:                                            ; preds = %15291
  br label %15293

15293:                                            ; preds = %15292
  call void @llvm.lifetime.start.p0(i64 4, ptr %322) #11
  %15294 = call ptr @__errno_location() #12
  %15295 = load i32, ptr %15294, align 4, !tbaa !5
  store i32 %15295, ptr %322, align 4, !tbaa !5
  %15296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15297 = call i32 @s2n_print_stacktrace(ptr noundef %15296)
  %15298 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15299 = trunc i8 %15298 to i1
  br i1 %15299, label %15300, label %15322

15300:                                            ; preds = %15293
  %15301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15302 = call i32 @fileno(ptr noundef %15301) #11
  %15303 = call i32 @isatty(i32 noundef %15302) #11
  %15304 = icmp ne i32 %15303, 0
  br i1 %15304, label %15305, label %15322

15305:                                            ; preds = %15300
  %15306 = load i32, ptr %322, align 4, !tbaa !5
  %15307 = call ptr @__errno_location() #12
  store i32 %15306, ptr %15307, align 4, !tbaa !5
  %15308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15309 = load i32, ptr @test_count, align 4, !tbaa !5
  %15310 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15311 = load i32, ptr %15310, align 4, !tbaa !5
  %15312 = call ptr @s2n_strerror(i32 noundef %15311, ptr noundef @.str.4)
  %15313 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15314 = load i32, ptr %15313, align 4, !tbaa !5
  %15315 = call ptr @s2n_strerror_debug(i32 noundef %15314, ptr noundef @.str.4)
  %15316 = call ptr @__errno_location() #12
  %15317 = load i32, ptr %15316, align 4, !tbaa !5
  %15318 = call ptr @strerror(i32 noundef %15317) #11
  %15319 = call ptr @__errno_location() #12
  %15320 = load i32, ptr %15319, align 4, !tbaa !5
  %15321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15308, ptr noundef @.str.2, i32 noundef %15309, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 495, ptr noundef %15312, ptr noundef %15315, ptr noundef %15318, i32 noundef %15320) #11
  br label %15339

15322:                                            ; preds = %15300, %15293
  %15323 = load i32, ptr %322, align 4, !tbaa !5
  %15324 = call ptr @__errno_location() #12
  store i32 %15323, ptr %15324, align 4, !tbaa !5
  %15325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15326 = load i32, ptr @test_count, align 4, !tbaa !5
  %15327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15328 = load i32, ptr %15327, align 4, !tbaa !5
  %15329 = call ptr @s2n_strerror(i32 noundef %15328, ptr noundef @.str.4)
  %15330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15331 = load i32, ptr %15330, align 4, !tbaa !5
  %15332 = call ptr @s2n_strerror_debug(i32 noundef %15331, ptr noundef @.str.4)
  %15333 = call ptr @__errno_location() #12
  %15334 = load i32, ptr %15333, align 4, !tbaa !5
  %15335 = call ptr @strerror(i32 noundef %15334) #11
  %15336 = call ptr @__errno_location() #12
  %15337 = load i32, ptr %15336, align 4, !tbaa !5
  %15338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15325, ptr noundef @.str.5, i32 noundef %15326, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 495, ptr noundef %15329, ptr noundef %15332, ptr noundef %15335, i32 noundef %15337) #11
  br label %15339

15339:                                            ; preds = %15322, %15305
  call void @llvm.lifetime.end.p0(i64 4, ptr %322) #11
  br label %15340

15340:                                            ; preds = %15339
  br label %15341

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

15342:                                            ; No predecessors!
  br label %15343

15343:                                            ; preds = %15342
  br label %15344

15344:                                            ; preds = %15343, %15284
  br label %15345

15345:                                            ; preds = %15344
  br label %15346

15346:                                            ; preds = %15345
  br label %15347

15347:                                            ; preds = %15346
  %15348 = load i32, ptr @test_count, align 4, !tbaa !5
  %15349 = add nsw i32 %15348, 1
  store i32 %15349, ptr @test_count, align 4, !tbaa !5
  %15350 = load i32, ptr %319, align 4, !tbaa !5
  %15351 = icmp eq i32 %15350, 0
  br i1 %15351, label %15405, label %15352

15352:                                            ; preds = %15347
  br label %15353

15353:                                            ; preds = %15352
  br label %15354

15354:                                            ; preds = %15353
  call void @llvm.lifetime.start.p0(i64 4, ptr %323) #11
  %15355 = call ptr @__errno_location() #12
  %15356 = load i32, ptr %15355, align 4, !tbaa !5
  store i32 %15356, ptr %323, align 4, !tbaa !5
  %15357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15358 = call i32 @s2n_print_stacktrace(ptr noundef %15357)
  %15359 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15360 = trunc i8 %15359 to i1
  br i1 %15360, label %15361, label %15383

15361:                                            ; preds = %15354
  %15362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15363 = call i32 @fileno(ptr noundef %15362) #11
  %15364 = call i32 @isatty(i32 noundef %15363) #11
  %15365 = icmp ne i32 %15364, 0
  br i1 %15365, label %15366, label %15383

15366:                                            ; preds = %15361
  %15367 = load i32, ptr %323, align 4, !tbaa !5
  %15368 = call ptr @__errno_location() #12
  store i32 %15367, ptr %15368, align 4, !tbaa !5
  %15369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15370 = load i32, ptr @test_count, align 4, !tbaa !5
  %15371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15372 = load i32, ptr %15371, align 4, !tbaa !5
  %15373 = call ptr @s2n_strerror(i32 noundef %15372, ptr noundef @.str.4)
  %15374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15375 = load i32, ptr %15374, align 4, !tbaa !5
  %15376 = call ptr @s2n_strerror_debug(i32 noundef %15375, ptr noundef @.str.4)
  %15377 = call ptr @__errno_location() #12
  %15378 = load i32, ptr %15377, align 4, !tbaa !5
  %15379 = call ptr @strerror(i32 noundef %15378) #11
  %15380 = call ptr @__errno_location() #12
  %15381 = load i32, ptr %15380, align 4, !tbaa !5
  %15382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15369, ptr noundef @.str.2, i32 noundef %15370, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 496, ptr noundef %15373, ptr noundef %15376, ptr noundef %15379, i32 noundef %15381) #11
  br label %15400

15383:                                            ; preds = %15361, %15354
  %15384 = load i32, ptr %323, align 4, !tbaa !5
  %15385 = call ptr @__errno_location() #12
  store i32 %15384, ptr %15385, align 4, !tbaa !5
  %15386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15387 = load i32, ptr @test_count, align 4, !tbaa !5
  %15388 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15389 = load i32, ptr %15388, align 4, !tbaa !5
  %15390 = call ptr @s2n_strerror(i32 noundef %15389, ptr noundef @.str.4)
  %15391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15392 = load i32, ptr %15391, align 4, !tbaa !5
  %15393 = call ptr @s2n_strerror_debug(i32 noundef %15392, ptr noundef @.str.4)
  %15394 = call ptr @__errno_location() #12
  %15395 = load i32, ptr %15394, align 4, !tbaa !5
  %15396 = call ptr @strerror(i32 noundef %15395) #11
  %15397 = call ptr @__errno_location() #12
  %15398 = load i32, ptr %15397, align 4, !tbaa !5
  %15399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15386, ptr noundef @.str.5, i32 noundef %15387, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 496, ptr noundef %15390, ptr noundef %15393, ptr noundef %15396, i32 noundef %15398) #11
  br label %15400

15400:                                            ; preds = %15383, %15366
  call void @llvm.lifetime.end.p0(i64 4, ptr %323) #11
  br label %15401

15401:                                            ; preds = %15400
  br label %15402

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

15403:                                            ; No predecessors!
  br label %15404

15404:                                            ; preds = %15403
  br label %15405

15405:                                            ; preds = %15404, %15347
  br label %15406

15406:                                            ; preds = %15405
  br label %15407

15407:                                            ; preds = %15406
  br label %15408

15408:                                            ; preds = %15407
  %15409 = load i32, ptr @test_count, align 4, !tbaa !5
  %15410 = add nsw i32 %15409, 1
  store i32 %15410, ptr @test_count, align 4, !tbaa !5
  %15411 = load ptr, ptr %311, align 8, !tbaa !9
  %15412 = call i32 @s2n_conn_get_current_message_type(ptr noundef %15411)
  %15413 = icmp eq i32 %15412, 1
  br i1 %15413, label %15467, label %15414

15414:                                            ; preds = %15408
  br label %15415

15415:                                            ; preds = %15414
  br label %15416

15416:                                            ; preds = %15415
  call void @llvm.lifetime.start.p0(i64 4, ptr %324) #11
  %15417 = call ptr @__errno_location() #12
  %15418 = load i32, ptr %15417, align 4, !tbaa !5
  store i32 %15418, ptr %324, align 4, !tbaa !5
  %15419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15420 = call i32 @s2n_print_stacktrace(ptr noundef %15419)
  %15421 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15422 = trunc i8 %15421 to i1
  br i1 %15422, label %15423, label %15445

15423:                                            ; preds = %15416
  %15424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15425 = call i32 @fileno(ptr noundef %15424) #11
  %15426 = call i32 @isatty(i32 noundef %15425) #11
  %15427 = icmp ne i32 %15426, 0
  br i1 %15427, label %15428, label %15445

15428:                                            ; preds = %15423
  %15429 = load i32, ptr %324, align 4, !tbaa !5
  %15430 = call ptr @__errno_location() #12
  store i32 %15429, ptr %15430, align 4, !tbaa !5
  %15431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15432 = load i32, ptr @test_count, align 4, !tbaa !5
  %15433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15434 = load i32, ptr %15433, align 4, !tbaa !5
  %15435 = call ptr @s2n_strerror(i32 noundef %15434, ptr noundef @.str.4)
  %15436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15437 = load i32, ptr %15436, align 4, !tbaa !5
  %15438 = call ptr @s2n_strerror_debug(i32 noundef %15437, ptr noundef @.str.4)
  %15439 = call ptr @__errno_location() #12
  %15440 = load i32, ptr %15439, align 4, !tbaa !5
  %15441 = call ptr @strerror(i32 noundef %15440) #11
  %15442 = call ptr @__errno_location() #12
  %15443 = load i32, ptr %15442, align 4, !tbaa !5
  %15444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15431, ptr noundef @.str.2, i32 noundef %15432, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 496, ptr noundef %15435, ptr noundef %15438, ptr noundef %15441, i32 noundef %15443) #11
  br label %15462

15445:                                            ; preds = %15423, %15416
  %15446 = load i32, ptr %324, align 4, !tbaa !5
  %15447 = call ptr @__errno_location() #12
  store i32 %15446, ptr %15447, align 4, !tbaa !5
  %15448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15449 = load i32, ptr @test_count, align 4, !tbaa !5
  %15450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15451 = load i32, ptr %15450, align 4, !tbaa !5
  %15452 = call ptr @s2n_strerror(i32 noundef %15451, ptr noundef @.str.4)
  %15453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15454 = load i32, ptr %15453, align 4, !tbaa !5
  %15455 = call ptr @s2n_strerror_debug(i32 noundef %15454, ptr noundef @.str.4)
  %15456 = call ptr @__errno_location() #12
  %15457 = load i32, ptr %15456, align 4, !tbaa !5
  %15458 = call ptr @strerror(i32 noundef %15457) #11
  %15459 = call ptr @__errno_location() #12
  %15460 = load i32, ptr %15459, align 4, !tbaa !5
  %15461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15448, ptr noundef @.str.5, i32 noundef %15449, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 496, ptr noundef %15452, ptr noundef %15455, ptr noundef %15458, i32 noundef %15460) #11
  br label %15462

15462:                                            ; preds = %15445, %15428
  call void @llvm.lifetime.end.p0(i64 4, ptr %324) #11
  br label %15463

15463:                                            ; preds = %15462
  br label %15464

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

15465:                                            ; No predecessors!
  br label %15466

15466:                                            ; preds = %15465
  br label %15467

15467:                                            ; preds = %15466, %15408
  br label %15468

15468:                                            ; preds = %15467
  br label %15469

15469:                                            ; preds = %15468
  br label %15470

15470:                                            ; preds = %15469
  %15471 = load i32, ptr @test_count, align 4, !tbaa !5
  %15472 = add nsw i32 %15471, 1
  store i32 %15472, ptr @test_count, align 4, !tbaa !5
  %15473 = load i64, ptr %320, align 8, !tbaa !42
  %15474 = icmp eq i64 %15473, 0
  br i1 %15474, label %15528, label %15475

15475:                                            ; preds = %15470
  br label %15476

15476:                                            ; preds = %15475
  br label %15477

15477:                                            ; preds = %15476
  call void @llvm.lifetime.start.p0(i64 4, ptr %325) #11
  %15478 = call ptr @__errno_location() #12
  %15479 = load i32, ptr %15478, align 4, !tbaa !5
  store i32 %15479, ptr %325, align 4, !tbaa !5
  %15480 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15481 = call i32 @s2n_print_stacktrace(ptr noundef %15480)
  %15482 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15483 = trunc i8 %15482 to i1
  br i1 %15483, label %15484, label %15506

15484:                                            ; preds = %15477
  %15485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15486 = call i32 @fileno(ptr noundef %15485) #11
  %15487 = call i32 @isatty(i32 noundef %15486) #11
  %15488 = icmp ne i32 %15487, 0
  br i1 %15488, label %15489, label %15506

15489:                                            ; preds = %15484
  %15490 = load i32, ptr %325, align 4, !tbaa !5
  %15491 = call ptr @__errno_location() #12
  store i32 %15490, ptr %15491, align 4, !tbaa !5
  %15492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15493 = load i32, ptr @test_count, align 4, !tbaa !5
  %15494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15495 = load i32, ptr %15494, align 4, !tbaa !5
  %15496 = call ptr @s2n_strerror(i32 noundef %15495, ptr noundef @.str.4)
  %15497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15498 = load i32, ptr %15497, align 4, !tbaa !5
  %15499 = call ptr @s2n_strerror_debug(i32 noundef %15498, ptr noundef @.str.4)
  %15500 = call ptr @__errno_location() #12
  %15501 = load i32, ptr %15500, align 4, !tbaa !5
  %15502 = call ptr @strerror(i32 noundef %15501) #11
  %15503 = call ptr @__errno_location() #12
  %15504 = load i32, ptr %15503, align 4, !tbaa !5
  %15505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15492, ptr noundef @.str.2, i32 noundef %15493, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 497, ptr noundef %15496, ptr noundef %15499, ptr noundef %15502, i32 noundef %15504) #11
  br label %15523

15506:                                            ; preds = %15484, %15477
  %15507 = load i32, ptr %325, align 4, !tbaa !5
  %15508 = call ptr @__errno_location() #12
  store i32 %15507, ptr %15508, align 4, !tbaa !5
  %15509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15510 = load i32, ptr @test_count, align 4, !tbaa !5
  %15511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15512 = load i32, ptr %15511, align 4, !tbaa !5
  %15513 = call ptr @s2n_strerror(i32 noundef %15512, ptr noundef @.str.4)
  %15514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15515 = load i32, ptr %15514, align 4, !tbaa !5
  %15516 = call ptr @s2n_strerror_debug(i32 noundef %15515, ptr noundef @.str.4)
  %15517 = call ptr @__errno_location() #12
  %15518 = load i32, ptr %15517, align 4, !tbaa !5
  %15519 = call ptr @strerror(i32 noundef %15518) #11
  %15520 = call ptr @__errno_location() #12
  %15521 = load i32, ptr %15520, align 4, !tbaa !5
  %15522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15509, ptr noundef @.str.5, i32 noundef %15510, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 497, ptr noundef %15513, ptr noundef %15516, ptr noundef %15519, i32 noundef %15521) #11
  br label %15523

15523:                                            ; preds = %15506, %15489
  call void @llvm.lifetime.end.p0(i64 4, ptr %325) #11
  br label %15524

15524:                                            ; preds = %15523
  br label %15525

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

15526:                                            ; No predecessors!
  br label %15527

15527:                                            ; preds = %15526
  br label %15528

15528:                                            ; preds = %15527, %15470
  br label %15529

15529:                                            ; preds = %15528
  br label %15530

15530:                                            ; preds = %15529
  br label %15531

15531:                                            ; preds = %15530
  %15532 = load i32, ptr @test_count, align 4, !tbaa !5
  %15533 = add nsw i32 %15532, 1
  store i32 %15533, ptr @test_count, align 4, !tbaa !5
  %15534 = load ptr, ptr %311, align 8, !tbaa !9
  %15535 = call i32 @s2n_connection_get_early_data_status(ptr noundef %15534, ptr noundef %321)
  %15536 = icmp eq i32 %15535, -1
  br i1 %15536, label %15537, label %15590

15537:                                            ; preds = %15531
  br label %15538

15538:                                            ; preds = %15537
  br label %15539

15539:                                            ; preds = %15538
  call void @llvm.lifetime.start.p0(i64 4, ptr %326) #11
  %15540 = call ptr @__errno_location() #12
  %15541 = load i32, ptr %15540, align 4, !tbaa !5
  store i32 %15541, ptr %326, align 4, !tbaa !5
  %15542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15543 = call i32 @s2n_print_stacktrace(ptr noundef %15542)
  %15544 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15545 = trunc i8 %15544 to i1
  br i1 %15545, label %15546, label %15568

15546:                                            ; preds = %15539
  %15547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15548 = call i32 @fileno(ptr noundef %15547) #11
  %15549 = call i32 @isatty(i32 noundef %15548) #11
  %15550 = icmp ne i32 %15549, 0
  br i1 %15550, label %15551, label %15568

15551:                                            ; preds = %15546
  %15552 = load i32, ptr %326, align 4, !tbaa !5
  %15553 = call ptr @__errno_location() #12
  store i32 %15552, ptr %15553, align 4, !tbaa !5
  %15554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15555 = load i32, ptr @test_count, align 4, !tbaa !5
  %15556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15557 = load i32, ptr %15556, align 4, !tbaa !5
  %15558 = call ptr @s2n_strerror(i32 noundef %15557, ptr noundef @.str.4)
  %15559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15560 = load i32, ptr %15559, align 4, !tbaa !5
  %15561 = call ptr @s2n_strerror_debug(i32 noundef %15560, ptr noundef @.str.4)
  %15562 = call ptr @__errno_location() #12
  %15563 = load i32, ptr %15562, align 4, !tbaa !5
  %15564 = call ptr @strerror(i32 noundef %15563) #11
  %15565 = call ptr @__errno_location() #12
  %15566 = load i32, ptr %15565, align 4, !tbaa !5
  %15567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15554, ptr noundef @.str.2, i32 noundef %15555, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 499, ptr noundef %15558, ptr noundef %15561, ptr noundef %15564, i32 noundef %15566) #11
  br label %15585

15568:                                            ; preds = %15546, %15539
  %15569 = load i32, ptr %326, align 4, !tbaa !5
  %15570 = call ptr @__errno_location() #12
  store i32 %15569, ptr %15570, align 4, !tbaa !5
  %15571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15572 = load i32, ptr @test_count, align 4, !tbaa !5
  %15573 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15574 = load i32, ptr %15573, align 4, !tbaa !5
  %15575 = call ptr @s2n_strerror(i32 noundef %15574, ptr noundef @.str.4)
  %15576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15577 = load i32, ptr %15576, align 4, !tbaa !5
  %15578 = call ptr @s2n_strerror_debug(i32 noundef %15577, ptr noundef @.str.4)
  %15579 = call ptr @__errno_location() #12
  %15580 = load i32, ptr %15579, align 4, !tbaa !5
  %15581 = call ptr @strerror(i32 noundef %15580) #11
  %15582 = call ptr @__errno_location() #12
  %15583 = load i32, ptr %15582, align 4, !tbaa !5
  %15584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15571, ptr noundef @.str.5, i32 noundef %15572, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 499, ptr noundef %15575, ptr noundef %15578, ptr noundef %15581, i32 noundef %15583) #11
  br label %15585

15585:                                            ; preds = %15568, %15551
  call void @llvm.lifetime.end.p0(i64 4, ptr %326) #11
  br label %15586

15586:                                            ; preds = %15585
  br label %15587

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

15588:                                            ; No predecessors!
  br label %15589

15589:                                            ; preds = %15588
  br label %15590

15590:                                            ; preds = %15589, %15531
  br label %15591

15591:                                            ; preds = %15590
  br label %15592

15592:                                            ; preds = %15591
  br label %15593

15593:                                            ; preds = %15592
  %15594 = load i32, ptr @test_count, align 4, !tbaa !5
  %15595 = add nsw i32 %15594, 1
  store i32 %15595, ptr @test_count, align 4, !tbaa !5
  %15596 = load i32, ptr %321, align 4, !tbaa !5
  %15597 = icmp eq i32 %15596, 1
  br i1 %15597, label %15651, label %15598

15598:                                            ; preds = %15593
  br label %15599

15599:                                            ; preds = %15598
  br label %15600

15600:                                            ; preds = %15599
  call void @llvm.lifetime.start.p0(i64 4, ptr %327) #11
  %15601 = call ptr @__errno_location() #12
  %15602 = load i32, ptr %15601, align 4, !tbaa !5
  store i32 %15602, ptr %327, align 4, !tbaa !5
  %15603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15604 = call i32 @s2n_print_stacktrace(ptr noundef %15603)
  %15605 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15606 = trunc i8 %15605 to i1
  br i1 %15606, label %15607, label %15629

15607:                                            ; preds = %15600
  %15608 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15609 = call i32 @fileno(ptr noundef %15608) #11
  %15610 = call i32 @isatty(i32 noundef %15609) #11
  %15611 = icmp ne i32 %15610, 0
  br i1 %15611, label %15612, label %15629

15612:                                            ; preds = %15607
  %15613 = load i32, ptr %327, align 4, !tbaa !5
  %15614 = call ptr @__errno_location() #12
  store i32 %15613, ptr %15614, align 4, !tbaa !5
  %15615 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15616 = load i32, ptr @test_count, align 4, !tbaa !5
  %15617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15618 = load i32, ptr %15617, align 4, !tbaa !5
  %15619 = call ptr @s2n_strerror(i32 noundef %15618, ptr noundef @.str.4)
  %15620 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15621 = load i32, ptr %15620, align 4, !tbaa !5
  %15622 = call ptr @s2n_strerror_debug(i32 noundef %15621, ptr noundef @.str.4)
  %15623 = call ptr @__errno_location() #12
  %15624 = load i32, ptr %15623, align 4, !tbaa !5
  %15625 = call ptr @strerror(i32 noundef %15624) #11
  %15626 = call ptr @__errno_location() #12
  %15627 = load i32, ptr %15626, align 4, !tbaa !5
  %15628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15615, ptr noundef @.str.2, i32 noundef %15616, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 500, ptr noundef %15619, ptr noundef %15622, ptr noundef %15625, i32 noundef %15627) #11
  br label %15646

15629:                                            ; preds = %15607, %15600
  %15630 = load i32, ptr %327, align 4, !tbaa !5
  %15631 = call ptr @__errno_location() #12
  store i32 %15630, ptr %15631, align 4, !tbaa !5
  %15632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15633 = load i32, ptr @test_count, align 4, !tbaa !5
  %15634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15635 = load i32, ptr %15634, align 4, !tbaa !5
  %15636 = call ptr @s2n_strerror(i32 noundef %15635, ptr noundef @.str.4)
  %15637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15638 = load i32, ptr %15637, align 4, !tbaa !5
  %15639 = call ptr @s2n_strerror_debug(i32 noundef %15638, ptr noundef @.str.4)
  %15640 = call ptr @__errno_location() #12
  %15641 = load i32, ptr %15640, align 4, !tbaa !5
  %15642 = call ptr @strerror(i32 noundef %15641) #11
  %15643 = call ptr @__errno_location() #12
  %15644 = load i32, ptr %15643, align 4, !tbaa !5
  %15645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15632, ptr noundef @.str.5, i32 noundef %15633, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 500, ptr noundef %15636, ptr noundef %15639, ptr noundef %15642, i32 noundef %15644) #11
  br label %15646

15646:                                            ; preds = %15629, %15612
  call void @llvm.lifetime.end.p0(i64 4, ptr %327) #11
  br label %15647

15647:                                            ; preds = %15646
  br label %15648

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

15649:                                            ; No predecessors!
  br label %15650

15650:                                            ; preds = %15649
  br label %15651

15651:                                            ; preds = %15650, %15593
  br label %15652

15652:                                            ; preds = %15651
  br label %15653

15653:                                            ; preds = %15652
  br label %15654

15654:                                            ; preds = %15653
  %15655 = load i32, ptr @test_count, align 4, !tbaa !5
  %15656 = add nsw i32 %15655, 1
  store i32 %15656, ptr @test_count, align 4, !tbaa !5
  %15657 = load ptr, ptr %312, align 8, !tbaa !9
  %15658 = getelementptr inbounds [100 x i8], ptr %318, i64 0, i64 0
  %15659 = call i32 @s2n_recv_early_data(ptr noundef %15657, ptr noundef %15658, i64 noundef 100, ptr noundef %320, ptr noundef %319)
  %15660 = icmp eq i32 %15659, -1
  br i1 %15660, label %15661, label %15714

15661:                                            ; preds = %15654
  br label %15662

15662:                                            ; preds = %15661
  br label %15663

15663:                                            ; preds = %15662
  call void @llvm.lifetime.start.p0(i64 4, ptr %328) #11
  %15664 = call ptr @__errno_location() #12
  %15665 = load i32, ptr %15664, align 4, !tbaa !5
  store i32 %15665, ptr %328, align 4, !tbaa !5
  %15666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15667 = call i32 @s2n_print_stacktrace(ptr noundef %15666)
  %15668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15669 = trunc i8 %15668 to i1
  br i1 %15669, label %15670, label %15692

15670:                                            ; preds = %15663
  %15671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15672 = call i32 @fileno(ptr noundef %15671) #11
  %15673 = call i32 @isatty(i32 noundef %15672) #11
  %15674 = icmp ne i32 %15673, 0
  br i1 %15674, label %15675, label %15692

15675:                                            ; preds = %15670
  %15676 = load i32, ptr %328, align 4, !tbaa !5
  %15677 = call ptr @__errno_location() #12
  store i32 %15676, ptr %15677, align 4, !tbaa !5
  %15678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15679 = load i32, ptr @test_count, align 4, !tbaa !5
  %15680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15681 = load i32, ptr %15680, align 4, !tbaa !5
  %15682 = call ptr @s2n_strerror(i32 noundef %15681, ptr noundef @.str.4)
  %15683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15684 = load i32, ptr %15683, align 4, !tbaa !5
  %15685 = call ptr @s2n_strerror_debug(i32 noundef %15684, ptr noundef @.str.4)
  %15686 = call ptr @__errno_location() #12
  %15687 = load i32, ptr %15686, align 4, !tbaa !5
  %15688 = call ptr @strerror(i32 noundef %15687) #11
  %15689 = call ptr @__errno_location() #12
  %15690 = load i32, ptr %15689, align 4, !tbaa !5
  %15691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15678, ptr noundef @.str.2, i32 noundef %15679, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 503, ptr noundef %15682, ptr noundef %15685, ptr noundef %15688, i32 noundef %15690) #11
  br label %15709

15692:                                            ; preds = %15670, %15663
  %15693 = load i32, ptr %328, align 4, !tbaa !5
  %15694 = call ptr @__errno_location() #12
  store i32 %15693, ptr %15694, align 4, !tbaa !5
  %15695 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15696 = load i32, ptr @test_count, align 4, !tbaa !5
  %15697 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15698 = load i32, ptr %15697, align 4, !tbaa !5
  %15699 = call ptr @s2n_strerror(i32 noundef %15698, ptr noundef @.str.4)
  %15700 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15701 = load i32, ptr %15700, align 4, !tbaa !5
  %15702 = call ptr @s2n_strerror_debug(i32 noundef %15701, ptr noundef @.str.4)
  %15703 = call ptr @__errno_location() #12
  %15704 = load i32, ptr %15703, align 4, !tbaa !5
  %15705 = call ptr @strerror(i32 noundef %15704) #11
  %15706 = call ptr @__errno_location() #12
  %15707 = load i32, ptr %15706, align 4, !tbaa !5
  %15708 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15695, ptr noundef @.str.5, i32 noundef %15696, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 503, ptr noundef %15699, ptr noundef %15702, ptr noundef %15705, i32 noundef %15707) #11
  br label %15709

15709:                                            ; preds = %15692, %15675
  call void @llvm.lifetime.end.p0(i64 4, ptr %328) #11
  br label %15710

15710:                                            ; preds = %15709
  br label %15711

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

15712:                                            ; No predecessors!
  br label %15713

15713:                                            ; preds = %15712
  br label %15714

15714:                                            ; preds = %15713, %15654
  br label %15715

15715:                                            ; preds = %15714
  br label %15716

15716:                                            ; preds = %15715
  br label %15717

15717:                                            ; preds = %15716
  %15718 = load i32, ptr @test_count, align 4, !tbaa !5
  %15719 = add nsw i32 %15718, 1
  store i32 %15719, ptr @test_count, align 4, !tbaa !5
  %15720 = load i32, ptr %319, align 4, !tbaa !5
  %15721 = icmp eq i32 %15720, 0
  br i1 %15721, label %15775, label %15722

15722:                                            ; preds = %15717
  br label %15723

15723:                                            ; preds = %15722
  br label %15724

15724:                                            ; preds = %15723
  call void @llvm.lifetime.start.p0(i64 4, ptr %329) #11
  %15725 = call ptr @__errno_location() #12
  %15726 = load i32, ptr %15725, align 4, !tbaa !5
  store i32 %15726, ptr %329, align 4, !tbaa !5
  %15727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15728 = call i32 @s2n_print_stacktrace(ptr noundef %15727)
  %15729 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15730 = trunc i8 %15729 to i1
  br i1 %15730, label %15731, label %15753

15731:                                            ; preds = %15724
  %15732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15733 = call i32 @fileno(ptr noundef %15732) #11
  %15734 = call i32 @isatty(i32 noundef %15733) #11
  %15735 = icmp ne i32 %15734, 0
  br i1 %15735, label %15736, label %15753

15736:                                            ; preds = %15731
  %15737 = load i32, ptr %329, align 4, !tbaa !5
  %15738 = call ptr @__errno_location() #12
  store i32 %15737, ptr %15738, align 4, !tbaa !5
  %15739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15740 = load i32, ptr @test_count, align 4, !tbaa !5
  %15741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15742 = load i32, ptr %15741, align 4, !tbaa !5
  %15743 = call ptr @s2n_strerror(i32 noundef %15742, ptr noundef @.str.4)
  %15744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15745 = load i32, ptr %15744, align 4, !tbaa !5
  %15746 = call ptr @s2n_strerror_debug(i32 noundef %15745, ptr noundef @.str.4)
  %15747 = call ptr @__errno_location() #12
  %15748 = load i32, ptr %15747, align 4, !tbaa !5
  %15749 = call ptr @strerror(i32 noundef %15748) #11
  %15750 = call ptr @__errno_location() #12
  %15751 = load i32, ptr %15750, align 4, !tbaa !5
  %15752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15739, ptr noundef @.str.2, i32 noundef %15740, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 504, ptr noundef %15743, ptr noundef %15746, ptr noundef %15749, i32 noundef %15751) #11
  br label %15770

15753:                                            ; preds = %15731, %15724
  %15754 = load i32, ptr %329, align 4, !tbaa !5
  %15755 = call ptr @__errno_location() #12
  store i32 %15754, ptr %15755, align 4, !tbaa !5
  %15756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15757 = load i32, ptr @test_count, align 4, !tbaa !5
  %15758 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15759 = load i32, ptr %15758, align 4, !tbaa !5
  %15760 = call ptr @s2n_strerror(i32 noundef %15759, ptr noundef @.str.4)
  %15761 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15762 = load i32, ptr %15761, align 4, !tbaa !5
  %15763 = call ptr @s2n_strerror_debug(i32 noundef %15762, ptr noundef @.str.4)
  %15764 = call ptr @__errno_location() #12
  %15765 = load i32, ptr %15764, align 4, !tbaa !5
  %15766 = call ptr @strerror(i32 noundef %15765) #11
  %15767 = call ptr @__errno_location() #12
  %15768 = load i32, ptr %15767, align 4, !tbaa !5
  %15769 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15756, ptr noundef @.str.5, i32 noundef %15757, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 504, ptr noundef %15760, ptr noundef %15763, ptr noundef %15766, i32 noundef %15768) #11
  br label %15770

15770:                                            ; preds = %15753, %15736
  call void @llvm.lifetime.end.p0(i64 4, ptr %329) #11
  br label %15771

15771:                                            ; preds = %15770
  br label %15772

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

15773:                                            ; No predecessors!
  br label %15774

15774:                                            ; preds = %15773
  br label %15775

15775:                                            ; preds = %15774, %15717
  br label %15776

15776:                                            ; preds = %15775
  br label %15777

15777:                                            ; preds = %15776
  br label %15778

15778:                                            ; preds = %15777
  %15779 = load i32, ptr @test_count, align 4, !tbaa !5
  %15780 = add nsw i32 %15779, 1
  store i32 %15780, ptr @test_count, align 4, !tbaa !5
  %15781 = load ptr, ptr %312, align 8, !tbaa !9
  %15782 = call i32 @s2n_conn_get_current_message_type(ptr noundef %15781)
  %15783 = icmp eq i32 %15782, 13
  br i1 %15783, label %15837, label %15784

15784:                                            ; preds = %15778
  br label %15785

15785:                                            ; preds = %15784
  br label %15786

15786:                                            ; preds = %15785
  call void @llvm.lifetime.start.p0(i64 4, ptr %330) #11
  %15787 = call ptr @__errno_location() #12
  %15788 = load i32, ptr %15787, align 4, !tbaa !5
  store i32 %15788, ptr %330, align 4, !tbaa !5
  %15789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15790 = call i32 @s2n_print_stacktrace(ptr noundef %15789)
  %15791 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15792 = trunc i8 %15791 to i1
  br i1 %15792, label %15793, label %15815

15793:                                            ; preds = %15786
  %15794 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15795 = call i32 @fileno(ptr noundef %15794) #11
  %15796 = call i32 @isatty(i32 noundef %15795) #11
  %15797 = icmp ne i32 %15796, 0
  br i1 %15797, label %15798, label %15815

15798:                                            ; preds = %15793
  %15799 = load i32, ptr %330, align 4, !tbaa !5
  %15800 = call ptr @__errno_location() #12
  store i32 %15799, ptr %15800, align 4, !tbaa !5
  %15801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15802 = load i32, ptr @test_count, align 4, !tbaa !5
  %15803 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15804 = load i32, ptr %15803, align 4, !tbaa !5
  %15805 = call ptr @s2n_strerror(i32 noundef %15804, ptr noundef @.str.4)
  %15806 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15807 = load i32, ptr %15806, align 4, !tbaa !5
  %15808 = call ptr @s2n_strerror_debug(i32 noundef %15807, ptr noundef @.str.4)
  %15809 = call ptr @__errno_location() #12
  %15810 = load i32, ptr %15809, align 4, !tbaa !5
  %15811 = call ptr @strerror(i32 noundef %15810) #11
  %15812 = call ptr @__errno_location() #12
  %15813 = load i32, ptr %15812, align 4, !tbaa !5
  %15814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15801, ptr noundef @.str.2, i32 noundef %15802, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 504, ptr noundef %15805, ptr noundef %15808, ptr noundef %15811, i32 noundef %15813) #11
  br label %15832

15815:                                            ; preds = %15793, %15786
  %15816 = load i32, ptr %330, align 4, !tbaa !5
  %15817 = call ptr @__errno_location() #12
  store i32 %15816, ptr %15817, align 4, !tbaa !5
  %15818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15819 = load i32, ptr @test_count, align 4, !tbaa !5
  %15820 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15821 = load i32, ptr %15820, align 4, !tbaa !5
  %15822 = call ptr @s2n_strerror(i32 noundef %15821, ptr noundef @.str.4)
  %15823 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15824 = load i32, ptr %15823, align 4, !tbaa !5
  %15825 = call ptr @s2n_strerror_debug(i32 noundef %15824, ptr noundef @.str.4)
  %15826 = call ptr @__errno_location() #12
  %15827 = load i32, ptr %15826, align 4, !tbaa !5
  %15828 = call ptr @strerror(i32 noundef %15827) #11
  %15829 = call ptr @__errno_location() #12
  %15830 = load i32, ptr %15829, align 4, !tbaa !5
  %15831 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15818, ptr noundef @.str.5, i32 noundef %15819, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 504, ptr noundef %15822, ptr noundef %15825, ptr noundef %15828, i32 noundef %15830) #11
  br label %15832

15832:                                            ; preds = %15815, %15798
  call void @llvm.lifetime.end.p0(i64 4, ptr %330) #11
  br label %15833

15833:                                            ; preds = %15832
  br label %15834

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

15835:                                            ; No predecessors!
  br label %15836

15836:                                            ; preds = %15835
  br label %15837

15837:                                            ; preds = %15836, %15778
  br label %15838

15838:                                            ; preds = %15837
  br label %15839

15839:                                            ; preds = %15838
  br label %15840

15840:                                            ; preds = %15839
  %15841 = load i32, ptr @test_count, align 4, !tbaa !5
  %15842 = add nsw i32 %15841, 1
  store i32 %15842, ptr @test_count, align 4, !tbaa !5
  %15843 = load i64, ptr %320, align 8, !tbaa !42
  %15844 = icmp eq i64 %15843, 0
  br i1 %15844, label %15898, label %15845

15845:                                            ; preds = %15840
  br label %15846

15846:                                            ; preds = %15845
  br label %15847

15847:                                            ; preds = %15846
  call void @llvm.lifetime.start.p0(i64 4, ptr %331) #11
  %15848 = call ptr @__errno_location() #12
  %15849 = load i32, ptr %15848, align 4, !tbaa !5
  store i32 %15849, ptr %331, align 4, !tbaa !5
  %15850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15851 = call i32 @s2n_print_stacktrace(ptr noundef %15850)
  %15852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15853 = trunc i8 %15852 to i1
  br i1 %15853, label %15854, label %15876

15854:                                            ; preds = %15847
  %15855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15856 = call i32 @fileno(ptr noundef %15855) #11
  %15857 = call i32 @isatty(i32 noundef %15856) #11
  %15858 = icmp ne i32 %15857, 0
  br i1 %15858, label %15859, label %15876

15859:                                            ; preds = %15854
  %15860 = load i32, ptr %331, align 4, !tbaa !5
  %15861 = call ptr @__errno_location() #12
  store i32 %15860, ptr %15861, align 4, !tbaa !5
  %15862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15863 = load i32, ptr @test_count, align 4, !tbaa !5
  %15864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15865 = load i32, ptr %15864, align 4, !tbaa !5
  %15866 = call ptr @s2n_strerror(i32 noundef %15865, ptr noundef @.str.4)
  %15867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15868 = load i32, ptr %15867, align 4, !tbaa !5
  %15869 = call ptr @s2n_strerror_debug(i32 noundef %15868, ptr noundef @.str.4)
  %15870 = call ptr @__errno_location() #12
  %15871 = load i32, ptr %15870, align 4, !tbaa !5
  %15872 = call ptr @strerror(i32 noundef %15871) #11
  %15873 = call ptr @__errno_location() #12
  %15874 = load i32, ptr %15873, align 4, !tbaa !5
  %15875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15862, ptr noundef @.str.2, i32 noundef %15863, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 505, ptr noundef %15866, ptr noundef %15869, ptr noundef %15872, i32 noundef %15874) #11
  br label %15893

15876:                                            ; preds = %15854, %15847
  %15877 = load i32, ptr %331, align 4, !tbaa !5
  %15878 = call ptr @__errno_location() #12
  store i32 %15877, ptr %15878, align 4, !tbaa !5
  %15879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15880 = load i32, ptr @test_count, align 4, !tbaa !5
  %15881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15882 = load i32, ptr %15881, align 4, !tbaa !5
  %15883 = call ptr @s2n_strerror(i32 noundef %15882, ptr noundef @.str.4)
  %15884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15885 = load i32, ptr %15884, align 4, !tbaa !5
  %15886 = call ptr @s2n_strerror_debug(i32 noundef %15885, ptr noundef @.str.4)
  %15887 = call ptr @__errno_location() #12
  %15888 = load i32, ptr %15887, align 4, !tbaa !5
  %15889 = call ptr @strerror(i32 noundef %15888) #11
  %15890 = call ptr @__errno_location() #12
  %15891 = load i32, ptr %15890, align 4, !tbaa !5
  %15892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15879, ptr noundef @.str.5, i32 noundef %15880, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 505, ptr noundef %15883, ptr noundef %15886, ptr noundef %15889, i32 noundef %15891) #11
  br label %15893

15893:                                            ; preds = %15876, %15859
  call void @llvm.lifetime.end.p0(i64 4, ptr %331) #11
  br label %15894

15894:                                            ; preds = %15893
  br label %15895

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

15896:                                            ; No predecessors!
  br label %15897

15897:                                            ; preds = %15896
  br label %15898

15898:                                            ; preds = %15897, %15840
  br label %15899

15899:                                            ; preds = %15898
  br label %15900

15900:                                            ; preds = %15899
  br label %15901

15901:                                            ; preds = %15900
  %15902 = load i32, ptr @test_count, align 4, !tbaa !5
  %15903 = add nsw i32 %15902, 1
  store i32 %15903, ptr @test_count, align 4, !tbaa !5
  %15904 = load ptr, ptr %312, align 8, !tbaa !9
  %15905 = call i32 @s2n_connection_get_early_data_status(ptr noundef %15904, ptr noundef %321)
  %15906 = icmp eq i32 %15905, -1
  br i1 %15906, label %15907, label %15960

15907:                                            ; preds = %15901
  br label %15908

15908:                                            ; preds = %15907
  br label %15909

15909:                                            ; preds = %15908
  call void @llvm.lifetime.start.p0(i64 4, ptr %332) #11
  %15910 = call ptr @__errno_location() #12
  %15911 = load i32, ptr %15910, align 4, !tbaa !5
  store i32 %15911, ptr %332, align 4, !tbaa !5
  %15912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15913 = call i32 @s2n_print_stacktrace(ptr noundef %15912)
  %15914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15915 = trunc i8 %15914 to i1
  br i1 %15915, label %15916, label %15938

15916:                                            ; preds = %15909
  %15917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15918 = call i32 @fileno(ptr noundef %15917) #11
  %15919 = call i32 @isatty(i32 noundef %15918) #11
  %15920 = icmp ne i32 %15919, 0
  br i1 %15920, label %15921, label %15938

15921:                                            ; preds = %15916
  %15922 = load i32, ptr %332, align 4, !tbaa !5
  %15923 = call ptr @__errno_location() #12
  store i32 %15922, ptr %15923, align 4, !tbaa !5
  %15924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15925 = load i32, ptr @test_count, align 4, !tbaa !5
  %15926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15927 = load i32, ptr %15926, align 4, !tbaa !5
  %15928 = call ptr @s2n_strerror(i32 noundef %15927, ptr noundef @.str.4)
  %15929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15930 = load i32, ptr %15929, align 4, !tbaa !5
  %15931 = call ptr @s2n_strerror_debug(i32 noundef %15930, ptr noundef @.str.4)
  %15932 = call ptr @__errno_location() #12
  %15933 = load i32, ptr %15932, align 4, !tbaa !5
  %15934 = call ptr @strerror(i32 noundef %15933) #11
  %15935 = call ptr @__errno_location() #12
  %15936 = load i32, ptr %15935, align 4, !tbaa !5
  %15937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15924, ptr noundef @.str.2, i32 noundef %15925, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 507, ptr noundef %15928, ptr noundef %15931, ptr noundef %15934, i32 noundef %15936) #11
  br label %15955

15938:                                            ; preds = %15916, %15909
  %15939 = load i32, ptr %332, align 4, !tbaa !5
  %15940 = call ptr @__errno_location() #12
  store i32 %15939, ptr %15940, align 4, !tbaa !5
  %15941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15942 = load i32, ptr @test_count, align 4, !tbaa !5
  %15943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15944 = load i32, ptr %15943, align 4, !tbaa !5
  %15945 = call ptr @s2n_strerror(i32 noundef %15944, ptr noundef @.str.4)
  %15946 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15947 = load i32, ptr %15946, align 4, !tbaa !5
  %15948 = call ptr @s2n_strerror_debug(i32 noundef %15947, ptr noundef @.str.4)
  %15949 = call ptr @__errno_location() #12
  %15950 = load i32, ptr %15949, align 4, !tbaa !5
  %15951 = call ptr @strerror(i32 noundef %15950) #11
  %15952 = call ptr @__errno_location() #12
  %15953 = load i32, ptr %15952, align 4, !tbaa !5
  %15954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15941, ptr noundef @.str.5, i32 noundef %15942, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 507, ptr noundef %15945, ptr noundef %15948, ptr noundef %15951, i32 noundef %15953) #11
  br label %15955

15955:                                            ; preds = %15938, %15921
  call void @llvm.lifetime.end.p0(i64 4, ptr %332) #11
  br label %15956

15956:                                            ; preds = %15955
  br label %15957

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

15958:                                            ; No predecessors!
  br label %15959

15959:                                            ; preds = %15958
  br label %15960

15960:                                            ; preds = %15959, %15901
  br label %15961

15961:                                            ; preds = %15960
  br label %15962

15962:                                            ; preds = %15961
  br label %15963

15963:                                            ; preds = %15962
  %15964 = load i32, ptr @test_count, align 4, !tbaa !5
  %15965 = add nsw i32 %15964, 1
  store i32 %15965, ptr @test_count, align 4, !tbaa !5
  %15966 = load i32, ptr %321, align 4, !tbaa !5
  %15967 = icmp eq i32 %15966, 1
  br i1 %15967, label %16021, label %15968

15968:                                            ; preds = %15963
  br label %15969

15969:                                            ; preds = %15968
  br label %15970

15970:                                            ; preds = %15969
  call void @llvm.lifetime.start.p0(i64 4, ptr %333) #11
  %15971 = call ptr @__errno_location() #12
  %15972 = load i32, ptr %15971, align 4, !tbaa !5
  store i32 %15972, ptr %333, align 4, !tbaa !5
  %15973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15974 = call i32 @s2n_print_stacktrace(ptr noundef %15973)
  %15975 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %15976 = trunc i8 %15975 to i1
  br i1 %15976, label %15977, label %15999

15977:                                            ; preds = %15970
  %15978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15979 = call i32 @fileno(ptr noundef %15978) #11
  %15980 = call i32 @isatty(i32 noundef %15979) #11
  %15981 = icmp ne i32 %15980, 0
  br i1 %15981, label %15982, label %15999

15982:                                            ; preds = %15977
  %15983 = load i32, ptr %333, align 4, !tbaa !5
  %15984 = call ptr @__errno_location() #12
  store i32 %15983, ptr %15984, align 4, !tbaa !5
  %15985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %15986 = load i32, ptr @test_count, align 4, !tbaa !5
  %15987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15988 = load i32, ptr %15987, align 4, !tbaa !5
  %15989 = call ptr @s2n_strerror(i32 noundef %15988, ptr noundef @.str.4)
  %15990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %15991 = load i32, ptr %15990, align 4, !tbaa !5
  %15992 = call ptr @s2n_strerror_debug(i32 noundef %15991, ptr noundef @.str.4)
  %15993 = call ptr @__errno_location() #12
  %15994 = load i32, ptr %15993, align 4, !tbaa !5
  %15995 = call ptr @strerror(i32 noundef %15994) #11
  %15996 = call ptr @__errno_location() #12
  %15997 = load i32, ptr %15996, align 4, !tbaa !5
  %15998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %15985, ptr noundef @.str.2, i32 noundef %15986, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 508, ptr noundef %15989, ptr noundef %15992, ptr noundef %15995, i32 noundef %15997) #11
  br label %16016

15999:                                            ; preds = %15977, %15970
  %16000 = load i32, ptr %333, align 4, !tbaa !5
  %16001 = call ptr @__errno_location() #12
  store i32 %16000, ptr %16001, align 4, !tbaa !5
  %16002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16003 = load i32, ptr @test_count, align 4, !tbaa !5
  %16004 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16005 = load i32, ptr %16004, align 4, !tbaa !5
  %16006 = call ptr @s2n_strerror(i32 noundef %16005, ptr noundef @.str.4)
  %16007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16008 = load i32, ptr %16007, align 4, !tbaa !5
  %16009 = call ptr @s2n_strerror_debug(i32 noundef %16008, ptr noundef @.str.4)
  %16010 = call ptr @__errno_location() #12
  %16011 = load i32, ptr %16010, align 4, !tbaa !5
  %16012 = call ptr @strerror(i32 noundef %16011) #11
  %16013 = call ptr @__errno_location() #12
  %16014 = load i32, ptr %16013, align 4, !tbaa !5
  %16015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16002, ptr noundef @.str.5, i32 noundef %16003, ptr noundef @.str.96, ptr noundef @.str.1, i32 noundef 508, ptr noundef %16006, ptr noundef %16009, ptr noundef %16012, i32 noundef %16014) #11
  br label %16016

16016:                                            ; preds = %15999, %15982
  call void @llvm.lifetime.end.p0(i64 4, ptr %333) #11
  br label %16017

16017:                                            ; preds = %16016
  br label %16018

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

16019:                                            ; No predecessors!
  br label %16020

16020:                                            ; preds = %16019
  br label %16021

16021:                                            ; preds = %16020, %15963
  br label %16022

16022:                                            ; preds = %16021
  br label %16023

16023:                                            ; preds = %16022
  br label %16024

16024:                                            ; preds = %16023
  %16025 = load i32, ptr @test_count, align 4, !tbaa !5
  %16026 = add nsw i32 %16025, 1
  store i32 %16026, ptr @test_count, align 4, !tbaa !5
  %16027 = load ptr, ptr %312, align 8, !tbaa !9
  %16028 = load ptr, ptr %311, align 8, !tbaa !9
  %16029 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %16027, ptr noundef %16028)
  %16030 = icmp eq i32 %16029, -1
  br i1 %16030, label %16031, label %16084

16031:                                            ; preds = %16024
  br label %16032

16032:                                            ; preds = %16031
  br label %16033

16033:                                            ; preds = %16032
  call void @llvm.lifetime.start.p0(i64 4, ptr %334) #11
  %16034 = call ptr @__errno_location() #12
  %16035 = load i32, ptr %16034, align 4, !tbaa !5
  store i32 %16035, ptr %334, align 4, !tbaa !5
  %16036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16037 = call i32 @s2n_print_stacktrace(ptr noundef %16036)
  %16038 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16039 = trunc i8 %16038 to i1
  br i1 %16039, label %16040, label %16062

16040:                                            ; preds = %16033
  %16041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16042 = call i32 @fileno(ptr noundef %16041) #11
  %16043 = call i32 @isatty(i32 noundef %16042) #11
  %16044 = icmp ne i32 %16043, 0
  br i1 %16044, label %16045, label %16062

16045:                                            ; preds = %16040
  %16046 = load i32, ptr %334, align 4, !tbaa !5
  %16047 = call ptr @__errno_location() #12
  store i32 %16046, ptr %16047, align 4, !tbaa !5
  %16048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16049 = load i32, ptr @test_count, align 4, !tbaa !5
  %16050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16051 = load i32, ptr %16050, align 4, !tbaa !5
  %16052 = call ptr @s2n_strerror(i32 noundef %16051, ptr noundef @.str.4)
  %16053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16054 = load i32, ptr %16053, align 4, !tbaa !5
  %16055 = call ptr @s2n_strerror_debug(i32 noundef %16054, ptr noundef @.str.4)
  %16056 = call ptr @__errno_location() #12
  %16057 = load i32, ptr %16056, align 4, !tbaa !5
  %16058 = call ptr @strerror(i32 noundef %16057) #11
  %16059 = call ptr @__errno_location() #12
  %16060 = load i32, ptr %16059, align 4, !tbaa !5
  %16061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16048, ptr noundef @.str.2, i32 noundef %16049, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 510, ptr noundef %16052, ptr noundef %16055, ptr noundef %16058, i32 noundef %16060) #11
  br label %16079

16062:                                            ; preds = %16040, %16033
  %16063 = load i32, ptr %334, align 4, !tbaa !5
  %16064 = call ptr @__errno_location() #12
  store i32 %16063, ptr %16064, align 4, !tbaa !5
  %16065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16066 = load i32, ptr @test_count, align 4, !tbaa !5
  %16067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16068 = load i32, ptr %16067, align 4, !tbaa !5
  %16069 = call ptr @s2n_strerror(i32 noundef %16068, ptr noundef @.str.4)
  %16070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16071 = load i32, ptr %16070, align 4, !tbaa !5
  %16072 = call ptr @s2n_strerror_debug(i32 noundef %16071, ptr noundef @.str.4)
  %16073 = call ptr @__errno_location() #12
  %16074 = load i32, ptr %16073, align 4, !tbaa !5
  %16075 = call ptr @strerror(i32 noundef %16074) #11
  %16076 = call ptr @__errno_location() #12
  %16077 = load i32, ptr %16076, align 4, !tbaa !5
  %16078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16065, ptr noundef @.str.5, i32 noundef %16066, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 510, ptr noundef %16069, ptr noundef %16072, ptr noundef %16075, i32 noundef %16077) #11
  br label %16079

16079:                                            ; preds = %16062, %16045
  call void @llvm.lifetime.end.p0(i64 4, ptr %334) #11
  br label %16080

16080:                                            ; preds = %16079
  br label %16081

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

16082:                                            ; No predecessors!
  br label %16083

16083:                                            ; preds = %16082
  br label %16084

16084:                                            ; preds = %16083, %16024
  br label %16085

16085:                                            ; preds = %16084
  br label %16086

16086:                                            ; preds = %16085
  br label %16087

16087:                                            ; preds = %16086
  %16088 = load i32, ptr @test_count, align 4, !tbaa !5
  %16089 = add nsw i32 %16088, 1
  store i32 %16089, ptr @test_count, align 4, !tbaa !5
  %16090 = load ptr, ptr %311, align 8, !tbaa !9
  %16091 = call i32 @s2n_connection_free(ptr noundef %16090)
  %16092 = icmp eq i32 %16091, -1
  br i1 %16092, label %16093, label %16146

16093:                                            ; preds = %16087
  br label %16094

16094:                                            ; preds = %16093
  br label %16095

16095:                                            ; preds = %16094
  call void @llvm.lifetime.start.p0(i64 4, ptr %335) #11
  %16096 = call ptr @__errno_location() #12
  %16097 = load i32, ptr %16096, align 4, !tbaa !5
  store i32 %16097, ptr %335, align 4, !tbaa !5
  %16098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16099 = call i32 @s2n_print_stacktrace(ptr noundef %16098)
  %16100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16101 = trunc i8 %16100 to i1
  br i1 %16101, label %16102, label %16124

16102:                                            ; preds = %16095
  %16103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16104 = call i32 @fileno(ptr noundef %16103) #11
  %16105 = call i32 @isatty(i32 noundef %16104) #11
  %16106 = icmp ne i32 %16105, 0
  br i1 %16106, label %16107, label %16124

16107:                                            ; preds = %16102
  %16108 = load i32, ptr %335, align 4, !tbaa !5
  %16109 = call ptr @__errno_location() #12
  store i32 %16108, ptr %16109, align 4, !tbaa !5
  %16110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16111 = load i32, ptr @test_count, align 4, !tbaa !5
  %16112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16113 = load i32, ptr %16112, align 4, !tbaa !5
  %16114 = call ptr @s2n_strerror(i32 noundef %16113, ptr noundef @.str.4)
  %16115 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16116 = load i32, ptr %16115, align 4, !tbaa !5
  %16117 = call ptr @s2n_strerror_debug(i32 noundef %16116, ptr noundef @.str.4)
  %16118 = call ptr @__errno_location() #12
  %16119 = load i32, ptr %16118, align 4, !tbaa !5
  %16120 = call ptr @strerror(i32 noundef %16119) #11
  %16121 = call ptr @__errno_location() #12
  %16122 = load i32, ptr %16121, align 4, !tbaa !5
  %16123 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16110, ptr noundef @.str.2, i32 noundef %16111, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 512, ptr noundef %16114, ptr noundef %16117, ptr noundef %16120, i32 noundef %16122) #11
  br label %16141

16124:                                            ; preds = %16102, %16095
  %16125 = load i32, ptr %335, align 4, !tbaa !5
  %16126 = call ptr @__errno_location() #12
  store i32 %16125, ptr %16126, align 4, !tbaa !5
  %16127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16128 = load i32, ptr @test_count, align 4, !tbaa !5
  %16129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16130 = load i32, ptr %16129, align 4, !tbaa !5
  %16131 = call ptr @s2n_strerror(i32 noundef %16130, ptr noundef @.str.4)
  %16132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16133 = load i32, ptr %16132, align 4, !tbaa !5
  %16134 = call ptr @s2n_strerror_debug(i32 noundef %16133, ptr noundef @.str.4)
  %16135 = call ptr @__errno_location() #12
  %16136 = load i32, ptr %16135, align 4, !tbaa !5
  %16137 = call ptr @strerror(i32 noundef %16136) #11
  %16138 = call ptr @__errno_location() #12
  %16139 = load i32, ptr %16138, align 4, !tbaa !5
  %16140 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16127, ptr noundef @.str.5, i32 noundef %16128, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 512, ptr noundef %16131, ptr noundef %16134, ptr noundef %16137, i32 noundef %16139) #11
  br label %16141

16141:                                            ; preds = %16124, %16107
  call void @llvm.lifetime.end.p0(i64 4, ptr %335) #11
  br label %16142

16142:                                            ; preds = %16141
  br label %16143

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

16144:                                            ; No predecessors!
  br label %16145

16145:                                            ; preds = %16144
  br label %16146

16146:                                            ; preds = %16145, %16087
  br label %16147

16147:                                            ; preds = %16146
  br label %16148

16148:                                            ; preds = %16147
  br label %16149

16149:                                            ; preds = %16148
  %16150 = load i32, ptr @test_count, align 4, !tbaa !5
  %16151 = add nsw i32 %16150, 1
  store i32 %16151, ptr @test_count, align 4, !tbaa !5
  %16152 = load ptr, ptr %312, align 8, !tbaa !9
  %16153 = call i32 @s2n_connection_free(ptr noundef %16152)
  %16154 = icmp eq i32 %16153, -1
  br i1 %16154, label %16155, label %16208

16155:                                            ; preds = %16149
  br label %16156

16156:                                            ; preds = %16155
  br label %16157

16157:                                            ; preds = %16156
  call void @llvm.lifetime.start.p0(i64 4, ptr %336) #11
  %16158 = call ptr @__errno_location() #12
  %16159 = load i32, ptr %16158, align 4, !tbaa !5
  store i32 %16159, ptr %336, align 4, !tbaa !5
  %16160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16161 = call i32 @s2n_print_stacktrace(ptr noundef %16160)
  %16162 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16163 = trunc i8 %16162 to i1
  br i1 %16163, label %16164, label %16186

16164:                                            ; preds = %16157
  %16165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16166 = call i32 @fileno(ptr noundef %16165) #11
  %16167 = call i32 @isatty(i32 noundef %16166) #11
  %16168 = icmp ne i32 %16167, 0
  br i1 %16168, label %16169, label %16186

16169:                                            ; preds = %16164
  %16170 = load i32, ptr %336, align 4, !tbaa !5
  %16171 = call ptr @__errno_location() #12
  store i32 %16170, ptr %16171, align 4, !tbaa !5
  %16172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16173 = load i32, ptr @test_count, align 4, !tbaa !5
  %16174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16175 = load i32, ptr %16174, align 4, !tbaa !5
  %16176 = call ptr @s2n_strerror(i32 noundef %16175, ptr noundef @.str.4)
  %16177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16178 = load i32, ptr %16177, align 4, !tbaa !5
  %16179 = call ptr @s2n_strerror_debug(i32 noundef %16178, ptr noundef @.str.4)
  %16180 = call ptr @__errno_location() #12
  %16181 = load i32, ptr %16180, align 4, !tbaa !5
  %16182 = call ptr @strerror(i32 noundef %16181) #11
  %16183 = call ptr @__errno_location() #12
  %16184 = load i32, ptr %16183, align 4, !tbaa !5
  %16185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16172, ptr noundef @.str.2, i32 noundef %16173, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 513, ptr noundef %16176, ptr noundef %16179, ptr noundef %16182, i32 noundef %16184) #11
  br label %16203

16186:                                            ; preds = %16164, %16157
  %16187 = load i32, ptr %336, align 4, !tbaa !5
  %16188 = call ptr @__errno_location() #12
  store i32 %16187, ptr %16188, align 4, !tbaa !5
  %16189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16190 = load i32, ptr @test_count, align 4, !tbaa !5
  %16191 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16192 = load i32, ptr %16191, align 4, !tbaa !5
  %16193 = call ptr @s2n_strerror(i32 noundef %16192, ptr noundef @.str.4)
  %16194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16195 = load i32, ptr %16194, align 4, !tbaa !5
  %16196 = call ptr @s2n_strerror_debug(i32 noundef %16195, ptr noundef @.str.4)
  %16197 = call ptr @__errno_location() #12
  %16198 = load i32, ptr %16197, align 4, !tbaa !5
  %16199 = call ptr @strerror(i32 noundef %16198) #11
  %16200 = call ptr @__errno_location() #12
  %16201 = load i32, ptr %16200, align 4, !tbaa !5
  %16202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16189, ptr noundef @.str.5, i32 noundef %16190, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 513, ptr noundef %16193, ptr noundef %16196, ptr noundef %16199, i32 noundef %16201) #11
  br label %16203

16203:                                            ; preds = %16186, %16169
  call void @llvm.lifetime.end.p0(i64 4, ptr %336) #11
  br label %16204

16204:                                            ; preds = %16203
  br label %16205

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

16206:                                            ; No predecessors!
  br label %16207

16207:                                            ; preds = %16206
  br label %16208

16208:                                            ; preds = %16207, %16149
  br label %16209

16209:                                            ; preds = %16208
  br label %16210

16210:                                            ; preds = %16209
  call void @llvm.lifetime.end.p0(i64 4, ptr %321) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %320) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %319) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %318) #11
  %16211 = call i32 @s2n_io_pair_close(ptr noundef %313)
  call void @llvm.lifetime.end.p0(i64 8, ptr %313) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %312) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %311) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %337) #11
  store ptr null, ptr %337, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %338) #11
  store ptr null, ptr %338, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %339) #11
  call void @llvm.memset.p0.i64(ptr align 4 %339, i8 0, i64 8, i1 false)
  br label %16212

16212:                                            ; preds = %16210
  %16213 = load i32, ptr @test_count, align 4, !tbaa !5
  %16214 = add nsw i32 %16213, 1
  store i32 %16214, ptr @test_count, align 4, !tbaa !5
  %16215 = call i32 @s2n_test_client_and_server_new(ptr noundef %337, ptr noundef %338, ptr noundef %339)
  %16216 = getelementptr inbounds %struct.s2n_result, ptr %340, i32 0, i32 0
  store i32 %16215, ptr %16216, align 4
  %16217 = getelementptr inbounds %struct.s2n_result, ptr %340, i32 0, i32 0
  %16218 = load i32, ptr %16217, align 4
  %16219 = call zeroext i1 @s2n_result_is_ok(i32 %16218)
  br i1 %16219, label %16273, label %16220

16220:                                            ; preds = %16212
  br label %16221

16221:                                            ; preds = %16220
  br label %16222

16222:                                            ; preds = %16221
  call void @llvm.lifetime.start.p0(i64 4, ptr %341) #11
  %16223 = call ptr @__errno_location() #12
  %16224 = load i32, ptr %16223, align 4, !tbaa !5
  store i32 %16224, ptr %341, align 4, !tbaa !5
  %16225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16226 = call i32 @s2n_print_stacktrace(ptr noundef %16225)
  %16227 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16228 = trunc i8 %16227 to i1
  br i1 %16228, label %16229, label %16251

16229:                                            ; preds = %16222
  %16230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16231 = call i32 @fileno(ptr noundef %16230) #11
  %16232 = call i32 @isatty(i32 noundef %16231) #11
  %16233 = icmp ne i32 %16232, 0
  br i1 %16233, label %16234, label %16251

16234:                                            ; preds = %16229
  %16235 = load i32, ptr %341, align 4, !tbaa !5
  %16236 = call ptr @__errno_location() #12
  store i32 %16235, ptr %16236, align 4, !tbaa !5
  %16237 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16238 = load i32, ptr @test_count, align 4, !tbaa !5
  %16239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16240 = load i32, ptr %16239, align 4, !tbaa !5
  %16241 = call ptr @s2n_strerror(i32 noundef %16240, ptr noundef @.str.4)
  %16242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16243 = load i32, ptr %16242, align 4, !tbaa !5
  %16244 = call ptr @s2n_strerror_debug(i32 noundef %16243, ptr noundef @.str.4)
  %16245 = call ptr @__errno_location() #12
  %16246 = load i32, ptr %16245, align 4, !tbaa !5
  %16247 = call ptr @strerror(i32 noundef %16246) #11
  %16248 = call ptr @__errno_location() #12
  %16249 = load i32, ptr %16248, align 4, !tbaa !5
  %16250 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16237, ptr noundef @.str.2, i32 noundef %16238, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 520, ptr noundef %16241, ptr noundef %16244, ptr noundef %16247, i32 noundef %16249) #11
  br label %16268

16251:                                            ; preds = %16229, %16222
  %16252 = load i32, ptr %341, align 4, !tbaa !5
  %16253 = call ptr @__errno_location() #12
  store i32 %16252, ptr %16253, align 4, !tbaa !5
  %16254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16255 = load i32, ptr @test_count, align 4, !tbaa !5
  %16256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16257 = load i32, ptr %16256, align 4, !tbaa !5
  %16258 = call ptr @s2n_strerror(i32 noundef %16257, ptr noundef @.str.4)
  %16259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16260 = load i32, ptr %16259, align 4, !tbaa !5
  %16261 = call ptr @s2n_strerror_debug(i32 noundef %16260, ptr noundef @.str.4)
  %16262 = call ptr @__errno_location() #12
  %16263 = load i32, ptr %16262, align 4, !tbaa !5
  %16264 = call ptr @strerror(i32 noundef %16263) #11
  %16265 = call ptr @__errno_location() #12
  %16266 = load i32, ptr %16265, align 4, !tbaa !5
  %16267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16254, ptr noundef @.str.5, i32 noundef %16255, ptr noundef @.str.59, ptr noundef @.str.1, i32 noundef 520, ptr noundef %16258, ptr noundef %16261, ptr noundef %16264, i32 noundef %16266) #11
  br label %16268

16268:                                            ; preds = %16251, %16234
  call void @llvm.lifetime.end.p0(i64 4, ptr %341) #11
  br label %16269

16269:                                            ; preds = %16268
  br label %16270

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

16271:                                            ; No predecessors!
  br label %16272

16272:                                            ; preds = %16271
  br label %16273

16273:                                            ; preds = %16272, %16212
  br label %16274

16274:                                            ; preds = %16273
  br label %16275

16275:                                            ; preds = %16274
  br label %16276

16276:                                            ; preds = %16275
  %16277 = load i32, ptr @test_count, align 4, !tbaa !5
  %16278 = add nsw i32 %16277, 1
  store i32 %16278, ptr @test_count, align 4, !tbaa !5
  %16279 = load ptr, ptr %337, align 8, !tbaa !9
  %16280 = load ptr, ptr %13, align 8, !tbaa !9
  %16281 = call i32 @s2n_connection_append_psk(ptr noundef %16279, ptr noundef %16280)
  %16282 = icmp eq i32 %16281, -1
  br i1 %16282, label %16283, label %16336

16283:                                            ; preds = %16276
  br label %16284

16284:                                            ; preds = %16283
  br label %16285

16285:                                            ; preds = %16284
  call void @llvm.lifetime.start.p0(i64 4, ptr %342) #11
  %16286 = call ptr @__errno_location() #12
  %16287 = load i32, ptr %16286, align 4, !tbaa !5
  store i32 %16287, ptr %342, align 4, !tbaa !5
  %16288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16289 = call i32 @s2n_print_stacktrace(ptr noundef %16288)
  %16290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16291 = trunc i8 %16290 to i1
  br i1 %16291, label %16292, label %16314

16292:                                            ; preds = %16285
  %16293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16294 = call i32 @fileno(ptr noundef %16293) #11
  %16295 = call i32 @isatty(i32 noundef %16294) #11
  %16296 = icmp ne i32 %16295, 0
  br i1 %16296, label %16297, label %16314

16297:                                            ; preds = %16292
  %16298 = load i32, ptr %342, align 4, !tbaa !5
  %16299 = call ptr @__errno_location() #12
  store i32 %16298, ptr %16299, align 4, !tbaa !5
  %16300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16301 = load i32, ptr @test_count, align 4, !tbaa !5
  %16302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16303 = load i32, ptr %16302, align 4, !tbaa !5
  %16304 = call ptr @s2n_strerror(i32 noundef %16303, ptr noundef @.str.4)
  %16305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16306 = load i32, ptr %16305, align 4, !tbaa !5
  %16307 = call ptr @s2n_strerror_debug(i32 noundef %16306, ptr noundef @.str.4)
  %16308 = call ptr @__errno_location() #12
  %16309 = load i32, ptr %16308, align 4, !tbaa !5
  %16310 = call ptr @strerror(i32 noundef %16309) #11
  %16311 = call ptr @__errno_location() #12
  %16312 = load i32, ptr %16311, align 4, !tbaa !5
  %16313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16300, ptr noundef @.str.2, i32 noundef %16301, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 522, ptr noundef %16304, ptr noundef %16307, ptr noundef %16310, i32 noundef %16312) #11
  br label %16331

16314:                                            ; preds = %16292, %16285
  %16315 = load i32, ptr %342, align 4, !tbaa !5
  %16316 = call ptr @__errno_location() #12
  store i32 %16315, ptr %16316, align 4, !tbaa !5
  %16317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16318 = load i32, ptr @test_count, align 4, !tbaa !5
  %16319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16320 = load i32, ptr %16319, align 4, !tbaa !5
  %16321 = call ptr @s2n_strerror(i32 noundef %16320, ptr noundef @.str.4)
  %16322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16323 = load i32, ptr %16322, align 4, !tbaa !5
  %16324 = call ptr @s2n_strerror_debug(i32 noundef %16323, ptr noundef @.str.4)
  %16325 = call ptr @__errno_location() #12
  %16326 = load i32, ptr %16325, align 4, !tbaa !5
  %16327 = call ptr @strerror(i32 noundef %16326) #11
  %16328 = call ptr @__errno_location() #12
  %16329 = load i32, ptr %16328, align 4, !tbaa !5
  %16330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16317, ptr noundef @.str.5, i32 noundef %16318, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 522, ptr noundef %16321, ptr noundef %16324, ptr noundef %16327, i32 noundef %16329) #11
  br label %16331

16331:                                            ; preds = %16314, %16297
  call void @llvm.lifetime.end.p0(i64 4, ptr %342) #11
  br label %16332

16332:                                            ; preds = %16331
  br label %16333

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

16334:                                            ; No predecessors!
  br label %16335

16335:                                            ; preds = %16334
  br label %16336

16336:                                            ; preds = %16335, %16276
  br label %16337

16337:                                            ; preds = %16336
  br label %16338

16338:                                            ; preds = %16337
  br label %16339

16339:                                            ; preds = %16338
  %16340 = load i32, ptr @test_count, align 4, !tbaa !5
  %16341 = add nsw i32 %16340, 1
  store i32 %16341, ptr @test_count, align 4, !tbaa !5
  %16342 = load ptr, ptr %338, align 8, !tbaa !9
  %16343 = load ptr, ptr %20, align 8, !tbaa !9
  %16344 = call i32 @s2n_connection_append_psk(ptr noundef %16342, ptr noundef %16343)
  %16345 = icmp eq i32 %16344, -1
  br i1 %16345, label %16346, label %16399

16346:                                            ; preds = %16339
  br label %16347

16347:                                            ; preds = %16346
  br label %16348

16348:                                            ; preds = %16347
  call void @llvm.lifetime.start.p0(i64 4, ptr %343) #11
  %16349 = call ptr @__errno_location() #12
  %16350 = load i32, ptr %16349, align 4, !tbaa !5
  store i32 %16350, ptr %343, align 4, !tbaa !5
  %16351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16352 = call i32 @s2n_print_stacktrace(ptr noundef %16351)
  %16353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16354 = trunc i8 %16353 to i1
  br i1 %16354, label %16355, label %16377

16355:                                            ; preds = %16348
  %16356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16357 = call i32 @fileno(ptr noundef %16356) #11
  %16358 = call i32 @isatty(i32 noundef %16357) #11
  %16359 = icmp ne i32 %16358, 0
  br i1 %16359, label %16360, label %16377

16360:                                            ; preds = %16355
  %16361 = load i32, ptr %343, align 4, !tbaa !5
  %16362 = call ptr @__errno_location() #12
  store i32 %16361, ptr %16362, align 4, !tbaa !5
  %16363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16364 = load i32, ptr @test_count, align 4, !tbaa !5
  %16365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16366 = load i32, ptr %16365, align 4, !tbaa !5
  %16367 = call ptr @s2n_strerror(i32 noundef %16366, ptr noundef @.str.4)
  %16368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16369 = load i32, ptr %16368, align 4, !tbaa !5
  %16370 = call ptr @s2n_strerror_debug(i32 noundef %16369, ptr noundef @.str.4)
  %16371 = call ptr @__errno_location() #12
  %16372 = load i32, ptr %16371, align 4, !tbaa !5
  %16373 = call ptr @strerror(i32 noundef %16372) #11
  %16374 = call ptr @__errno_location() #12
  %16375 = load i32, ptr %16374, align 4, !tbaa !5
  %16376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16363, ptr noundef @.str.2, i32 noundef %16364, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 523, ptr noundef %16367, ptr noundef %16370, ptr noundef %16373, i32 noundef %16375) #11
  br label %16394

16377:                                            ; preds = %16355, %16348
  %16378 = load i32, ptr %343, align 4, !tbaa !5
  %16379 = call ptr @__errno_location() #12
  store i32 %16378, ptr %16379, align 4, !tbaa !5
  %16380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16381 = load i32, ptr @test_count, align 4, !tbaa !5
  %16382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16383 = load i32, ptr %16382, align 4, !tbaa !5
  %16384 = call ptr @s2n_strerror(i32 noundef %16383, ptr noundef @.str.4)
  %16385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16386 = load i32, ptr %16385, align 4, !tbaa !5
  %16387 = call ptr @s2n_strerror_debug(i32 noundef %16386, ptr noundef @.str.4)
  %16388 = call ptr @__errno_location() #12
  %16389 = load i32, ptr %16388, align 4, !tbaa !5
  %16390 = call ptr @strerror(i32 noundef %16389) #11
  %16391 = call ptr @__errno_location() #12
  %16392 = load i32, ptr %16391, align 4, !tbaa !5
  %16393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16380, ptr noundef @.str.5, i32 noundef %16381, ptr noundef @.str.98, ptr noundef @.str.1, i32 noundef 523, ptr noundef %16384, ptr noundef %16387, ptr noundef %16390, i32 noundef %16392) #11
  br label %16394

16394:                                            ; preds = %16377, %16360
  call void @llvm.lifetime.end.p0(i64 4, ptr %343) #11
  br label %16395

16395:                                            ; preds = %16394
  br label %16396

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

16397:                                            ; No predecessors!
  br label %16398

16398:                                            ; preds = %16397
  br label %16399

16399:                                            ; preds = %16398, %16339
  br label %16400

16400:                                            ; preds = %16399
  br label %16401

16401:                                            ; preds = %16400
  call void @llvm.lifetime.start.p0(i64 100, ptr %344) #11
  call void @llvm.memset.p0.i64(ptr align 16 %344, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %345) #11
  store i32 0, ptr %345, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %346) #11
  store i64 0, ptr %346, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr %347) #11
  store i32 0, ptr %347, align 4, !tbaa !5
  br label %16402

16402:                                            ; preds = %16401
  br label %16403

16403:                                            ; preds = %16402
  br label %16404

16404:                                            ; preds = %16403
  %16405 = load i32, ptr @test_count, align 4, !tbaa !5
  %16406 = add nsw i32 %16405, 1
  store i32 %16406, ptr @test_count, align 4, !tbaa !5
  %16407 = load ptr, ptr %337, align 8, !tbaa !9
  %16408 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %16409 = call i32 @s2n_send_early_data(ptr noundef %16407, ptr noundef %16408, i64 noundef 12, ptr noundef %346, ptr noundef %345)
  %16410 = icmp eq i32 %16409, -1
  br i1 %16410, label %16464, label %16411

16411:                                            ; preds = %16404
  br label %16412

16412:                                            ; preds = %16411
  br label %16413

16413:                                            ; preds = %16412
  call void @llvm.lifetime.start.p0(i64 4, ptr %348) #11
  %16414 = call ptr @__errno_location() #12
  %16415 = load i32, ptr %16414, align 4, !tbaa !5
  store i32 %16415, ptr %348, align 4, !tbaa !5
  %16416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16417 = call i32 @s2n_print_stacktrace(ptr noundef %16416)
  %16418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16419 = trunc i8 %16418 to i1
  br i1 %16419, label %16420, label %16442

16420:                                            ; preds = %16413
  %16421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16422 = call i32 @fileno(ptr noundef %16421) #11
  %16423 = call i32 @isatty(i32 noundef %16422) #11
  %16424 = icmp ne i32 %16423, 0
  br i1 %16424, label %16425, label %16442

16425:                                            ; preds = %16420
  %16426 = load i32, ptr %348, align 4, !tbaa !5
  %16427 = call ptr @__errno_location() #12
  store i32 %16426, ptr %16427, align 4, !tbaa !5
  %16428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16429 = load i32, ptr @test_count, align 4, !tbaa !5
  %16430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16431 = load i32, ptr %16430, align 4, !tbaa !5
  %16432 = call ptr @s2n_strerror(i32 noundef %16431, ptr noundef @.str.4)
  %16433 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16434 = load i32, ptr %16433, align 4, !tbaa !5
  %16435 = call ptr @s2n_strerror_debug(i32 noundef %16434, ptr noundef @.str.4)
  %16436 = call ptr @__errno_location() #12
  %16437 = load i32, ptr %16436, align 4, !tbaa !5
  %16438 = call ptr @strerror(i32 noundef %16437) #11
  %16439 = call ptr @__errno_location() #12
  %16440 = load i32, ptr %16439, align 4, !tbaa !5
  %16441 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16428, ptr noundef @.str.2, i32 noundef %16429, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 530, ptr noundef %16432, ptr noundef %16435, ptr noundef %16438, i32 noundef %16440) #11
  br label %16459

16442:                                            ; preds = %16420, %16413
  %16443 = load i32, ptr %348, align 4, !tbaa !5
  %16444 = call ptr @__errno_location() #12
  store i32 %16443, ptr %16444, align 4, !tbaa !5
  %16445 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16446 = load i32, ptr @test_count, align 4, !tbaa !5
  %16447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16448 = load i32, ptr %16447, align 4, !tbaa !5
  %16449 = call ptr @s2n_strerror(i32 noundef %16448, ptr noundef @.str.4)
  %16450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16451 = load i32, ptr %16450, align 4, !tbaa !5
  %16452 = call ptr @s2n_strerror_debug(i32 noundef %16451, ptr noundef @.str.4)
  %16453 = call ptr @__errno_location() #12
  %16454 = load i32, ptr %16453, align 4, !tbaa !5
  %16455 = call ptr @strerror(i32 noundef %16454) #11
  %16456 = call ptr @__errno_location() #12
  %16457 = load i32, ptr %16456, align 4, !tbaa !5
  %16458 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16445, ptr noundef @.str.5, i32 noundef %16446, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 530, ptr noundef %16449, ptr noundef %16452, ptr noundef %16455, i32 noundef %16457) #11
  br label %16459

16459:                                            ; preds = %16442, %16425
  call void @llvm.lifetime.end.p0(i64 4, ptr %348) #11
  br label %16460

16460:                                            ; preds = %16459
  br label %16461

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

16462:                                            ; No predecessors!
  br label %16463

16463:                                            ; preds = %16462
  br label %16464

16464:                                            ; preds = %16463, %16404
  br label %16465

16465:                                            ; preds = %16464
  br label %16466

16466:                                            ; preds = %16465
  br label %16467

16467:                                            ; preds = %16466
  %16468 = load i32, ptr @test_count, align 4, !tbaa !5
  %16469 = add nsw i32 %16468, 1
  store i32 %16469, ptr @test_count, align 4, !tbaa !5
  %16470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16471 = load i32, ptr %16470, align 4, !tbaa !5
  %16472 = icmp eq i32 %16471, 201326592
  br i1 %16472, label %16526, label %16473

16473:                                            ; preds = %16467
  br label %16474

16474:                                            ; preds = %16473
  br label %16475

16475:                                            ; preds = %16474
  call void @llvm.lifetime.start.p0(i64 4, ptr %349) #11
  %16476 = call ptr @__errno_location() #12
  %16477 = load i32, ptr %16476, align 4, !tbaa !5
  store i32 %16477, ptr %349, align 4, !tbaa !5
  %16478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16479 = call i32 @s2n_print_stacktrace(ptr noundef %16478)
  %16480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16481 = trunc i8 %16480 to i1
  br i1 %16481, label %16482, label %16504

16482:                                            ; preds = %16475
  %16483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16484 = call i32 @fileno(ptr noundef %16483) #11
  %16485 = call i32 @isatty(i32 noundef %16484) #11
  %16486 = icmp ne i32 %16485, 0
  br i1 %16486, label %16487, label %16504

16487:                                            ; preds = %16482
  %16488 = load i32, ptr %349, align 4, !tbaa !5
  %16489 = call ptr @__errno_location() #12
  store i32 %16488, ptr %16489, align 4, !tbaa !5
  %16490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16491 = load i32, ptr @test_count, align 4, !tbaa !5
  %16492 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16493 = load i32, ptr %16492, align 4, !tbaa !5
  %16494 = call ptr @s2n_strerror(i32 noundef %16493, ptr noundef @.str.4)
  %16495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16496 = load i32, ptr %16495, align 4, !tbaa !5
  %16497 = call ptr @s2n_strerror_debug(i32 noundef %16496, ptr noundef @.str.4)
  %16498 = call ptr @__errno_location() #12
  %16499 = load i32, ptr %16498, align 4, !tbaa !5
  %16500 = call ptr @strerror(i32 noundef %16499) #11
  %16501 = call ptr @__errno_location() #12
  %16502 = load i32, ptr %16501, align 4, !tbaa !5
  %16503 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16490, ptr noundef @.str.2, i32 noundef %16491, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 530, ptr noundef %16494, ptr noundef %16497, ptr noundef %16500, i32 noundef %16502) #11
  br label %16521

16504:                                            ; preds = %16482, %16475
  %16505 = load i32, ptr %349, align 4, !tbaa !5
  %16506 = call ptr @__errno_location() #12
  store i32 %16505, ptr %16506, align 4, !tbaa !5
  %16507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16508 = load i32, ptr @test_count, align 4, !tbaa !5
  %16509 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16510 = load i32, ptr %16509, align 4, !tbaa !5
  %16511 = call ptr @s2n_strerror(i32 noundef %16510, ptr noundef @.str.4)
  %16512 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16513 = load i32, ptr %16512, align 4, !tbaa !5
  %16514 = call ptr @s2n_strerror_debug(i32 noundef %16513, ptr noundef @.str.4)
  %16515 = call ptr @__errno_location() #12
  %16516 = load i32, ptr %16515, align 4, !tbaa !5
  %16517 = call ptr @strerror(i32 noundef %16516) #11
  %16518 = call ptr @__errno_location() #12
  %16519 = load i32, ptr %16518, align 4, !tbaa !5
  %16520 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16507, ptr noundef @.str.5, i32 noundef %16508, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 530, ptr noundef %16511, ptr noundef %16514, ptr noundef %16517, i32 noundef %16519) #11
  br label %16521

16521:                                            ; preds = %16504, %16487
  call void @llvm.lifetime.end.p0(i64 4, ptr %349) #11
  br label %16522

16522:                                            ; preds = %16521
  br label %16523

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

16524:                                            ; No predecessors!
  br label %16525

16525:                                            ; preds = %16524
  br label %16526

16526:                                            ; preds = %16525, %16467
  br label %16527

16527:                                            ; preds = %16526
  br label %16528

16528:                                            ; preds = %16527
  br label %16529

16529:                                            ; preds = %16528
  %16530 = load i32, ptr @test_count, align 4, !tbaa !5
  %16531 = add nsw i32 %16530, 1
  store i32 %16531, ptr @test_count, align 4, !tbaa !5
  %16532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16533 = load i32, ptr %16532, align 4, !tbaa !5
  %16534 = call ptr @s2n_strerror_debug(i32 noundef %16533, ptr noundef @.str.4)
  %16535 = icmp eq ptr %16534, null
  br i1 %16535, label %16536, label %16589

16536:                                            ; preds = %16529
  br label %16537

16537:                                            ; preds = %16536
  br label %16538

16538:                                            ; preds = %16537
  call void @llvm.lifetime.start.p0(i64 4, ptr %350) #11
  %16539 = call ptr @__errno_location() #12
  %16540 = load i32, ptr %16539, align 4, !tbaa !5
  store i32 %16540, ptr %350, align 4, !tbaa !5
  %16541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16542 = call i32 @s2n_print_stacktrace(ptr noundef %16541)
  %16543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16544 = trunc i8 %16543 to i1
  br i1 %16544, label %16545, label %16567

16545:                                            ; preds = %16538
  %16546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16547 = call i32 @fileno(ptr noundef %16546) #11
  %16548 = call i32 @isatty(i32 noundef %16547) #11
  %16549 = icmp ne i32 %16548, 0
  br i1 %16549, label %16550, label %16567

16550:                                            ; preds = %16545
  %16551 = load i32, ptr %350, align 4, !tbaa !5
  %16552 = call ptr @__errno_location() #12
  store i32 %16551, ptr %16552, align 4, !tbaa !5
  %16553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16554 = load i32, ptr @test_count, align 4, !tbaa !5
  %16555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16556 = load i32, ptr %16555, align 4, !tbaa !5
  %16557 = call ptr @s2n_strerror(i32 noundef %16556, ptr noundef @.str.4)
  %16558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16559 = load i32, ptr %16558, align 4, !tbaa !5
  %16560 = call ptr @s2n_strerror_debug(i32 noundef %16559, ptr noundef @.str.4)
  %16561 = call ptr @__errno_location() #12
  %16562 = load i32, ptr %16561, align 4, !tbaa !5
  %16563 = call ptr @strerror(i32 noundef %16562) #11
  %16564 = call ptr @__errno_location() #12
  %16565 = load i32, ptr %16564, align 4, !tbaa !5
  %16566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16553, ptr noundef @.str.2, i32 noundef %16554, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 530, ptr noundef %16557, ptr noundef %16560, ptr noundef %16563, i32 noundef %16565) #11
  br label %16584

16567:                                            ; preds = %16545, %16538
  %16568 = load i32, ptr %350, align 4, !tbaa !5
  %16569 = call ptr @__errno_location() #12
  store i32 %16568, ptr %16569, align 4, !tbaa !5
  %16570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16571 = load i32, ptr @test_count, align 4, !tbaa !5
  %16572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16573 = load i32, ptr %16572, align 4, !tbaa !5
  %16574 = call ptr @s2n_strerror(i32 noundef %16573, ptr noundef @.str.4)
  %16575 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16576 = load i32, ptr %16575, align 4, !tbaa !5
  %16577 = call ptr @s2n_strerror_debug(i32 noundef %16576, ptr noundef @.str.4)
  %16578 = call ptr @__errno_location() #12
  %16579 = load i32, ptr %16578, align 4, !tbaa !5
  %16580 = call ptr @strerror(i32 noundef %16579) #11
  %16581 = call ptr @__errno_location() #12
  %16582 = load i32, ptr %16581, align 4, !tbaa !5
  %16583 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16570, ptr noundef @.str.5, i32 noundef %16571, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 530, ptr noundef %16574, ptr noundef %16577, ptr noundef %16580, i32 noundef %16582) #11
  br label %16584

16584:                                            ; preds = %16567, %16550
  call void @llvm.lifetime.end.p0(i64 4, ptr %350) #11
  br label %16585

16585:                                            ; preds = %16584
  br label %16586

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

16587:                                            ; No predecessors!
  br label %16588

16588:                                            ; preds = %16587
  br label %16589

16589:                                            ; preds = %16588, %16529
  br label %16590

16590:                                            ; preds = %16589
  br label %16591

16591:                                            ; preds = %16590
  br label %16592

16592:                                            ; preds = %16591
  br label %16593

16593:                                            ; preds = %16592
  br label %16594

16594:                                            ; preds = %16593
  %16595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %16595, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %16596 = call ptr @__errno_location() #12
  store i32 0, ptr %16596, align 4, !tbaa !5
  br label %16597

16597:                                            ; preds = %16594
  br label %16598

16598:                                            ; preds = %16597
  br label %16599

16599:                                            ; preds = %16598
  br label %16600

16600:                                            ; preds = %16599
  br label %16601

16601:                                            ; preds = %16600
  %16602 = load i32, ptr @test_count, align 4, !tbaa !5
  %16603 = add nsw i32 %16602, 1
  store i32 %16603, ptr @test_count, align 4, !tbaa !5
  %16604 = load i32, ptr %345, align 4, !tbaa !5
  %16605 = icmp eq i32 %16604, 1
  br i1 %16605, label %16659, label %16606

16606:                                            ; preds = %16601
  br label %16607

16607:                                            ; preds = %16606
  br label %16608

16608:                                            ; preds = %16607
  call void @llvm.lifetime.start.p0(i64 4, ptr %351) #11
  %16609 = call ptr @__errno_location() #12
  %16610 = load i32, ptr %16609, align 4, !tbaa !5
  store i32 %16610, ptr %351, align 4, !tbaa !5
  %16611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16612 = call i32 @s2n_print_stacktrace(ptr noundef %16611)
  %16613 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16614 = trunc i8 %16613 to i1
  br i1 %16614, label %16615, label %16637

16615:                                            ; preds = %16608
  %16616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16617 = call i32 @fileno(ptr noundef %16616) #11
  %16618 = call i32 @isatty(i32 noundef %16617) #11
  %16619 = icmp ne i32 %16618, 0
  br i1 %16619, label %16620, label %16637

16620:                                            ; preds = %16615
  %16621 = load i32, ptr %351, align 4, !tbaa !5
  %16622 = call ptr @__errno_location() #12
  store i32 %16621, ptr %16622, align 4, !tbaa !5
  %16623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16624 = load i32, ptr @test_count, align 4, !tbaa !5
  %16625 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16626 = load i32, ptr %16625, align 4, !tbaa !5
  %16627 = call ptr @s2n_strerror(i32 noundef %16626, ptr noundef @.str.4)
  %16628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16629 = load i32, ptr %16628, align 4, !tbaa !5
  %16630 = call ptr @s2n_strerror_debug(i32 noundef %16629, ptr noundef @.str.4)
  %16631 = call ptr @__errno_location() #12
  %16632 = load i32, ptr %16631, align 4, !tbaa !5
  %16633 = call ptr @strerror(i32 noundef %16632) #11
  %16634 = call ptr @__errno_location() #12
  %16635 = load i32, ptr %16634, align 4, !tbaa !5
  %16636 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16623, ptr noundef @.str.2, i32 noundef %16624, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 531, ptr noundef %16627, ptr noundef %16630, ptr noundef %16633, i32 noundef %16635) #11
  br label %16654

16637:                                            ; preds = %16615, %16608
  %16638 = load i32, ptr %351, align 4, !tbaa !5
  %16639 = call ptr @__errno_location() #12
  store i32 %16638, ptr %16639, align 4, !tbaa !5
  %16640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16641 = load i32, ptr @test_count, align 4, !tbaa !5
  %16642 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16643 = load i32, ptr %16642, align 4, !tbaa !5
  %16644 = call ptr @s2n_strerror(i32 noundef %16643, ptr noundef @.str.4)
  %16645 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16646 = load i32, ptr %16645, align 4, !tbaa !5
  %16647 = call ptr @s2n_strerror_debug(i32 noundef %16646, ptr noundef @.str.4)
  %16648 = call ptr @__errno_location() #12
  %16649 = load i32, ptr %16648, align 4, !tbaa !5
  %16650 = call ptr @strerror(i32 noundef %16649) #11
  %16651 = call ptr @__errno_location() #12
  %16652 = load i32, ptr %16651, align 4, !tbaa !5
  %16653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16640, ptr noundef @.str.5, i32 noundef %16641, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 531, ptr noundef %16644, ptr noundef %16647, ptr noundef %16650, i32 noundef %16652) #11
  br label %16654

16654:                                            ; preds = %16637, %16620
  call void @llvm.lifetime.end.p0(i64 4, ptr %351) #11
  br label %16655

16655:                                            ; preds = %16654
  br label %16656

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

16657:                                            ; No predecessors!
  br label %16658

16658:                                            ; preds = %16657
  br label %16659

16659:                                            ; preds = %16658, %16601
  br label %16660

16660:                                            ; preds = %16659
  br label %16661

16661:                                            ; preds = %16660
  br label %16662

16662:                                            ; preds = %16661
  %16663 = load i32, ptr @test_count, align 4, !tbaa !5
  %16664 = add nsw i32 %16663, 1
  store i32 %16664, ptr @test_count, align 4, !tbaa !5
  %16665 = load ptr, ptr %337, align 8, !tbaa !9
  %16666 = call i32 @s2n_conn_get_current_message_type(ptr noundef %16665)
  %16667 = icmp eq i32 %16666, 1
  br i1 %16667, label %16721, label %16668

16668:                                            ; preds = %16662
  br label %16669

16669:                                            ; preds = %16668
  br label %16670

16670:                                            ; preds = %16669
  call void @llvm.lifetime.start.p0(i64 4, ptr %352) #11
  %16671 = call ptr @__errno_location() #12
  %16672 = load i32, ptr %16671, align 4, !tbaa !5
  store i32 %16672, ptr %352, align 4, !tbaa !5
  %16673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16674 = call i32 @s2n_print_stacktrace(ptr noundef %16673)
  %16675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16676 = trunc i8 %16675 to i1
  br i1 %16676, label %16677, label %16699

16677:                                            ; preds = %16670
  %16678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16679 = call i32 @fileno(ptr noundef %16678) #11
  %16680 = call i32 @isatty(i32 noundef %16679) #11
  %16681 = icmp ne i32 %16680, 0
  br i1 %16681, label %16682, label %16699

16682:                                            ; preds = %16677
  %16683 = load i32, ptr %352, align 4, !tbaa !5
  %16684 = call ptr @__errno_location() #12
  store i32 %16683, ptr %16684, align 4, !tbaa !5
  %16685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16686 = load i32, ptr @test_count, align 4, !tbaa !5
  %16687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16688 = load i32, ptr %16687, align 4, !tbaa !5
  %16689 = call ptr @s2n_strerror(i32 noundef %16688, ptr noundef @.str.4)
  %16690 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16691 = load i32, ptr %16690, align 4, !tbaa !5
  %16692 = call ptr @s2n_strerror_debug(i32 noundef %16691, ptr noundef @.str.4)
  %16693 = call ptr @__errno_location() #12
  %16694 = load i32, ptr %16693, align 4, !tbaa !5
  %16695 = call ptr @strerror(i32 noundef %16694) #11
  %16696 = call ptr @__errno_location() #12
  %16697 = load i32, ptr %16696, align 4, !tbaa !5
  %16698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16685, ptr noundef @.str.2, i32 noundef %16686, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 531, ptr noundef %16689, ptr noundef %16692, ptr noundef %16695, i32 noundef %16697) #11
  br label %16716

16699:                                            ; preds = %16677, %16670
  %16700 = load i32, ptr %352, align 4, !tbaa !5
  %16701 = call ptr @__errno_location() #12
  store i32 %16700, ptr %16701, align 4, !tbaa !5
  %16702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16703 = load i32, ptr @test_count, align 4, !tbaa !5
  %16704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16705 = load i32, ptr %16704, align 4, !tbaa !5
  %16706 = call ptr @s2n_strerror(i32 noundef %16705, ptr noundef @.str.4)
  %16707 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16708 = load i32, ptr %16707, align 4, !tbaa !5
  %16709 = call ptr @s2n_strerror_debug(i32 noundef %16708, ptr noundef @.str.4)
  %16710 = call ptr @__errno_location() #12
  %16711 = load i32, ptr %16710, align 4, !tbaa !5
  %16712 = call ptr @strerror(i32 noundef %16711) #11
  %16713 = call ptr @__errno_location() #12
  %16714 = load i32, ptr %16713, align 4, !tbaa !5
  %16715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16702, ptr noundef @.str.5, i32 noundef %16703, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 531, ptr noundef %16706, ptr noundef %16709, ptr noundef %16712, i32 noundef %16714) #11
  br label %16716

16716:                                            ; preds = %16699, %16682
  call void @llvm.lifetime.end.p0(i64 4, ptr %352) #11
  br label %16717

16717:                                            ; preds = %16716
  br label %16718

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

16719:                                            ; No predecessors!
  br label %16720

16720:                                            ; preds = %16719
  br label %16721

16721:                                            ; preds = %16720, %16662
  br label %16722

16722:                                            ; preds = %16721
  br label %16723

16723:                                            ; preds = %16722
  br label %16724

16724:                                            ; preds = %16723
  %16725 = load i32, ptr @test_count, align 4, !tbaa !5
  %16726 = add nsw i32 %16725, 1
  store i32 %16726, ptr @test_count, align 4, !tbaa !5
  %16727 = load i64, ptr %346, align 8, !tbaa !42
  %16728 = icmp eq i64 %16727, 12
  br i1 %16728, label %16782, label %16729

16729:                                            ; preds = %16724
  br label %16730

16730:                                            ; preds = %16729
  br label %16731

16731:                                            ; preds = %16730
  call void @llvm.lifetime.start.p0(i64 4, ptr %353) #11
  %16732 = call ptr @__errno_location() #12
  %16733 = load i32, ptr %16732, align 4, !tbaa !5
  store i32 %16733, ptr %353, align 4, !tbaa !5
  %16734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16735 = call i32 @s2n_print_stacktrace(ptr noundef %16734)
  %16736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16737 = trunc i8 %16736 to i1
  br i1 %16737, label %16738, label %16760

16738:                                            ; preds = %16731
  %16739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16740 = call i32 @fileno(ptr noundef %16739) #11
  %16741 = call i32 @isatty(i32 noundef %16740) #11
  %16742 = icmp ne i32 %16741, 0
  br i1 %16742, label %16743, label %16760

16743:                                            ; preds = %16738
  %16744 = load i32, ptr %353, align 4, !tbaa !5
  %16745 = call ptr @__errno_location() #12
  store i32 %16744, ptr %16745, align 4, !tbaa !5
  %16746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16747 = load i32, ptr @test_count, align 4, !tbaa !5
  %16748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16749 = load i32, ptr %16748, align 4, !tbaa !5
  %16750 = call ptr @s2n_strerror(i32 noundef %16749, ptr noundef @.str.4)
  %16751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16752 = load i32, ptr %16751, align 4, !tbaa !5
  %16753 = call ptr @s2n_strerror_debug(i32 noundef %16752, ptr noundef @.str.4)
  %16754 = call ptr @__errno_location() #12
  %16755 = load i32, ptr %16754, align 4, !tbaa !5
  %16756 = call ptr @strerror(i32 noundef %16755) #11
  %16757 = call ptr @__errno_location() #12
  %16758 = load i32, ptr %16757, align 4, !tbaa !5
  %16759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16746, ptr noundef @.str.2, i32 noundef %16747, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 532, ptr noundef %16750, ptr noundef %16753, ptr noundef %16756, i32 noundef %16758) #11
  br label %16777

16760:                                            ; preds = %16738, %16731
  %16761 = load i32, ptr %353, align 4, !tbaa !5
  %16762 = call ptr @__errno_location() #12
  store i32 %16761, ptr %16762, align 4, !tbaa !5
  %16763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16764 = load i32, ptr @test_count, align 4, !tbaa !5
  %16765 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16766 = load i32, ptr %16765, align 4, !tbaa !5
  %16767 = call ptr @s2n_strerror(i32 noundef %16766, ptr noundef @.str.4)
  %16768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16769 = load i32, ptr %16768, align 4, !tbaa !5
  %16770 = call ptr @s2n_strerror_debug(i32 noundef %16769, ptr noundef @.str.4)
  %16771 = call ptr @__errno_location() #12
  %16772 = load i32, ptr %16771, align 4, !tbaa !5
  %16773 = call ptr @strerror(i32 noundef %16772) #11
  %16774 = call ptr @__errno_location() #12
  %16775 = load i32, ptr %16774, align 4, !tbaa !5
  %16776 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16763, ptr noundef @.str.5, i32 noundef %16764, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 532, ptr noundef %16767, ptr noundef %16770, ptr noundef %16773, i32 noundef %16775) #11
  br label %16777

16777:                                            ; preds = %16760, %16743
  call void @llvm.lifetime.end.p0(i64 4, ptr %353) #11
  br label %16778

16778:                                            ; preds = %16777
  br label %16779

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

16780:                                            ; No predecessors!
  br label %16781

16781:                                            ; preds = %16780
  br label %16782

16782:                                            ; preds = %16781, %16724
  br label %16783

16783:                                            ; preds = %16782
  br label %16784

16784:                                            ; preds = %16783
  br label %16785

16785:                                            ; preds = %16784
  %16786 = load i32, ptr @test_count, align 4, !tbaa !5
  %16787 = add nsw i32 %16786, 1
  store i32 %16787, ptr @test_count, align 4, !tbaa !5
  %16788 = load ptr, ptr %337, align 8, !tbaa !9
  %16789 = call i32 @s2n_connection_get_early_data_status(ptr noundef %16788, ptr noundef %347)
  %16790 = icmp eq i32 %16789, -1
  br i1 %16790, label %16791, label %16844

16791:                                            ; preds = %16785
  br label %16792

16792:                                            ; preds = %16791
  br label %16793

16793:                                            ; preds = %16792
  call void @llvm.lifetime.start.p0(i64 4, ptr %354) #11
  %16794 = call ptr @__errno_location() #12
  %16795 = load i32, ptr %16794, align 4, !tbaa !5
  store i32 %16795, ptr %354, align 4, !tbaa !5
  %16796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16797 = call i32 @s2n_print_stacktrace(ptr noundef %16796)
  %16798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16799 = trunc i8 %16798 to i1
  br i1 %16799, label %16800, label %16822

16800:                                            ; preds = %16793
  %16801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16802 = call i32 @fileno(ptr noundef %16801) #11
  %16803 = call i32 @isatty(i32 noundef %16802) #11
  %16804 = icmp ne i32 %16803, 0
  br i1 %16804, label %16805, label %16822

16805:                                            ; preds = %16800
  %16806 = load i32, ptr %354, align 4, !tbaa !5
  %16807 = call ptr @__errno_location() #12
  store i32 %16806, ptr %16807, align 4, !tbaa !5
  %16808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16809 = load i32, ptr @test_count, align 4, !tbaa !5
  %16810 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16811 = load i32, ptr %16810, align 4, !tbaa !5
  %16812 = call ptr @s2n_strerror(i32 noundef %16811, ptr noundef @.str.4)
  %16813 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16814 = load i32, ptr %16813, align 4, !tbaa !5
  %16815 = call ptr @s2n_strerror_debug(i32 noundef %16814, ptr noundef @.str.4)
  %16816 = call ptr @__errno_location() #12
  %16817 = load i32, ptr %16816, align 4, !tbaa !5
  %16818 = call ptr @strerror(i32 noundef %16817) #11
  %16819 = call ptr @__errno_location() #12
  %16820 = load i32, ptr %16819, align 4, !tbaa !5
  %16821 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16808, ptr noundef @.str.2, i32 noundef %16809, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 534, ptr noundef %16812, ptr noundef %16815, ptr noundef %16818, i32 noundef %16820) #11
  br label %16839

16822:                                            ; preds = %16800, %16793
  %16823 = load i32, ptr %354, align 4, !tbaa !5
  %16824 = call ptr @__errno_location() #12
  store i32 %16823, ptr %16824, align 4, !tbaa !5
  %16825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16826 = load i32, ptr @test_count, align 4, !tbaa !5
  %16827 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16828 = load i32, ptr %16827, align 4, !tbaa !5
  %16829 = call ptr @s2n_strerror(i32 noundef %16828, ptr noundef @.str.4)
  %16830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16831 = load i32, ptr %16830, align 4, !tbaa !5
  %16832 = call ptr @s2n_strerror_debug(i32 noundef %16831, ptr noundef @.str.4)
  %16833 = call ptr @__errno_location() #12
  %16834 = load i32, ptr %16833, align 4, !tbaa !5
  %16835 = call ptr @strerror(i32 noundef %16834) #11
  %16836 = call ptr @__errno_location() #12
  %16837 = load i32, ptr %16836, align 4, !tbaa !5
  %16838 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16825, ptr noundef @.str.5, i32 noundef %16826, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 534, ptr noundef %16829, ptr noundef %16832, ptr noundef %16835, i32 noundef %16837) #11
  br label %16839

16839:                                            ; preds = %16822, %16805
  call void @llvm.lifetime.end.p0(i64 4, ptr %354) #11
  br label %16840

16840:                                            ; preds = %16839
  br label %16841

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

16842:                                            ; No predecessors!
  br label %16843

16843:                                            ; preds = %16842
  br label %16844

16844:                                            ; preds = %16843, %16785
  br label %16845

16845:                                            ; preds = %16844
  br label %16846

16846:                                            ; preds = %16845
  br label %16847

16847:                                            ; preds = %16846
  %16848 = load i32, ptr @test_count, align 4, !tbaa !5
  %16849 = add nsw i32 %16848, 1
  store i32 %16849, ptr @test_count, align 4, !tbaa !5
  %16850 = load i32, ptr %347, align 4, !tbaa !5
  %16851 = icmp eq i32 %16850, 0
  br i1 %16851, label %16905, label %16852

16852:                                            ; preds = %16847
  br label %16853

16853:                                            ; preds = %16852
  br label %16854

16854:                                            ; preds = %16853
  call void @llvm.lifetime.start.p0(i64 4, ptr %355) #11
  %16855 = call ptr @__errno_location() #12
  %16856 = load i32, ptr %16855, align 4, !tbaa !5
  store i32 %16856, ptr %355, align 4, !tbaa !5
  %16857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16858 = call i32 @s2n_print_stacktrace(ptr noundef %16857)
  %16859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16860 = trunc i8 %16859 to i1
  br i1 %16860, label %16861, label %16883

16861:                                            ; preds = %16854
  %16862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16863 = call i32 @fileno(ptr noundef %16862) #11
  %16864 = call i32 @isatty(i32 noundef %16863) #11
  %16865 = icmp ne i32 %16864, 0
  br i1 %16865, label %16866, label %16883

16866:                                            ; preds = %16861
  %16867 = load i32, ptr %355, align 4, !tbaa !5
  %16868 = call ptr @__errno_location() #12
  store i32 %16867, ptr %16868, align 4, !tbaa !5
  %16869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16870 = load i32, ptr @test_count, align 4, !tbaa !5
  %16871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16872 = load i32, ptr %16871, align 4, !tbaa !5
  %16873 = call ptr @s2n_strerror(i32 noundef %16872, ptr noundef @.str.4)
  %16874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16875 = load i32, ptr %16874, align 4, !tbaa !5
  %16876 = call ptr @s2n_strerror_debug(i32 noundef %16875, ptr noundef @.str.4)
  %16877 = call ptr @__errno_location() #12
  %16878 = load i32, ptr %16877, align 4, !tbaa !5
  %16879 = call ptr @strerror(i32 noundef %16878) #11
  %16880 = call ptr @__errno_location() #12
  %16881 = load i32, ptr %16880, align 4, !tbaa !5
  %16882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16869, ptr noundef @.str.2, i32 noundef %16870, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 535, ptr noundef %16873, ptr noundef %16876, ptr noundef %16879, i32 noundef %16881) #11
  br label %16900

16883:                                            ; preds = %16861, %16854
  %16884 = load i32, ptr %355, align 4, !tbaa !5
  %16885 = call ptr @__errno_location() #12
  store i32 %16884, ptr %16885, align 4, !tbaa !5
  %16886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16887 = load i32, ptr @test_count, align 4, !tbaa !5
  %16888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16889 = load i32, ptr %16888, align 4, !tbaa !5
  %16890 = call ptr @s2n_strerror(i32 noundef %16889, ptr noundef @.str.4)
  %16891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16892 = load i32, ptr %16891, align 4, !tbaa !5
  %16893 = call ptr @s2n_strerror_debug(i32 noundef %16892, ptr noundef @.str.4)
  %16894 = call ptr @__errno_location() #12
  %16895 = load i32, ptr %16894, align 4, !tbaa !5
  %16896 = call ptr @strerror(i32 noundef %16895) #11
  %16897 = call ptr @__errno_location() #12
  %16898 = load i32, ptr %16897, align 4, !tbaa !5
  %16899 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16886, ptr noundef @.str.5, i32 noundef %16887, ptr noundef @.str.67, ptr noundef @.str.1, i32 noundef 535, ptr noundef %16890, ptr noundef %16893, ptr noundef %16896, i32 noundef %16898) #11
  br label %16900

16900:                                            ; preds = %16883, %16866
  call void @llvm.lifetime.end.p0(i64 4, ptr %355) #11
  br label %16901

16901:                                            ; preds = %16900
  br label %16902

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

16903:                                            ; No predecessors!
  br label %16904

16904:                                            ; preds = %16903
  br label %16905

16905:                                            ; preds = %16904, %16847
  br label %16906

16906:                                            ; preds = %16905
  br label %16907

16907:                                            ; preds = %16906
  br label %16908

16908:                                            ; preds = %16907
  %16909 = load i32, ptr @test_count, align 4, !tbaa !5
  %16910 = add nsw i32 %16909, 1
  store i32 %16910, ptr @test_count, align 4, !tbaa !5
  %16911 = load ptr, ptr %338, align 8, !tbaa !9
  %16912 = getelementptr inbounds [100 x i8], ptr %344, i64 0, i64 0
  %16913 = call i32 @s2n_recv_early_data(ptr noundef %16911, ptr noundef %16912, i64 noundef 100, ptr noundef %346, ptr noundef %345)
  %16914 = icmp eq i32 %16913, -1
  br i1 %16914, label %16915, label %16968

16915:                                            ; preds = %16908
  br label %16916

16916:                                            ; preds = %16915
  br label %16917

16917:                                            ; preds = %16916
  call void @llvm.lifetime.start.p0(i64 4, ptr %356) #11
  %16918 = call ptr @__errno_location() #12
  %16919 = load i32, ptr %16918, align 4, !tbaa !5
  store i32 %16919, ptr %356, align 4, !tbaa !5
  %16920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16921 = call i32 @s2n_print_stacktrace(ptr noundef %16920)
  %16922 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16923 = trunc i8 %16922 to i1
  br i1 %16923, label %16924, label %16946

16924:                                            ; preds = %16917
  %16925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16926 = call i32 @fileno(ptr noundef %16925) #11
  %16927 = call i32 @isatty(i32 noundef %16926) #11
  %16928 = icmp ne i32 %16927, 0
  br i1 %16928, label %16929, label %16946

16929:                                            ; preds = %16924
  %16930 = load i32, ptr %356, align 4, !tbaa !5
  %16931 = call ptr @__errno_location() #12
  store i32 %16930, ptr %16931, align 4, !tbaa !5
  %16932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16933 = load i32, ptr @test_count, align 4, !tbaa !5
  %16934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16935 = load i32, ptr %16934, align 4, !tbaa !5
  %16936 = call ptr @s2n_strerror(i32 noundef %16935, ptr noundef @.str.4)
  %16937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16938 = load i32, ptr %16937, align 4, !tbaa !5
  %16939 = call ptr @s2n_strerror_debug(i32 noundef %16938, ptr noundef @.str.4)
  %16940 = call ptr @__errno_location() #12
  %16941 = load i32, ptr %16940, align 4, !tbaa !5
  %16942 = call ptr @strerror(i32 noundef %16941) #11
  %16943 = call ptr @__errno_location() #12
  %16944 = load i32, ptr %16943, align 4, !tbaa !5
  %16945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16932, ptr noundef @.str.2, i32 noundef %16933, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 538, ptr noundef %16936, ptr noundef %16939, ptr noundef %16942, i32 noundef %16944) #11
  br label %16963

16946:                                            ; preds = %16924, %16917
  %16947 = load i32, ptr %356, align 4, !tbaa !5
  %16948 = call ptr @__errno_location() #12
  store i32 %16947, ptr %16948, align 4, !tbaa !5
  %16949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16950 = load i32, ptr @test_count, align 4, !tbaa !5
  %16951 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16952 = load i32, ptr %16951, align 4, !tbaa !5
  %16953 = call ptr @s2n_strerror(i32 noundef %16952, ptr noundef @.str.4)
  %16954 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16955 = load i32, ptr %16954, align 4, !tbaa !5
  %16956 = call ptr @s2n_strerror_debug(i32 noundef %16955, ptr noundef @.str.4)
  %16957 = call ptr @__errno_location() #12
  %16958 = load i32, ptr %16957, align 4, !tbaa !5
  %16959 = call ptr @strerror(i32 noundef %16958) #11
  %16960 = call ptr @__errno_location() #12
  %16961 = load i32, ptr %16960, align 4, !tbaa !5
  %16962 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16949, ptr noundef @.str.5, i32 noundef %16950, ptr noundef @.str.81, ptr noundef @.str.1, i32 noundef 538, ptr noundef %16953, ptr noundef %16956, ptr noundef %16959, i32 noundef %16961) #11
  br label %16963

16963:                                            ; preds = %16946, %16929
  call void @llvm.lifetime.end.p0(i64 4, ptr %356) #11
  br label %16964

16964:                                            ; preds = %16963
  br label %16965

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

16966:                                            ; No predecessors!
  br label %16967

16967:                                            ; preds = %16966
  br label %16968

16968:                                            ; preds = %16967, %16908
  br label %16969

16969:                                            ; preds = %16968
  br label %16970

16970:                                            ; preds = %16969
  br label %16971

16971:                                            ; preds = %16970
  %16972 = load i32, ptr @test_count, align 4, !tbaa !5
  %16973 = add nsw i32 %16972, 1
  store i32 %16973, ptr @test_count, align 4, !tbaa !5
  %16974 = load i32, ptr %345, align 4, !tbaa !5
  %16975 = icmp eq i32 %16974, 0
  br i1 %16975, label %17029, label %16976

16976:                                            ; preds = %16971
  br label %16977

16977:                                            ; preds = %16976
  br label %16978

16978:                                            ; preds = %16977
  call void @llvm.lifetime.start.p0(i64 4, ptr %357) #11
  %16979 = call ptr @__errno_location() #12
  %16980 = load i32, ptr %16979, align 4, !tbaa !5
  store i32 %16980, ptr %357, align 4, !tbaa !5
  %16981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16982 = call i32 @s2n_print_stacktrace(ptr noundef %16981)
  %16983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %16984 = trunc i8 %16983 to i1
  br i1 %16984, label %16985, label %17007

16985:                                            ; preds = %16978
  %16986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16987 = call i32 @fileno(ptr noundef %16986) #11
  %16988 = call i32 @isatty(i32 noundef %16987) #11
  %16989 = icmp ne i32 %16988, 0
  br i1 %16989, label %16990, label %17007

16990:                                            ; preds = %16985
  %16991 = load i32, ptr %357, align 4, !tbaa !5
  %16992 = call ptr @__errno_location() #12
  store i32 %16991, ptr %16992, align 4, !tbaa !5
  %16993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %16994 = load i32, ptr @test_count, align 4, !tbaa !5
  %16995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16996 = load i32, ptr %16995, align 4, !tbaa !5
  %16997 = call ptr @s2n_strerror(i32 noundef %16996, ptr noundef @.str.4)
  %16998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %16999 = load i32, ptr %16998, align 4, !tbaa !5
  %17000 = call ptr @s2n_strerror_debug(i32 noundef %16999, ptr noundef @.str.4)
  %17001 = call ptr @__errno_location() #12
  %17002 = load i32, ptr %17001, align 4, !tbaa !5
  %17003 = call ptr @strerror(i32 noundef %17002) #11
  %17004 = call ptr @__errno_location() #12
  %17005 = load i32, ptr %17004, align 4, !tbaa !5
  %17006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %16993, ptr noundef @.str.2, i32 noundef %16994, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 539, ptr noundef %16997, ptr noundef %17000, ptr noundef %17003, i32 noundef %17005) #11
  br label %17024

17007:                                            ; preds = %16985, %16978
  %17008 = load i32, ptr %357, align 4, !tbaa !5
  %17009 = call ptr @__errno_location() #12
  store i32 %17008, ptr %17009, align 4, !tbaa !5
  %17010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17011 = load i32, ptr @test_count, align 4, !tbaa !5
  %17012 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17013 = load i32, ptr %17012, align 4, !tbaa !5
  %17014 = call ptr @s2n_strerror(i32 noundef %17013, ptr noundef @.str.4)
  %17015 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17016 = load i32, ptr %17015, align 4, !tbaa !5
  %17017 = call ptr @s2n_strerror_debug(i32 noundef %17016, ptr noundef @.str.4)
  %17018 = call ptr @__errno_location() #12
  %17019 = load i32, ptr %17018, align 4, !tbaa !5
  %17020 = call ptr @strerror(i32 noundef %17019) #11
  %17021 = call ptr @__errno_location() #12
  %17022 = load i32, ptr %17021, align 4, !tbaa !5
  %17023 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17010, ptr noundef @.str.5, i32 noundef %17011, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 539, ptr noundef %17014, ptr noundef %17017, ptr noundef %17020, i32 noundef %17022) #11
  br label %17024

17024:                                            ; preds = %17007, %16990
  call void @llvm.lifetime.end.p0(i64 4, ptr %357) #11
  br label %17025

17025:                                            ; preds = %17024
  br label %17026

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

17027:                                            ; No predecessors!
  br label %17028

17028:                                            ; preds = %17027
  br label %17029

17029:                                            ; preds = %17028, %16971
  br label %17030

17030:                                            ; preds = %17029
  br label %17031

17031:                                            ; preds = %17030
  br label %17032

17032:                                            ; preds = %17031
  %17033 = load i32, ptr @test_count, align 4, !tbaa !5
  %17034 = add nsw i32 %17033, 1
  store i32 %17034, ptr @test_count, align 4, !tbaa !5
  %17035 = load ptr, ptr %338, align 8, !tbaa !9
  %17036 = call i32 @s2n_conn_get_current_message_type(ptr noundef %17035)
  %17037 = icmp eq i32 %17036, 13
  br i1 %17037, label %17091, label %17038

17038:                                            ; preds = %17032
  br label %17039

17039:                                            ; preds = %17038
  br label %17040

17040:                                            ; preds = %17039
  call void @llvm.lifetime.start.p0(i64 4, ptr %358) #11
  %17041 = call ptr @__errno_location() #12
  %17042 = load i32, ptr %17041, align 4, !tbaa !5
  store i32 %17042, ptr %358, align 4, !tbaa !5
  %17043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17044 = call i32 @s2n_print_stacktrace(ptr noundef %17043)
  %17045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17046 = trunc i8 %17045 to i1
  br i1 %17046, label %17047, label %17069

17047:                                            ; preds = %17040
  %17048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17049 = call i32 @fileno(ptr noundef %17048) #11
  %17050 = call i32 @isatty(i32 noundef %17049) #11
  %17051 = icmp ne i32 %17050, 0
  br i1 %17051, label %17052, label %17069

17052:                                            ; preds = %17047
  %17053 = load i32, ptr %358, align 4, !tbaa !5
  %17054 = call ptr @__errno_location() #12
  store i32 %17053, ptr %17054, align 4, !tbaa !5
  %17055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17056 = load i32, ptr @test_count, align 4, !tbaa !5
  %17057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17058 = load i32, ptr %17057, align 4, !tbaa !5
  %17059 = call ptr @s2n_strerror(i32 noundef %17058, ptr noundef @.str.4)
  %17060 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17061 = load i32, ptr %17060, align 4, !tbaa !5
  %17062 = call ptr @s2n_strerror_debug(i32 noundef %17061, ptr noundef @.str.4)
  %17063 = call ptr @__errno_location() #12
  %17064 = load i32, ptr %17063, align 4, !tbaa !5
  %17065 = call ptr @strerror(i32 noundef %17064) #11
  %17066 = call ptr @__errno_location() #12
  %17067 = load i32, ptr %17066, align 4, !tbaa !5
  %17068 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17055, ptr noundef @.str.2, i32 noundef %17056, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 539, ptr noundef %17059, ptr noundef %17062, ptr noundef %17065, i32 noundef %17067) #11
  br label %17086

17069:                                            ; preds = %17047, %17040
  %17070 = load i32, ptr %358, align 4, !tbaa !5
  %17071 = call ptr @__errno_location() #12
  store i32 %17070, ptr %17071, align 4, !tbaa !5
  %17072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17073 = load i32, ptr @test_count, align 4, !tbaa !5
  %17074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17075 = load i32, ptr %17074, align 4, !tbaa !5
  %17076 = call ptr @s2n_strerror(i32 noundef %17075, ptr noundef @.str.4)
  %17077 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17078 = load i32, ptr %17077, align 4, !tbaa !5
  %17079 = call ptr @s2n_strerror_debug(i32 noundef %17078, ptr noundef @.str.4)
  %17080 = call ptr @__errno_location() #12
  %17081 = load i32, ptr %17080, align 4, !tbaa !5
  %17082 = call ptr @strerror(i32 noundef %17081) #11
  %17083 = call ptr @__errno_location() #12
  %17084 = load i32, ptr %17083, align 4, !tbaa !5
  %17085 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17072, ptr noundef @.str.5, i32 noundef %17073, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 539, ptr noundef %17076, ptr noundef %17079, ptr noundef %17082, i32 noundef %17084) #11
  br label %17086

17086:                                            ; preds = %17069, %17052
  call void @llvm.lifetime.end.p0(i64 4, ptr %358) #11
  br label %17087

17087:                                            ; preds = %17086
  br label %17088

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

17089:                                            ; No predecessors!
  br label %17090

17090:                                            ; preds = %17089
  br label %17091

17091:                                            ; preds = %17090, %17032
  br label %17092

17092:                                            ; preds = %17091
  br label %17093

17093:                                            ; preds = %17092
  br label %17094

17094:                                            ; preds = %17093
  %17095 = load i32, ptr @test_count, align 4, !tbaa !5
  %17096 = add nsw i32 %17095, 1
  store i32 %17096, ptr @test_count, align 4, !tbaa !5
  %17097 = load i64, ptr %346, align 8, !tbaa !42
  %17098 = icmp eq i64 %17097, 0
  br i1 %17098, label %17152, label %17099

17099:                                            ; preds = %17094
  br label %17100

17100:                                            ; preds = %17099
  br label %17101

17101:                                            ; preds = %17100
  call void @llvm.lifetime.start.p0(i64 4, ptr %359) #11
  %17102 = call ptr @__errno_location() #12
  %17103 = load i32, ptr %17102, align 4, !tbaa !5
  store i32 %17103, ptr %359, align 4, !tbaa !5
  %17104 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17105 = call i32 @s2n_print_stacktrace(ptr noundef %17104)
  %17106 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17107 = trunc i8 %17106 to i1
  br i1 %17107, label %17108, label %17130

17108:                                            ; preds = %17101
  %17109 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17110 = call i32 @fileno(ptr noundef %17109) #11
  %17111 = call i32 @isatty(i32 noundef %17110) #11
  %17112 = icmp ne i32 %17111, 0
  br i1 %17112, label %17113, label %17130

17113:                                            ; preds = %17108
  %17114 = load i32, ptr %359, align 4, !tbaa !5
  %17115 = call ptr @__errno_location() #12
  store i32 %17114, ptr %17115, align 4, !tbaa !5
  %17116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17117 = load i32, ptr @test_count, align 4, !tbaa !5
  %17118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17119 = load i32, ptr %17118, align 4, !tbaa !5
  %17120 = call ptr @s2n_strerror(i32 noundef %17119, ptr noundef @.str.4)
  %17121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17122 = load i32, ptr %17121, align 4, !tbaa !5
  %17123 = call ptr @s2n_strerror_debug(i32 noundef %17122, ptr noundef @.str.4)
  %17124 = call ptr @__errno_location() #12
  %17125 = load i32, ptr %17124, align 4, !tbaa !5
  %17126 = call ptr @strerror(i32 noundef %17125) #11
  %17127 = call ptr @__errno_location() #12
  %17128 = load i32, ptr %17127, align 4, !tbaa !5
  %17129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17116, ptr noundef @.str.2, i32 noundef %17117, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 540, ptr noundef %17120, ptr noundef %17123, ptr noundef %17126, i32 noundef %17128) #11
  br label %17147

17130:                                            ; preds = %17108, %17101
  %17131 = load i32, ptr %359, align 4, !tbaa !5
  %17132 = call ptr @__errno_location() #12
  store i32 %17131, ptr %17132, align 4, !tbaa !5
  %17133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17134 = load i32, ptr @test_count, align 4, !tbaa !5
  %17135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17136 = load i32, ptr %17135, align 4, !tbaa !5
  %17137 = call ptr @s2n_strerror(i32 noundef %17136, ptr noundef @.str.4)
  %17138 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17139 = load i32, ptr %17138, align 4, !tbaa !5
  %17140 = call ptr @s2n_strerror_debug(i32 noundef %17139, ptr noundef @.str.4)
  %17141 = call ptr @__errno_location() #12
  %17142 = load i32, ptr %17141, align 4, !tbaa !5
  %17143 = call ptr @strerror(i32 noundef %17142) #11
  %17144 = call ptr @__errno_location() #12
  %17145 = load i32, ptr %17144, align 4, !tbaa !5
  %17146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17133, ptr noundef @.str.5, i32 noundef %17134, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 540, ptr noundef %17137, ptr noundef %17140, ptr noundef %17143, i32 noundef %17145) #11
  br label %17147

17147:                                            ; preds = %17130, %17113
  call void @llvm.lifetime.end.p0(i64 4, ptr %359) #11
  br label %17148

17148:                                            ; preds = %17147
  br label %17149

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

17150:                                            ; No predecessors!
  br label %17151

17151:                                            ; preds = %17150
  br label %17152

17152:                                            ; preds = %17151, %17094
  br label %17153

17153:                                            ; preds = %17152
  br label %17154

17154:                                            ; preds = %17153
  br label %17155

17155:                                            ; preds = %17154
  %17156 = load i32, ptr @test_count, align 4, !tbaa !5
  %17157 = add nsw i32 %17156, 1
  store i32 %17157, ptr @test_count, align 4, !tbaa !5
  %17158 = load ptr, ptr %338, align 8, !tbaa !9
  %17159 = call i32 @s2n_connection_get_early_data_status(ptr noundef %17158, ptr noundef %347)
  %17160 = icmp eq i32 %17159, -1
  br i1 %17160, label %17161, label %17214

17161:                                            ; preds = %17155
  br label %17162

17162:                                            ; preds = %17161
  br label %17163

17163:                                            ; preds = %17162
  call void @llvm.lifetime.start.p0(i64 4, ptr %360) #11
  %17164 = call ptr @__errno_location() #12
  %17165 = load i32, ptr %17164, align 4, !tbaa !5
  store i32 %17165, ptr %360, align 4, !tbaa !5
  %17166 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17167 = call i32 @s2n_print_stacktrace(ptr noundef %17166)
  %17168 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17169 = trunc i8 %17168 to i1
  br i1 %17169, label %17170, label %17192

17170:                                            ; preds = %17163
  %17171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17172 = call i32 @fileno(ptr noundef %17171) #11
  %17173 = call i32 @isatty(i32 noundef %17172) #11
  %17174 = icmp ne i32 %17173, 0
  br i1 %17174, label %17175, label %17192

17175:                                            ; preds = %17170
  %17176 = load i32, ptr %360, align 4, !tbaa !5
  %17177 = call ptr @__errno_location() #12
  store i32 %17176, ptr %17177, align 4, !tbaa !5
  %17178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17179 = load i32, ptr @test_count, align 4, !tbaa !5
  %17180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17181 = load i32, ptr %17180, align 4, !tbaa !5
  %17182 = call ptr @s2n_strerror(i32 noundef %17181, ptr noundef @.str.4)
  %17183 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17184 = load i32, ptr %17183, align 4, !tbaa !5
  %17185 = call ptr @s2n_strerror_debug(i32 noundef %17184, ptr noundef @.str.4)
  %17186 = call ptr @__errno_location() #12
  %17187 = load i32, ptr %17186, align 4, !tbaa !5
  %17188 = call ptr @strerror(i32 noundef %17187) #11
  %17189 = call ptr @__errno_location() #12
  %17190 = load i32, ptr %17189, align 4, !tbaa !5
  %17191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17178, ptr noundef @.str.2, i32 noundef %17179, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 542, ptr noundef %17182, ptr noundef %17185, ptr noundef %17188, i32 noundef %17190) #11
  br label %17209

17192:                                            ; preds = %17170, %17163
  %17193 = load i32, ptr %360, align 4, !tbaa !5
  %17194 = call ptr @__errno_location() #12
  store i32 %17193, ptr %17194, align 4, !tbaa !5
  %17195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17196 = load i32, ptr @test_count, align 4, !tbaa !5
  %17197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17198 = load i32, ptr %17197, align 4, !tbaa !5
  %17199 = call ptr @s2n_strerror(i32 noundef %17198, ptr noundef @.str.4)
  %17200 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17201 = load i32, ptr %17200, align 4, !tbaa !5
  %17202 = call ptr @s2n_strerror_debug(i32 noundef %17201, ptr noundef @.str.4)
  %17203 = call ptr @__errno_location() #12
  %17204 = load i32, ptr %17203, align 4, !tbaa !5
  %17205 = call ptr @strerror(i32 noundef %17204) #11
  %17206 = call ptr @__errno_location() #12
  %17207 = load i32, ptr %17206, align 4, !tbaa !5
  %17208 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17195, ptr noundef @.str.5, i32 noundef %17196, ptr noundef @.str.70, ptr noundef @.str.1, i32 noundef 542, ptr noundef %17199, ptr noundef %17202, ptr noundef %17205, i32 noundef %17207) #11
  br label %17209

17209:                                            ; preds = %17192, %17175
  call void @llvm.lifetime.end.p0(i64 4, ptr %360) #11
  br label %17210

17210:                                            ; preds = %17209
  br label %17211

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

17212:                                            ; No predecessors!
  br label %17213

17213:                                            ; preds = %17212
  br label %17214

17214:                                            ; preds = %17213, %17155
  br label %17215

17215:                                            ; preds = %17214
  br label %17216

17216:                                            ; preds = %17215
  br label %17217

17217:                                            ; preds = %17216
  %17218 = load i32, ptr @test_count, align 4, !tbaa !5
  %17219 = add nsw i32 %17218, 1
  store i32 %17219, ptr @test_count, align 4, !tbaa !5
  %17220 = load i32, ptr %347, align 4, !tbaa !5
  %17221 = icmp eq i32 %17220, 2
  br i1 %17221, label %17275, label %17222

17222:                                            ; preds = %17217
  br label %17223

17223:                                            ; preds = %17222
  br label %17224

17224:                                            ; preds = %17223
  call void @llvm.lifetime.start.p0(i64 4, ptr %361) #11
  %17225 = call ptr @__errno_location() #12
  %17226 = load i32, ptr %17225, align 4, !tbaa !5
  store i32 %17226, ptr %361, align 4, !tbaa !5
  %17227 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17228 = call i32 @s2n_print_stacktrace(ptr noundef %17227)
  %17229 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17230 = trunc i8 %17229 to i1
  br i1 %17230, label %17231, label %17253

17231:                                            ; preds = %17224
  %17232 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17233 = call i32 @fileno(ptr noundef %17232) #11
  %17234 = call i32 @isatty(i32 noundef %17233) #11
  %17235 = icmp ne i32 %17234, 0
  br i1 %17235, label %17236, label %17253

17236:                                            ; preds = %17231
  %17237 = load i32, ptr %361, align 4, !tbaa !5
  %17238 = call ptr @__errno_location() #12
  store i32 %17237, ptr %17238, align 4, !tbaa !5
  %17239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17240 = load i32, ptr @test_count, align 4, !tbaa !5
  %17241 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17242 = load i32, ptr %17241, align 4, !tbaa !5
  %17243 = call ptr @s2n_strerror(i32 noundef %17242, ptr noundef @.str.4)
  %17244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17245 = load i32, ptr %17244, align 4, !tbaa !5
  %17246 = call ptr @s2n_strerror_debug(i32 noundef %17245, ptr noundef @.str.4)
  %17247 = call ptr @__errno_location() #12
  %17248 = load i32, ptr %17247, align 4, !tbaa !5
  %17249 = call ptr @strerror(i32 noundef %17248) #11
  %17250 = call ptr @__errno_location() #12
  %17251 = load i32, ptr %17250, align 4, !tbaa !5
  %17252 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17239, ptr noundef @.str.2, i32 noundef %17240, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 543, ptr noundef %17243, ptr noundef %17246, ptr noundef %17249, i32 noundef %17251) #11
  br label %17270

17253:                                            ; preds = %17231, %17224
  %17254 = load i32, ptr %361, align 4, !tbaa !5
  %17255 = call ptr @__errno_location() #12
  store i32 %17254, ptr %17255, align 4, !tbaa !5
  %17256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17257 = load i32, ptr @test_count, align 4, !tbaa !5
  %17258 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17259 = load i32, ptr %17258, align 4, !tbaa !5
  %17260 = call ptr @s2n_strerror(i32 noundef %17259, ptr noundef @.str.4)
  %17261 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17262 = load i32, ptr %17261, align 4, !tbaa !5
  %17263 = call ptr @s2n_strerror_debug(i32 noundef %17262, ptr noundef @.str.4)
  %17264 = call ptr @__errno_location() #12
  %17265 = load i32, ptr %17264, align 4, !tbaa !5
  %17266 = call ptr @strerror(i32 noundef %17265) #11
  %17267 = call ptr @__errno_location() #12
  %17268 = load i32, ptr %17267, align 4, !tbaa !5
  %17269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17256, ptr noundef @.str.5, i32 noundef %17257, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 543, ptr noundef %17260, ptr noundef %17263, ptr noundef %17266, i32 noundef %17268) #11
  br label %17270

17270:                                            ; preds = %17253, %17236
  call void @llvm.lifetime.end.p0(i64 4, ptr %361) #11
  br label %17271

17271:                                            ; preds = %17270
  br label %17272

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

17273:                                            ; No predecessors!
  br label %17274

17274:                                            ; preds = %17273
  br label %17275

17275:                                            ; preds = %17274, %17217
  br label %17276

17276:                                            ; preds = %17275
  br label %17277

17277:                                            ; preds = %17276
  br label %17278

17278:                                            ; preds = %17277
  %17279 = load i32, ptr @test_count, align 4, !tbaa !5
  %17280 = add nsw i32 %17279, 1
  store i32 %17280, ptr @test_count, align 4, !tbaa !5
  %17281 = load ptr, ptr %337, align 8, !tbaa !9
  %17282 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %17283 = call i32 @s2n_send_early_data(ptr noundef %17281, ptr noundef %17282, i64 noundef 12, ptr noundef %346, ptr noundef %345)
  %17284 = icmp eq i32 %17283, -1
  br i1 %17284, label %17285, label %17338

17285:                                            ; preds = %17278
  br label %17286

17286:                                            ; preds = %17285
  br label %17287

17287:                                            ; preds = %17286
  call void @llvm.lifetime.start.p0(i64 4, ptr %362) #11
  %17288 = call ptr @__errno_location() #12
  %17289 = load i32, ptr %17288, align 4, !tbaa !5
  store i32 %17289, ptr %362, align 4, !tbaa !5
  %17290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17291 = call i32 @s2n_print_stacktrace(ptr noundef %17290)
  %17292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17293 = trunc i8 %17292 to i1
  br i1 %17293, label %17294, label %17316

17294:                                            ; preds = %17287
  %17295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17296 = call i32 @fileno(ptr noundef %17295) #11
  %17297 = call i32 @isatty(i32 noundef %17296) #11
  %17298 = icmp ne i32 %17297, 0
  br i1 %17298, label %17299, label %17316

17299:                                            ; preds = %17294
  %17300 = load i32, ptr %362, align 4, !tbaa !5
  %17301 = call ptr @__errno_location() #12
  store i32 %17300, ptr %17301, align 4, !tbaa !5
  %17302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17303 = load i32, ptr @test_count, align 4, !tbaa !5
  %17304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17305 = load i32, ptr %17304, align 4, !tbaa !5
  %17306 = call ptr @s2n_strerror(i32 noundef %17305, ptr noundef @.str.4)
  %17307 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17308 = load i32, ptr %17307, align 4, !tbaa !5
  %17309 = call ptr @s2n_strerror_debug(i32 noundef %17308, ptr noundef @.str.4)
  %17310 = call ptr @__errno_location() #12
  %17311 = load i32, ptr %17310, align 4, !tbaa !5
  %17312 = call ptr @strerror(i32 noundef %17311) #11
  %17313 = call ptr @__errno_location() #12
  %17314 = load i32, ptr %17313, align 4, !tbaa !5
  %17315 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17302, ptr noundef @.str.2, i32 noundef %17303, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 546, ptr noundef %17306, ptr noundef %17309, ptr noundef %17312, i32 noundef %17314) #11
  br label %17333

17316:                                            ; preds = %17294, %17287
  %17317 = load i32, ptr %362, align 4, !tbaa !5
  %17318 = call ptr @__errno_location() #12
  store i32 %17317, ptr %17318, align 4, !tbaa !5
  %17319 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17320 = load i32, ptr @test_count, align 4, !tbaa !5
  %17321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17322 = load i32, ptr %17321, align 4, !tbaa !5
  %17323 = call ptr @s2n_strerror(i32 noundef %17322, ptr noundef @.str.4)
  %17324 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17325 = load i32, ptr %17324, align 4, !tbaa !5
  %17326 = call ptr @s2n_strerror_debug(i32 noundef %17325, ptr noundef @.str.4)
  %17327 = call ptr @__errno_location() #12
  %17328 = load i32, ptr %17327, align 4, !tbaa !5
  %17329 = call ptr @strerror(i32 noundef %17328) #11
  %17330 = call ptr @__errno_location() #12
  %17331 = load i32, ptr %17330, align 4, !tbaa !5
  %17332 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17319, ptr noundef @.str.5, i32 noundef %17320, ptr noundef @.str.86, ptr noundef @.str.1, i32 noundef 546, ptr noundef %17323, ptr noundef %17326, ptr noundef %17329, i32 noundef %17331) #11
  br label %17333

17333:                                            ; preds = %17316, %17299
  call void @llvm.lifetime.end.p0(i64 4, ptr %362) #11
  br label %17334

17334:                                            ; preds = %17333
  br label %17335

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

17336:                                            ; No predecessors!
  br label %17337

17337:                                            ; preds = %17336
  br label %17338

17338:                                            ; preds = %17337, %17278
  br label %17339

17339:                                            ; preds = %17338
  br label %17340

17340:                                            ; preds = %17339
  br label %17341

17341:                                            ; preds = %17340
  %17342 = load i32, ptr @test_count, align 4, !tbaa !5
  %17343 = add nsw i32 %17342, 1
  store i32 %17343, ptr @test_count, align 4, !tbaa !5
  %17344 = load i32, ptr %345, align 4, !tbaa !5
  %17345 = icmp eq i32 %17344, 0
  br i1 %17345, label %17399, label %17346

17346:                                            ; preds = %17341
  br label %17347

17347:                                            ; preds = %17346
  br label %17348

17348:                                            ; preds = %17347
  call void @llvm.lifetime.start.p0(i64 4, ptr %363) #11
  %17349 = call ptr @__errno_location() #12
  %17350 = load i32, ptr %17349, align 4, !tbaa !5
  store i32 %17350, ptr %363, align 4, !tbaa !5
  %17351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17352 = call i32 @s2n_print_stacktrace(ptr noundef %17351)
  %17353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17354 = trunc i8 %17353 to i1
  br i1 %17354, label %17355, label %17377

17355:                                            ; preds = %17348
  %17356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17357 = call i32 @fileno(ptr noundef %17356) #11
  %17358 = call i32 @isatty(i32 noundef %17357) #11
  %17359 = icmp ne i32 %17358, 0
  br i1 %17359, label %17360, label %17377

17360:                                            ; preds = %17355
  %17361 = load i32, ptr %363, align 4, !tbaa !5
  %17362 = call ptr @__errno_location() #12
  store i32 %17361, ptr %17362, align 4, !tbaa !5
  %17363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17364 = load i32, ptr @test_count, align 4, !tbaa !5
  %17365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17366 = load i32, ptr %17365, align 4, !tbaa !5
  %17367 = call ptr @s2n_strerror(i32 noundef %17366, ptr noundef @.str.4)
  %17368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17369 = load i32, ptr %17368, align 4, !tbaa !5
  %17370 = call ptr @s2n_strerror_debug(i32 noundef %17369, ptr noundef @.str.4)
  %17371 = call ptr @__errno_location() #12
  %17372 = load i32, ptr %17371, align 4, !tbaa !5
  %17373 = call ptr @strerror(i32 noundef %17372) #11
  %17374 = call ptr @__errno_location() #12
  %17375 = load i32, ptr %17374, align 4, !tbaa !5
  %17376 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17363, ptr noundef @.str.2, i32 noundef %17364, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 547, ptr noundef %17367, ptr noundef %17370, ptr noundef %17373, i32 noundef %17375) #11
  br label %17394

17377:                                            ; preds = %17355, %17348
  %17378 = load i32, ptr %363, align 4, !tbaa !5
  %17379 = call ptr @__errno_location() #12
  store i32 %17378, ptr %17379, align 4, !tbaa !5
  %17380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17381 = load i32, ptr @test_count, align 4, !tbaa !5
  %17382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17383 = load i32, ptr %17382, align 4, !tbaa !5
  %17384 = call ptr @s2n_strerror(i32 noundef %17383, ptr noundef @.str.4)
  %17385 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17386 = load i32, ptr %17385, align 4, !tbaa !5
  %17387 = call ptr @s2n_strerror_debug(i32 noundef %17386, ptr noundef @.str.4)
  %17388 = call ptr @__errno_location() #12
  %17389 = load i32, ptr %17388, align 4, !tbaa !5
  %17390 = call ptr @strerror(i32 noundef %17389) #11
  %17391 = call ptr @__errno_location() #12
  %17392 = load i32, ptr %17391, align 4, !tbaa !5
  %17393 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17380, ptr noundef @.str.5, i32 noundef %17381, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 547, ptr noundef %17384, ptr noundef %17387, ptr noundef %17390, i32 noundef %17392) #11
  br label %17394

17394:                                            ; preds = %17377, %17360
  call void @llvm.lifetime.end.p0(i64 4, ptr %363) #11
  br label %17395

17395:                                            ; preds = %17394
  br label %17396

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

17397:                                            ; No predecessors!
  br label %17398

17398:                                            ; preds = %17397
  br label %17399

17399:                                            ; preds = %17398, %17341
  br label %17400

17400:                                            ; preds = %17399
  br label %17401

17401:                                            ; preds = %17400
  br label %17402

17402:                                            ; preds = %17401
  %17403 = load i32, ptr @test_count, align 4, !tbaa !5
  %17404 = add nsw i32 %17403, 1
  store i32 %17404, ptr @test_count, align 4, !tbaa !5
  %17405 = load ptr, ptr %337, align 8, !tbaa !9
  %17406 = call i32 @s2n_conn_get_current_message_type(ptr noundef %17405)
  %17407 = icmp eq i32 %17406, 20
  br i1 %17407, label %17461, label %17408

17408:                                            ; preds = %17402
  br label %17409

17409:                                            ; preds = %17408
  br label %17410

17410:                                            ; preds = %17409
  call void @llvm.lifetime.start.p0(i64 4, ptr %364) #11
  %17411 = call ptr @__errno_location() #12
  %17412 = load i32, ptr %17411, align 4, !tbaa !5
  store i32 %17412, ptr %364, align 4, !tbaa !5
  %17413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17414 = call i32 @s2n_print_stacktrace(ptr noundef %17413)
  %17415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17416 = trunc i8 %17415 to i1
  br i1 %17416, label %17417, label %17439

17417:                                            ; preds = %17410
  %17418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17419 = call i32 @fileno(ptr noundef %17418) #11
  %17420 = call i32 @isatty(i32 noundef %17419) #11
  %17421 = icmp ne i32 %17420, 0
  br i1 %17421, label %17422, label %17439

17422:                                            ; preds = %17417
  %17423 = load i32, ptr %364, align 4, !tbaa !5
  %17424 = call ptr @__errno_location() #12
  store i32 %17423, ptr %17424, align 4, !tbaa !5
  %17425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17426 = load i32, ptr @test_count, align 4, !tbaa !5
  %17427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17428 = load i32, ptr %17427, align 4, !tbaa !5
  %17429 = call ptr @s2n_strerror(i32 noundef %17428, ptr noundef @.str.4)
  %17430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17431 = load i32, ptr %17430, align 4, !tbaa !5
  %17432 = call ptr @s2n_strerror_debug(i32 noundef %17431, ptr noundef @.str.4)
  %17433 = call ptr @__errno_location() #12
  %17434 = load i32, ptr %17433, align 4, !tbaa !5
  %17435 = call ptr @strerror(i32 noundef %17434) #11
  %17436 = call ptr @__errno_location() #12
  %17437 = load i32, ptr %17436, align 4, !tbaa !5
  %17438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17425, ptr noundef @.str.2, i32 noundef %17426, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 547, ptr noundef %17429, ptr noundef %17432, ptr noundef %17435, i32 noundef %17437) #11
  br label %17456

17439:                                            ; preds = %17417, %17410
  %17440 = load i32, ptr %364, align 4, !tbaa !5
  %17441 = call ptr @__errno_location() #12
  store i32 %17440, ptr %17441, align 4, !tbaa !5
  %17442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17443 = load i32, ptr @test_count, align 4, !tbaa !5
  %17444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17445 = load i32, ptr %17444, align 4, !tbaa !5
  %17446 = call ptr @s2n_strerror(i32 noundef %17445, ptr noundef @.str.4)
  %17447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17448 = load i32, ptr %17447, align 4, !tbaa !5
  %17449 = call ptr @s2n_strerror_debug(i32 noundef %17448, ptr noundef @.str.4)
  %17450 = call ptr @__errno_location() #12
  %17451 = load i32, ptr %17450, align 4, !tbaa !5
  %17452 = call ptr @strerror(i32 noundef %17451) #11
  %17453 = call ptr @__errno_location() #12
  %17454 = load i32, ptr %17453, align 4, !tbaa !5
  %17455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17442, ptr noundef @.str.5, i32 noundef %17443, ptr noundef @.str.100, ptr noundef @.str.1, i32 noundef 547, ptr noundef %17446, ptr noundef %17449, ptr noundef %17452, i32 noundef %17454) #11
  br label %17456

17456:                                            ; preds = %17439, %17422
  call void @llvm.lifetime.end.p0(i64 4, ptr %364) #11
  br label %17457

17457:                                            ; preds = %17456
  br label %17458

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

17459:                                            ; No predecessors!
  br label %17460

17460:                                            ; preds = %17459
  br label %17461

17461:                                            ; preds = %17460, %17402
  br label %17462

17462:                                            ; preds = %17461
  br label %17463

17463:                                            ; preds = %17462
  br label %17464

17464:                                            ; preds = %17463
  %17465 = load i32, ptr @test_count, align 4, !tbaa !5
  %17466 = add nsw i32 %17465, 1
  store i32 %17466, ptr @test_count, align 4, !tbaa !5
  %17467 = load i64, ptr %346, align 8, !tbaa !42
  %17468 = icmp eq i64 %17467, 0
  br i1 %17468, label %17522, label %17469

17469:                                            ; preds = %17464
  br label %17470

17470:                                            ; preds = %17469
  br label %17471

17471:                                            ; preds = %17470
  call void @llvm.lifetime.start.p0(i64 4, ptr %365) #11
  %17472 = call ptr @__errno_location() #12
  %17473 = load i32, ptr %17472, align 4, !tbaa !5
  store i32 %17473, ptr %365, align 4, !tbaa !5
  %17474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17475 = call i32 @s2n_print_stacktrace(ptr noundef %17474)
  %17476 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17477 = trunc i8 %17476 to i1
  br i1 %17477, label %17478, label %17500

17478:                                            ; preds = %17471
  %17479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17480 = call i32 @fileno(ptr noundef %17479) #11
  %17481 = call i32 @isatty(i32 noundef %17480) #11
  %17482 = icmp ne i32 %17481, 0
  br i1 %17482, label %17483, label %17500

17483:                                            ; preds = %17478
  %17484 = load i32, ptr %365, align 4, !tbaa !5
  %17485 = call ptr @__errno_location() #12
  store i32 %17484, ptr %17485, align 4, !tbaa !5
  %17486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17487 = load i32, ptr @test_count, align 4, !tbaa !5
  %17488 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17489 = load i32, ptr %17488, align 4, !tbaa !5
  %17490 = call ptr @s2n_strerror(i32 noundef %17489, ptr noundef @.str.4)
  %17491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17492 = load i32, ptr %17491, align 4, !tbaa !5
  %17493 = call ptr @s2n_strerror_debug(i32 noundef %17492, ptr noundef @.str.4)
  %17494 = call ptr @__errno_location() #12
  %17495 = load i32, ptr %17494, align 4, !tbaa !5
  %17496 = call ptr @strerror(i32 noundef %17495) #11
  %17497 = call ptr @__errno_location() #12
  %17498 = load i32, ptr %17497, align 4, !tbaa !5
  %17499 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17486, ptr noundef @.str.2, i32 noundef %17487, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 548, ptr noundef %17490, ptr noundef %17493, ptr noundef %17496, i32 noundef %17498) #11
  br label %17517

17500:                                            ; preds = %17478, %17471
  %17501 = load i32, ptr %365, align 4, !tbaa !5
  %17502 = call ptr @__errno_location() #12
  store i32 %17501, ptr %17502, align 4, !tbaa !5
  %17503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17504 = load i32, ptr @test_count, align 4, !tbaa !5
  %17505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17506 = load i32, ptr %17505, align 4, !tbaa !5
  %17507 = call ptr @s2n_strerror(i32 noundef %17506, ptr noundef @.str.4)
  %17508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17509 = load i32, ptr %17508, align 4, !tbaa !5
  %17510 = call ptr @s2n_strerror_debug(i32 noundef %17509, ptr noundef @.str.4)
  %17511 = call ptr @__errno_location() #12
  %17512 = load i32, ptr %17511, align 4, !tbaa !5
  %17513 = call ptr @strerror(i32 noundef %17512) #11
  %17514 = call ptr @__errno_location() #12
  %17515 = load i32, ptr %17514, align 4, !tbaa !5
  %17516 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17503, ptr noundef @.str.5, i32 noundef %17504, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 548, ptr noundef %17507, ptr noundef %17510, ptr noundef %17513, i32 noundef %17515) #11
  br label %17517

17517:                                            ; preds = %17500, %17483
  call void @llvm.lifetime.end.p0(i64 4, ptr %365) #11
  br label %17518

17518:                                            ; preds = %17517
  br label %17519

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

17520:                                            ; No predecessors!
  br label %17521

17521:                                            ; preds = %17520
  br label %17522

17522:                                            ; preds = %17521, %17464
  br label %17523

17523:                                            ; preds = %17522
  br label %17524

17524:                                            ; preds = %17523
  br label %17525

17525:                                            ; preds = %17524
  %17526 = load i32, ptr @test_count, align 4, !tbaa !5
  %17527 = add nsw i32 %17526, 1
  store i32 %17527, ptr @test_count, align 4, !tbaa !5
  %17528 = load ptr, ptr %337, align 8, !tbaa !9
  %17529 = call i32 @s2n_connection_get_early_data_status(ptr noundef %17528, ptr noundef %347)
  %17530 = icmp eq i32 %17529, -1
  br i1 %17530, label %17531, label %17584

17531:                                            ; preds = %17525
  br label %17532

17532:                                            ; preds = %17531
  br label %17533

17533:                                            ; preds = %17532
  call void @llvm.lifetime.start.p0(i64 4, ptr %366) #11
  %17534 = call ptr @__errno_location() #12
  %17535 = load i32, ptr %17534, align 4, !tbaa !5
  store i32 %17535, ptr %366, align 4, !tbaa !5
  %17536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17537 = call i32 @s2n_print_stacktrace(ptr noundef %17536)
  %17538 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17539 = trunc i8 %17538 to i1
  br i1 %17539, label %17540, label %17562

17540:                                            ; preds = %17533
  %17541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17542 = call i32 @fileno(ptr noundef %17541) #11
  %17543 = call i32 @isatty(i32 noundef %17542) #11
  %17544 = icmp ne i32 %17543, 0
  br i1 %17544, label %17545, label %17562

17545:                                            ; preds = %17540
  %17546 = load i32, ptr %366, align 4, !tbaa !5
  %17547 = call ptr @__errno_location() #12
  store i32 %17546, ptr %17547, align 4, !tbaa !5
  %17548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17549 = load i32, ptr @test_count, align 4, !tbaa !5
  %17550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17551 = load i32, ptr %17550, align 4, !tbaa !5
  %17552 = call ptr @s2n_strerror(i32 noundef %17551, ptr noundef @.str.4)
  %17553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17554 = load i32, ptr %17553, align 4, !tbaa !5
  %17555 = call ptr @s2n_strerror_debug(i32 noundef %17554, ptr noundef @.str.4)
  %17556 = call ptr @__errno_location() #12
  %17557 = load i32, ptr %17556, align 4, !tbaa !5
  %17558 = call ptr @strerror(i32 noundef %17557) #11
  %17559 = call ptr @__errno_location() #12
  %17560 = load i32, ptr %17559, align 4, !tbaa !5
  %17561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17548, ptr noundef @.str.2, i32 noundef %17549, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 550, ptr noundef %17552, ptr noundef %17555, ptr noundef %17558, i32 noundef %17560) #11
  br label %17579

17562:                                            ; preds = %17540, %17533
  %17563 = load i32, ptr %366, align 4, !tbaa !5
  %17564 = call ptr @__errno_location() #12
  store i32 %17563, ptr %17564, align 4, !tbaa !5
  %17565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17566 = load i32, ptr @test_count, align 4, !tbaa !5
  %17567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17568 = load i32, ptr %17567, align 4, !tbaa !5
  %17569 = call ptr @s2n_strerror(i32 noundef %17568, ptr noundef @.str.4)
  %17570 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17571 = load i32, ptr %17570, align 4, !tbaa !5
  %17572 = call ptr @s2n_strerror_debug(i32 noundef %17571, ptr noundef @.str.4)
  %17573 = call ptr @__errno_location() #12
  %17574 = load i32, ptr %17573, align 4, !tbaa !5
  %17575 = call ptr @strerror(i32 noundef %17574) #11
  %17576 = call ptr @__errno_location() #12
  %17577 = load i32, ptr %17576, align 4, !tbaa !5
  %17578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17565, ptr noundef @.str.5, i32 noundef %17566, ptr noundef @.str.66, ptr noundef @.str.1, i32 noundef 550, ptr noundef %17569, ptr noundef %17572, ptr noundef %17575, i32 noundef %17577) #11
  br label %17579

17579:                                            ; preds = %17562, %17545
  call void @llvm.lifetime.end.p0(i64 4, ptr %366) #11
  br label %17580

17580:                                            ; preds = %17579
  br label %17581

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

17582:                                            ; No predecessors!
  br label %17583

17583:                                            ; preds = %17582
  br label %17584

17584:                                            ; preds = %17583, %17525
  br label %17585

17585:                                            ; preds = %17584
  br label %17586

17586:                                            ; preds = %17585
  br label %17587

17587:                                            ; preds = %17586
  %17588 = load i32, ptr @test_count, align 4, !tbaa !5
  %17589 = add nsw i32 %17588, 1
  store i32 %17589, ptr @test_count, align 4, !tbaa !5
  %17590 = load i32, ptr %347, align 4, !tbaa !5
  %17591 = icmp eq i32 %17590, 2
  br i1 %17591, label %17645, label %17592

17592:                                            ; preds = %17587
  br label %17593

17593:                                            ; preds = %17592
  br label %17594

17594:                                            ; preds = %17593
  call void @llvm.lifetime.start.p0(i64 4, ptr %367) #11
  %17595 = call ptr @__errno_location() #12
  %17596 = load i32, ptr %17595, align 4, !tbaa !5
  store i32 %17596, ptr %367, align 4, !tbaa !5
  %17597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17598 = call i32 @s2n_print_stacktrace(ptr noundef %17597)
  %17599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17600 = trunc i8 %17599 to i1
  br i1 %17600, label %17601, label %17623

17601:                                            ; preds = %17594
  %17602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17603 = call i32 @fileno(ptr noundef %17602) #11
  %17604 = call i32 @isatty(i32 noundef %17603) #11
  %17605 = icmp ne i32 %17604, 0
  br i1 %17605, label %17606, label %17623

17606:                                            ; preds = %17601
  %17607 = load i32, ptr %367, align 4, !tbaa !5
  %17608 = call ptr @__errno_location() #12
  store i32 %17607, ptr %17608, align 4, !tbaa !5
  %17609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17610 = load i32, ptr @test_count, align 4, !tbaa !5
  %17611 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17612 = load i32, ptr %17611, align 4, !tbaa !5
  %17613 = call ptr @s2n_strerror(i32 noundef %17612, ptr noundef @.str.4)
  %17614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17615 = load i32, ptr %17614, align 4, !tbaa !5
  %17616 = call ptr @s2n_strerror_debug(i32 noundef %17615, ptr noundef @.str.4)
  %17617 = call ptr @__errno_location() #12
  %17618 = load i32, ptr %17617, align 4, !tbaa !5
  %17619 = call ptr @strerror(i32 noundef %17618) #11
  %17620 = call ptr @__errno_location() #12
  %17621 = load i32, ptr %17620, align 4, !tbaa !5
  %17622 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17609, ptr noundef @.str.2, i32 noundef %17610, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 551, ptr noundef %17613, ptr noundef %17616, ptr noundef %17619, i32 noundef %17621) #11
  br label %17640

17623:                                            ; preds = %17601, %17594
  %17624 = load i32, ptr %367, align 4, !tbaa !5
  %17625 = call ptr @__errno_location() #12
  store i32 %17624, ptr %17625, align 4, !tbaa !5
  %17626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17627 = load i32, ptr @test_count, align 4, !tbaa !5
  %17628 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17629 = load i32, ptr %17628, align 4, !tbaa !5
  %17630 = call ptr @s2n_strerror(i32 noundef %17629, ptr noundef @.str.4)
  %17631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17632 = load i32, ptr %17631, align 4, !tbaa !5
  %17633 = call ptr @s2n_strerror_debug(i32 noundef %17632, ptr noundef @.str.4)
  %17634 = call ptr @__errno_location() #12
  %17635 = load i32, ptr %17634, align 4, !tbaa !5
  %17636 = call ptr @strerror(i32 noundef %17635) #11
  %17637 = call ptr @__errno_location() #12
  %17638 = load i32, ptr %17637, align 4, !tbaa !5
  %17639 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17626, ptr noundef @.str.5, i32 noundef %17627, ptr noundef @.str.99, ptr noundef @.str.1, i32 noundef 551, ptr noundef %17630, ptr noundef %17633, ptr noundef %17636, i32 noundef %17638) #11
  br label %17640

17640:                                            ; preds = %17623, %17606
  call void @llvm.lifetime.end.p0(i64 4, ptr %367) #11
  br label %17641

17641:                                            ; preds = %17640
  br label %17642

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

17643:                                            ; No predecessors!
  br label %17644

17644:                                            ; preds = %17643
  br label %17645

17645:                                            ; preds = %17644, %17587
  br label %17646

17646:                                            ; preds = %17645
  br label %17647

17647:                                            ; preds = %17646
  br label %17648

17648:                                            ; preds = %17647
  %17649 = load i32, ptr @test_count, align 4, !tbaa !5
  %17650 = add nsw i32 %17649, 1
  store i32 %17650, ptr @test_count, align 4, !tbaa !5
  %17651 = load ptr, ptr %338, align 8, !tbaa !9
  %17652 = load ptr, ptr %337, align 8, !tbaa !9
  %17653 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %17651, ptr noundef %17652)
  %17654 = icmp eq i32 %17653, -1
  br i1 %17654, label %17655, label %17708

17655:                                            ; preds = %17648
  br label %17656

17656:                                            ; preds = %17655
  br label %17657

17657:                                            ; preds = %17656
  call void @llvm.lifetime.start.p0(i64 4, ptr %368) #11
  %17658 = call ptr @__errno_location() #12
  %17659 = load i32, ptr %17658, align 4, !tbaa !5
  store i32 %17659, ptr %368, align 4, !tbaa !5
  %17660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17661 = call i32 @s2n_print_stacktrace(ptr noundef %17660)
  %17662 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17663 = trunc i8 %17662 to i1
  br i1 %17663, label %17664, label %17686

17664:                                            ; preds = %17657
  %17665 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17666 = call i32 @fileno(ptr noundef %17665) #11
  %17667 = call i32 @isatty(i32 noundef %17666) #11
  %17668 = icmp ne i32 %17667, 0
  br i1 %17668, label %17669, label %17686

17669:                                            ; preds = %17664
  %17670 = load i32, ptr %368, align 4, !tbaa !5
  %17671 = call ptr @__errno_location() #12
  store i32 %17670, ptr %17671, align 4, !tbaa !5
  %17672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17673 = load i32, ptr @test_count, align 4, !tbaa !5
  %17674 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17675 = load i32, ptr %17674, align 4, !tbaa !5
  %17676 = call ptr @s2n_strerror(i32 noundef %17675, ptr noundef @.str.4)
  %17677 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17678 = load i32, ptr %17677, align 4, !tbaa !5
  %17679 = call ptr @s2n_strerror_debug(i32 noundef %17678, ptr noundef @.str.4)
  %17680 = call ptr @__errno_location() #12
  %17681 = load i32, ptr %17680, align 4, !tbaa !5
  %17682 = call ptr @strerror(i32 noundef %17681) #11
  %17683 = call ptr @__errno_location() #12
  %17684 = load i32, ptr %17683, align 4, !tbaa !5
  %17685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17672, ptr noundef @.str.2, i32 noundef %17673, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 553, ptr noundef %17676, ptr noundef %17679, ptr noundef %17682, i32 noundef %17684) #11
  br label %17703

17686:                                            ; preds = %17664, %17657
  %17687 = load i32, ptr %368, align 4, !tbaa !5
  %17688 = call ptr @__errno_location() #12
  store i32 %17687, ptr %17688, align 4, !tbaa !5
  %17689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17690 = load i32, ptr @test_count, align 4, !tbaa !5
  %17691 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17692 = load i32, ptr %17691, align 4, !tbaa !5
  %17693 = call ptr @s2n_strerror(i32 noundef %17692, ptr noundef @.str.4)
  %17694 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17695 = load i32, ptr %17694, align 4, !tbaa !5
  %17696 = call ptr @s2n_strerror_debug(i32 noundef %17695, ptr noundef @.str.4)
  %17697 = call ptr @__errno_location() #12
  %17698 = load i32, ptr %17697, align 4, !tbaa !5
  %17699 = call ptr @strerror(i32 noundef %17698) #11
  %17700 = call ptr @__errno_location() #12
  %17701 = load i32, ptr %17700, align 4, !tbaa !5
  %17702 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17689, ptr noundef @.str.5, i32 noundef %17690, ptr noundef @.str.71, ptr noundef @.str.1, i32 noundef 553, ptr noundef %17693, ptr noundef %17696, ptr noundef %17699, i32 noundef %17701) #11
  br label %17703

17703:                                            ; preds = %17686, %17669
  call void @llvm.lifetime.end.p0(i64 4, ptr %368) #11
  br label %17704

17704:                                            ; preds = %17703
  br label %17705

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

17706:                                            ; No predecessors!
  br label %17707

17707:                                            ; preds = %17706
  br label %17708

17708:                                            ; preds = %17707, %17648
  br label %17709

17709:                                            ; preds = %17708
  br label %17710

17710:                                            ; preds = %17709
  br label %17711

17711:                                            ; preds = %17710
  %17712 = load i32, ptr @test_count, align 4, !tbaa !5
  %17713 = add nsw i32 %17712, 1
  store i32 %17713, ptr @test_count, align 4, !tbaa !5
  %17714 = load ptr, ptr %337, align 8, !tbaa !9
  %17715 = call i32 @s2n_connection_free(ptr noundef %17714)
  %17716 = icmp eq i32 %17715, -1
  br i1 %17716, label %17717, label %17770

17717:                                            ; preds = %17711
  br label %17718

17718:                                            ; preds = %17717
  br label %17719

17719:                                            ; preds = %17718
  call void @llvm.lifetime.start.p0(i64 4, ptr %369) #11
  %17720 = call ptr @__errno_location() #12
  %17721 = load i32, ptr %17720, align 4, !tbaa !5
  store i32 %17721, ptr %369, align 4, !tbaa !5
  %17722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17723 = call i32 @s2n_print_stacktrace(ptr noundef %17722)
  %17724 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17725 = trunc i8 %17724 to i1
  br i1 %17725, label %17726, label %17748

17726:                                            ; preds = %17719
  %17727 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17728 = call i32 @fileno(ptr noundef %17727) #11
  %17729 = call i32 @isatty(i32 noundef %17728) #11
  %17730 = icmp ne i32 %17729, 0
  br i1 %17730, label %17731, label %17748

17731:                                            ; preds = %17726
  %17732 = load i32, ptr %369, align 4, !tbaa !5
  %17733 = call ptr @__errno_location() #12
  store i32 %17732, ptr %17733, align 4, !tbaa !5
  %17734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17735 = load i32, ptr @test_count, align 4, !tbaa !5
  %17736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17737 = load i32, ptr %17736, align 4, !tbaa !5
  %17738 = call ptr @s2n_strerror(i32 noundef %17737, ptr noundef @.str.4)
  %17739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17740 = load i32, ptr %17739, align 4, !tbaa !5
  %17741 = call ptr @s2n_strerror_debug(i32 noundef %17740, ptr noundef @.str.4)
  %17742 = call ptr @__errno_location() #12
  %17743 = load i32, ptr %17742, align 4, !tbaa !5
  %17744 = call ptr @strerror(i32 noundef %17743) #11
  %17745 = call ptr @__errno_location() #12
  %17746 = load i32, ptr %17745, align 4, !tbaa !5
  %17747 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17734, ptr noundef @.str.2, i32 noundef %17735, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 555, ptr noundef %17738, ptr noundef %17741, ptr noundef %17744, i32 noundef %17746) #11
  br label %17765

17748:                                            ; preds = %17726, %17719
  %17749 = load i32, ptr %369, align 4, !tbaa !5
  %17750 = call ptr @__errno_location() #12
  store i32 %17749, ptr %17750, align 4, !tbaa !5
  %17751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17752 = load i32, ptr @test_count, align 4, !tbaa !5
  %17753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17754 = load i32, ptr %17753, align 4, !tbaa !5
  %17755 = call ptr @s2n_strerror(i32 noundef %17754, ptr noundef @.str.4)
  %17756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17757 = load i32, ptr %17756, align 4, !tbaa !5
  %17758 = call ptr @s2n_strerror_debug(i32 noundef %17757, ptr noundef @.str.4)
  %17759 = call ptr @__errno_location() #12
  %17760 = load i32, ptr %17759, align 4, !tbaa !5
  %17761 = call ptr @strerror(i32 noundef %17760) #11
  %17762 = call ptr @__errno_location() #12
  %17763 = load i32, ptr %17762, align 4, !tbaa !5
  %17764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17751, ptr noundef @.str.5, i32 noundef %17752, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 555, ptr noundef %17755, ptr noundef %17758, ptr noundef %17761, i32 noundef %17763) #11
  br label %17765

17765:                                            ; preds = %17748, %17731
  call void @llvm.lifetime.end.p0(i64 4, ptr %369) #11
  br label %17766

17766:                                            ; preds = %17765
  br label %17767

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

17768:                                            ; No predecessors!
  br label %17769

17769:                                            ; preds = %17768
  br label %17770

17770:                                            ; preds = %17769, %17711
  br label %17771

17771:                                            ; preds = %17770
  br label %17772

17772:                                            ; preds = %17771
  br label %17773

17773:                                            ; preds = %17772
  %17774 = load i32, ptr @test_count, align 4, !tbaa !5
  %17775 = add nsw i32 %17774, 1
  store i32 %17775, ptr @test_count, align 4, !tbaa !5
  %17776 = load ptr, ptr %338, align 8, !tbaa !9
  %17777 = call i32 @s2n_connection_free(ptr noundef %17776)
  %17778 = icmp eq i32 %17777, -1
  br i1 %17778, label %17779, label %17832

17779:                                            ; preds = %17773
  br label %17780

17780:                                            ; preds = %17779
  br label %17781

17781:                                            ; preds = %17780
  call void @llvm.lifetime.start.p0(i64 4, ptr %370) #11
  %17782 = call ptr @__errno_location() #12
  %17783 = load i32, ptr %17782, align 4, !tbaa !5
  store i32 %17783, ptr %370, align 4, !tbaa !5
  %17784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17785 = call i32 @s2n_print_stacktrace(ptr noundef %17784)
  %17786 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17787 = trunc i8 %17786 to i1
  br i1 %17787, label %17788, label %17810

17788:                                            ; preds = %17781
  %17789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17790 = call i32 @fileno(ptr noundef %17789) #11
  %17791 = call i32 @isatty(i32 noundef %17790) #11
  %17792 = icmp ne i32 %17791, 0
  br i1 %17792, label %17793, label %17810

17793:                                            ; preds = %17788
  %17794 = load i32, ptr %370, align 4, !tbaa !5
  %17795 = call ptr @__errno_location() #12
  store i32 %17794, ptr %17795, align 4, !tbaa !5
  %17796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17797 = load i32, ptr @test_count, align 4, !tbaa !5
  %17798 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17799 = load i32, ptr %17798, align 4, !tbaa !5
  %17800 = call ptr @s2n_strerror(i32 noundef %17799, ptr noundef @.str.4)
  %17801 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17802 = load i32, ptr %17801, align 4, !tbaa !5
  %17803 = call ptr @s2n_strerror_debug(i32 noundef %17802, ptr noundef @.str.4)
  %17804 = call ptr @__errno_location() #12
  %17805 = load i32, ptr %17804, align 4, !tbaa !5
  %17806 = call ptr @strerror(i32 noundef %17805) #11
  %17807 = call ptr @__errno_location() #12
  %17808 = load i32, ptr %17807, align 4, !tbaa !5
  %17809 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17796, ptr noundef @.str.2, i32 noundef %17797, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 556, ptr noundef %17800, ptr noundef %17803, ptr noundef %17806, i32 noundef %17808) #11
  br label %17827

17810:                                            ; preds = %17788, %17781
  %17811 = load i32, ptr %370, align 4, !tbaa !5
  %17812 = call ptr @__errno_location() #12
  store i32 %17811, ptr %17812, align 4, !tbaa !5
  %17813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17814 = load i32, ptr @test_count, align 4, !tbaa !5
  %17815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17816 = load i32, ptr %17815, align 4, !tbaa !5
  %17817 = call ptr @s2n_strerror(i32 noundef %17816, ptr noundef @.str.4)
  %17818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17819 = load i32, ptr %17818, align 4, !tbaa !5
  %17820 = call ptr @s2n_strerror_debug(i32 noundef %17819, ptr noundef @.str.4)
  %17821 = call ptr @__errno_location() #12
  %17822 = load i32, ptr %17821, align 4, !tbaa !5
  %17823 = call ptr @strerror(i32 noundef %17822) #11
  %17824 = call ptr @__errno_location() #12
  %17825 = load i32, ptr %17824, align 4, !tbaa !5
  %17826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17813, ptr noundef @.str.5, i32 noundef %17814, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 556, ptr noundef %17817, ptr noundef %17820, ptr noundef %17823, i32 noundef %17825) #11
  br label %17827

17827:                                            ; preds = %17810, %17793
  call void @llvm.lifetime.end.p0(i64 4, ptr %370) #11
  br label %17828

17828:                                            ; preds = %17827
  br label %17829

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

17830:                                            ; No predecessors!
  br label %17831

17831:                                            ; preds = %17830
  br label %17832

17832:                                            ; preds = %17831, %17773
  br label %17833

17833:                                            ; preds = %17832
  br label %17834

17834:                                            ; preds = %17833
  call void @llvm.lifetime.end.p0(i64 4, ptr %347) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %346) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %345) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %344) #11
  %17835 = call i32 @s2n_io_pair_close(ptr noundef %339)
  call void @llvm.lifetime.end.p0(i64 8, ptr %339) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %338) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %337) #11
  call void @llvm.lifetime.start.p0(i64 1, ptr %371) #11
  store i8 2, ptr %371, align 1, !tbaa !43
  call void @llvm.lifetime.start.p0(i64 8, ptr %372) #11
  %17836 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %17836, ptr %372, align 8, !tbaa !9
  br label %17837

17837:                                            ; preds = %17834
  %17838 = load i32, ptr @test_count, align 4, !tbaa !5
  %17839 = add nsw i32 %17838, 1
  store i32 %17839, ptr @test_count, align 4, !tbaa !5
  %17840 = load ptr, ptr %372, align 8, !tbaa !9
  %17841 = icmp eq ptr %17840, null
  br i1 %17841, label %17842, label %17895

17842:                                            ; preds = %17837
  br label %17843

17843:                                            ; preds = %17842
  br label %17844

17844:                                            ; preds = %17843
  call void @llvm.lifetime.start.p0(i64 4, ptr %373) #11
  %17845 = call ptr @__errno_location() #12
  %17846 = load i32, ptr %17845, align 4, !tbaa !5
  store i32 %17846, ptr %373, align 4, !tbaa !5
  %17847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17848 = call i32 @s2n_print_stacktrace(ptr noundef %17847)
  %17849 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17850 = trunc i8 %17849 to i1
  br i1 %17850, label %17851, label %17873

17851:                                            ; preds = %17844
  %17852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17853 = call i32 @fileno(ptr noundef %17852) #11
  %17854 = call i32 @isatty(i32 noundef %17853) #11
  %17855 = icmp ne i32 %17854, 0
  br i1 %17855, label %17856, label %17873

17856:                                            ; preds = %17851
  %17857 = load i32, ptr %373, align 4, !tbaa !5
  %17858 = call ptr @__errno_location() #12
  store i32 %17857, ptr %17858, align 4, !tbaa !5
  %17859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17860 = load i32, ptr @test_count, align 4, !tbaa !5
  %17861 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17862 = load i32, ptr %17861, align 4, !tbaa !5
  %17863 = call ptr @s2n_strerror(i32 noundef %17862, ptr noundef @.str.4)
  %17864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17865 = load i32, ptr %17864, align 4, !tbaa !5
  %17866 = call ptr @s2n_strerror_debug(i32 noundef %17865, ptr noundef @.str.4)
  %17867 = call ptr @__errno_location() #12
  %17868 = load i32, ptr %17867, align 4, !tbaa !5
  %17869 = call ptr @strerror(i32 noundef %17868) #11
  %17870 = call ptr @__errno_location() #12
  %17871 = load i32, ptr %17870, align 4, !tbaa !5
  %17872 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17859, ptr noundef @.str.2, i32 noundef %17860, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 571, ptr noundef %17863, ptr noundef %17866, ptr noundef %17869, i32 noundef %17871) #11
  br label %17890

17873:                                            ; preds = %17851, %17844
  %17874 = load i32, ptr %373, align 4, !tbaa !5
  %17875 = call ptr @__errno_location() #12
  store i32 %17874, ptr %17875, align 4, !tbaa !5
  %17876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17877 = load i32, ptr @test_count, align 4, !tbaa !5
  %17878 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17879 = load i32, ptr %17878, align 4, !tbaa !5
  %17880 = call ptr @s2n_strerror(i32 noundef %17879, ptr noundef @.str.4)
  %17881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17882 = load i32, ptr %17881, align 4, !tbaa !5
  %17883 = call ptr @s2n_strerror_debug(i32 noundef %17882, ptr noundef @.str.4)
  %17884 = call ptr @__errno_location() #12
  %17885 = load i32, ptr %17884, align 4, !tbaa !5
  %17886 = call ptr @strerror(i32 noundef %17885) #11
  %17887 = call ptr @__errno_location() #12
  %17888 = load i32, ptr %17887, align 4, !tbaa !5
  %17889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17876, ptr noundef @.str.5, i32 noundef %17877, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 571, ptr noundef %17880, ptr noundef %17883, ptr noundef %17886, i32 noundef %17888) #11
  br label %17890

17890:                                            ; preds = %17873, %17856
  call void @llvm.lifetime.end.p0(i64 4, ptr %373) #11
  br label %17891

17891:                                            ; preds = %17890
  br label %17892

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

17893:                                            ; No predecessors!
  br label %17894

17894:                                            ; preds = %17893
  br label %17895

17895:                                            ; preds = %17894, %17837
  br label %17896

17896:                                            ; preds = %17895
  br label %17897

17897:                                            ; preds = %17896
  br label %17898

17898:                                            ; preds = %17897
  %17899 = load i32, ptr @test_count, align 4, !tbaa !5
  %17900 = add nsw i32 %17899, 1
  store i32 %17900, ptr @test_count, align 4, !tbaa !5
  %17901 = load ptr, ptr %372, align 8, !tbaa !9
  %17902 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %17901, ptr noundef @.str.31)
  %17903 = icmp eq i32 %17902, -1
  br i1 %17903, label %17904, label %17957

17904:                                            ; preds = %17898
  br label %17905

17905:                                            ; preds = %17904
  br label %17906

17906:                                            ; preds = %17905
  call void @llvm.lifetime.start.p0(i64 4, ptr %374) #11
  %17907 = call ptr @__errno_location() #12
  %17908 = load i32, ptr %17907, align 4, !tbaa !5
  store i32 %17908, ptr %374, align 4, !tbaa !5
  %17909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17910 = call i32 @s2n_print_stacktrace(ptr noundef %17909)
  %17911 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17912 = trunc i8 %17911 to i1
  br i1 %17912, label %17913, label %17935

17913:                                            ; preds = %17906
  %17914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17915 = call i32 @fileno(ptr noundef %17914) #11
  %17916 = call i32 @isatty(i32 noundef %17915) #11
  %17917 = icmp ne i32 %17916, 0
  br i1 %17917, label %17918, label %17935

17918:                                            ; preds = %17913
  %17919 = load i32, ptr %374, align 4, !tbaa !5
  %17920 = call ptr @__errno_location() #12
  store i32 %17919, ptr %17920, align 4, !tbaa !5
  %17921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17922 = load i32, ptr @test_count, align 4, !tbaa !5
  %17923 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17924 = load i32, ptr %17923, align 4, !tbaa !5
  %17925 = call ptr @s2n_strerror(i32 noundef %17924, ptr noundef @.str.4)
  %17926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17927 = load i32, ptr %17926, align 4, !tbaa !5
  %17928 = call ptr @s2n_strerror_debug(i32 noundef %17927, ptr noundef @.str.4)
  %17929 = call ptr @__errno_location() #12
  %17930 = load i32, ptr %17929, align 4, !tbaa !5
  %17931 = call ptr @strerror(i32 noundef %17930) #11
  %17932 = call ptr @__errno_location() #12
  %17933 = load i32, ptr %17932, align 4, !tbaa !5
  %17934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17921, ptr noundef @.str.2, i32 noundef %17922, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 572, ptr noundef %17925, ptr noundef %17928, ptr noundef %17931, i32 noundef %17933) #11
  br label %17952

17935:                                            ; preds = %17913, %17906
  %17936 = load i32, ptr %374, align 4, !tbaa !5
  %17937 = call ptr @__errno_location() #12
  store i32 %17936, ptr %17937, align 4, !tbaa !5
  %17938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17939 = load i32, ptr @test_count, align 4, !tbaa !5
  %17940 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17941 = load i32, ptr %17940, align 4, !tbaa !5
  %17942 = call ptr @s2n_strerror(i32 noundef %17941, ptr noundef @.str.4)
  %17943 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17944 = load i32, ptr %17943, align 4, !tbaa !5
  %17945 = call ptr @s2n_strerror_debug(i32 noundef %17944, ptr noundef @.str.4)
  %17946 = call ptr @__errno_location() #12
  %17947 = load i32, ptr %17946, align 4, !tbaa !5
  %17948 = call ptr @strerror(i32 noundef %17947) #11
  %17949 = call ptr @__errno_location() #12
  %17950 = load i32, ptr %17949, align 4, !tbaa !5
  %17951 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17938, ptr noundef @.str.5, i32 noundef %17939, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 572, ptr noundef %17942, ptr noundef %17945, ptr noundef %17948, i32 noundef %17950) #11
  br label %17952

17952:                                            ; preds = %17935, %17918
  call void @llvm.lifetime.end.p0(i64 4, ptr %374) #11
  br label %17953

17953:                                            ; preds = %17952
  br label %17954

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

17955:                                            ; No predecessors!
  br label %17956

17956:                                            ; preds = %17955
  br label %17957

17957:                                            ; preds = %17956, %17898
  br label %17958

17958:                                            ; preds = %17957
  br label %17959

17959:                                            ; preds = %17958
  br label %17960

17960:                                            ; preds = %17959
  %17961 = load i32, ptr @test_count, align 4, !tbaa !5
  %17962 = add nsw i32 %17961, 1
  store i32 %17962, ptr @test_count, align 4, !tbaa !5
  %17963 = load ptr, ptr %372, align 8, !tbaa !9
  %17964 = load ptr, ptr %13, align 8, !tbaa !9
  %17965 = call i32 @s2n_connection_append_psk(ptr noundef %17963, ptr noundef %17964)
  %17966 = icmp eq i32 %17965, -1
  br i1 %17966, label %17967, label %18020

17967:                                            ; preds = %17960
  br label %17968

17968:                                            ; preds = %17967
  br label %17969

17969:                                            ; preds = %17968
  call void @llvm.lifetime.start.p0(i64 4, ptr %375) #11
  %17970 = call ptr @__errno_location() #12
  %17971 = load i32, ptr %17970, align 4, !tbaa !5
  store i32 %17971, ptr %375, align 4, !tbaa !5
  %17972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17973 = call i32 @s2n_print_stacktrace(ptr noundef %17972)
  %17974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %17975 = trunc i8 %17974 to i1
  br i1 %17975, label %17976, label %17998

17976:                                            ; preds = %17969
  %17977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17978 = call i32 @fileno(ptr noundef %17977) #11
  %17979 = call i32 @isatty(i32 noundef %17978) #11
  %17980 = icmp ne i32 %17979, 0
  br i1 %17980, label %17981, label %17998

17981:                                            ; preds = %17976
  %17982 = load i32, ptr %375, align 4, !tbaa !5
  %17983 = call ptr @__errno_location() #12
  store i32 %17982, ptr %17983, align 4, !tbaa !5
  %17984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %17985 = load i32, ptr @test_count, align 4, !tbaa !5
  %17986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17987 = load i32, ptr %17986, align 4, !tbaa !5
  %17988 = call ptr @s2n_strerror(i32 noundef %17987, ptr noundef @.str.4)
  %17989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %17990 = load i32, ptr %17989, align 4, !tbaa !5
  %17991 = call ptr @s2n_strerror_debug(i32 noundef %17990, ptr noundef @.str.4)
  %17992 = call ptr @__errno_location() #12
  %17993 = load i32, ptr %17992, align 4, !tbaa !5
  %17994 = call ptr @strerror(i32 noundef %17993) #11
  %17995 = call ptr @__errno_location() #12
  %17996 = load i32, ptr %17995, align 4, !tbaa !5
  %17997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %17984, ptr noundef @.str.2, i32 noundef %17985, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 573, ptr noundef %17988, ptr noundef %17991, ptr noundef %17994, i32 noundef %17996) #11
  br label %18015

17998:                                            ; preds = %17976, %17969
  %17999 = load i32, ptr %375, align 4, !tbaa !5
  %18000 = call ptr @__errno_location() #12
  store i32 %17999, ptr %18000, align 4, !tbaa !5
  %18001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18002 = load i32, ptr @test_count, align 4, !tbaa !5
  %18003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18004 = load i32, ptr %18003, align 4, !tbaa !5
  %18005 = call ptr @s2n_strerror(i32 noundef %18004, ptr noundef @.str.4)
  %18006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18007 = load i32, ptr %18006, align 4, !tbaa !5
  %18008 = call ptr @s2n_strerror_debug(i32 noundef %18007, ptr noundef @.str.4)
  %18009 = call ptr @__errno_location() #12
  %18010 = load i32, ptr %18009, align 4, !tbaa !5
  %18011 = call ptr @strerror(i32 noundef %18010) #11
  %18012 = call ptr @__errno_location() #12
  %18013 = load i32, ptr %18012, align 4, !tbaa !5
  %18014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18001, ptr noundef @.str.5, i32 noundef %18002, ptr noundef @.str.33, ptr noundef @.str.1, i32 noundef 573, ptr noundef %18005, ptr noundef %18008, ptr noundef %18011, i32 noundef %18013) #11
  br label %18015

18015:                                            ; preds = %17998, %17981
  call void @llvm.lifetime.end.p0(i64 4, ptr %375) #11
  br label %18016

18016:                                            ; preds = %18015
  br label %18017

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

18018:                                            ; No predecessors!
  br label %18019

18019:                                            ; preds = %18018
  br label %18020

18020:                                            ; preds = %18019, %17960
  br label %18021

18021:                                            ; preds = %18020
  br label %18022

18022:                                            ; preds = %18021
  call void @llvm.lifetime.start.p0(i64 8, ptr %376) #11
  %18023 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %18023, ptr %376, align 8, !tbaa !9
  br label %18024

18024:                                            ; preds = %18022
  %18025 = load i32, ptr @test_count, align 4, !tbaa !5
  %18026 = add nsw i32 %18025, 1
  store i32 %18026, ptr @test_count, align 4, !tbaa !5
  %18027 = load ptr, ptr %376, align 8, !tbaa !9
  %18028 = icmp eq ptr %18027, null
  br i1 %18028, label %18029, label %18082

18029:                                            ; preds = %18024
  br label %18030

18030:                                            ; preds = %18029
  br label %18031

18031:                                            ; preds = %18030
  call void @llvm.lifetime.start.p0(i64 4, ptr %377) #11
  %18032 = call ptr @__errno_location() #12
  %18033 = load i32, ptr %18032, align 4, !tbaa !5
  store i32 %18033, ptr %377, align 4, !tbaa !5
  %18034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18035 = call i32 @s2n_print_stacktrace(ptr noundef %18034)
  %18036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18037 = trunc i8 %18036 to i1
  br i1 %18037, label %18038, label %18060

18038:                                            ; preds = %18031
  %18039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18040 = call i32 @fileno(ptr noundef %18039) #11
  %18041 = call i32 @isatty(i32 noundef %18040) #11
  %18042 = icmp ne i32 %18041, 0
  br i1 %18042, label %18043, label %18060

18043:                                            ; preds = %18038
  %18044 = load i32, ptr %377, align 4, !tbaa !5
  %18045 = call ptr @__errno_location() #12
  store i32 %18044, ptr %18045, align 4, !tbaa !5
  %18046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18047 = load i32, ptr @test_count, align 4, !tbaa !5
  %18048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18049 = load i32, ptr %18048, align 4, !tbaa !5
  %18050 = call ptr @s2n_strerror(i32 noundef %18049, ptr noundef @.str.4)
  %18051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18052 = load i32, ptr %18051, align 4, !tbaa !5
  %18053 = call ptr @s2n_strerror_debug(i32 noundef %18052, ptr noundef @.str.4)
  %18054 = call ptr @__errno_location() #12
  %18055 = load i32, ptr %18054, align 4, !tbaa !5
  %18056 = call ptr @strerror(i32 noundef %18055) #11
  %18057 = call ptr @__errno_location() #12
  %18058 = load i32, ptr %18057, align 4, !tbaa !5
  %18059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18046, ptr noundef @.str.2, i32 noundef %18047, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 576, ptr noundef %18050, ptr noundef %18053, ptr noundef %18056, i32 noundef %18058) #11
  br label %18077

18060:                                            ; preds = %18038, %18031
  %18061 = load i32, ptr %377, align 4, !tbaa !5
  %18062 = call ptr @__errno_location() #12
  store i32 %18061, ptr %18062, align 4, !tbaa !5
  %18063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18064 = load i32, ptr @test_count, align 4, !tbaa !5
  %18065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18066 = load i32, ptr %18065, align 4, !tbaa !5
  %18067 = call ptr @s2n_strerror(i32 noundef %18066, ptr noundef @.str.4)
  %18068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18069 = load i32, ptr %18068, align 4, !tbaa !5
  %18070 = call ptr @s2n_strerror_debug(i32 noundef %18069, ptr noundef @.str.4)
  %18071 = call ptr @__errno_location() #12
  %18072 = load i32, ptr %18071, align 4, !tbaa !5
  %18073 = call ptr @strerror(i32 noundef %18072) #11
  %18074 = call ptr @__errno_location() #12
  %18075 = load i32, ptr %18074, align 4, !tbaa !5
  %18076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18063, ptr noundef @.str.5, i32 noundef %18064, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 576, ptr noundef %18067, ptr noundef %18070, ptr noundef %18073, i32 noundef %18075) #11
  br label %18077

18077:                                            ; preds = %18060, %18043
  call void @llvm.lifetime.end.p0(i64 4, ptr %377) #11
  br label %18078

18078:                                            ; preds = %18077
  br label %18079

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

18080:                                            ; No predecessors!
  br label %18081

18081:                                            ; preds = %18080
  br label %18082

18082:                                            ; preds = %18081, %18024
  br label %18083

18083:                                            ; preds = %18082
  br label %18084

18084:                                            ; preds = %18083
  br label %18085

18085:                                            ; preds = %18084
  %18086 = load i32, ptr @test_count, align 4, !tbaa !5
  %18087 = add nsw i32 %18086, 1
  store i32 %18087, ptr @test_count, align 4, !tbaa !5
  %18088 = load ptr, ptr %376, align 8, !tbaa !9
  %18089 = call i32 @s2n_connection_set_blinding(ptr noundef %18088, i32 noundef 1)
  %18090 = icmp eq i32 %18089, -1
  br i1 %18090, label %18091, label %18144

18091:                                            ; preds = %18085
  br label %18092

18092:                                            ; preds = %18091
  br label %18093

18093:                                            ; preds = %18092
  call void @llvm.lifetime.start.p0(i64 4, ptr %378) #11
  %18094 = call ptr @__errno_location() #12
  %18095 = load i32, ptr %18094, align 4, !tbaa !5
  store i32 %18095, ptr %378, align 4, !tbaa !5
  %18096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18097 = call i32 @s2n_print_stacktrace(ptr noundef %18096)
  %18098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18099 = trunc i8 %18098 to i1
  br i1 %18099, label %18100, label %18122

18100:                                            ; preds = %18093
  %18101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18102 = call i32 @fileno(ptr noundef %18101) #11
  %18103 = call i32 @isatty(i32 noundef %18102) #11
  %18104 = icmp ne i32 %18103, 0
  br i1 %18104, label %18105, label %18122

18105:                                            ; preds = %18100
  %18106 = load i32, ptr %378, align 4, !tbaa !5
  %18107 = call ptr @__errno_location() #12
  store i32 %18106, ptr %18107, align 4, !tbaa !5
  %18108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18109 = load i32, ptr @test_count, align 4, !tbaa !5
  %18110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18111 = load i32, ptr %18110, align 4, !tbaa !5
  %18112 = call ptr @s2n_strerror(i32 noundef %18111, ptr noundef @.str.4)
  %18113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18114 = load i32, ptr %18113, align 4, !tbaa !5
  %18115 = call ptr @s2n_strerror_debug(i32 noundef %18114, ptr noundef @.str.4)
  %18116 = call ptr @__errno_location() #12
  %18117 = load i32, ptr %18116, align 4, !tbaa !5
  %18118 = call ptr @strerror(i32 noundef %18117) #11
  %18119 = call ptr @__errno_location() #12
  %18120 = load i32, ptr %18119, align 4, !tbaa !5
  %18121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18108, ptr noundef @.str.2, i32 noundef %18109, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 577, ptr noundef %18112, ptr noundef %18115, ptr noundef %18118, i32 noundef %18120) #11
  br label %18139

18122:                                            ; preds = %18100, %18093
  %18123 = load i32, ptr %378, align 4, !tbaa !5
  %18124 = call ptr @__errno_location() #12
  store i32 %18123, ptr %18124, align 4, !tbaa !5
  %18125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18126 = load i32, ptr @test_count, align 4, !tbaa !5
  %18127 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18128 = load i32, ptr %18127, align 4, !tbaa !5
  %18129 = call ptr @s2n_strerror(i32 noundef %18128, ptr noundef @.str.4)
  %18130 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18131 = load i32, ptr %18130, align 4, !tbaa !5
  %18132 = call ptr @s2n_strerror_debug(i32 noundef %18131, ptr noundef @.str.4)
  %18133 = call ptr @__errno_location() #12
  %18134 = load i32, ptr %18133, align 4, !tbaa !5
  %18135 = call ptr @strerror(i32 noundef %18134) #11
  %18136 = call ptr @__errno_location() #12
  %18137 = load i32, ptr %18136, align 4, !tbaa !5
  %18138 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18125, ptr noundef @.str.5, i32 noundef %18126, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 577, ptr noundef %18129, ptr noundef %18132, ptr noundef %18135, i32 noundef %18137) #11
  br label %18139

18139:                                            ; preds = %18122, %18105
  call void @llvm.lifetime.end.p0(i64 4, ptr %378) #11
  br label %18140

18140:                                            ; preds = %18139
  br label %18141

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

18142:                                            ; No predecessors!
  br label %18143

18143:                                            ; preds = %18142
  br label %18144

18144:                                            ; preds = %18143, %18085
  br label %18145

18145:                                            ; preds = %18144
  br label %18146

18146:                                            ; preds = %18145
  br label %18147

18147:                                            ; preds = %18146
  %18148 = load i32, ptr @test_count, align 4, !tbaa !5
  %18149 = add nsw i32 %18148, 1
  store i32 %18149, ptr @test_count, align 4, !tbaa !5
  %18150 = load ptr, ptr %376, align 8, !tbaa !9
  %18151 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %18150, ptr noundef @.str.31)
  %18152 = icmp eq i32 %18151, -1
  br i1 %18152, label %18153, label %18206

18153:                                            ; preds = %18147
  br label %18154

18154:                                            ; preds = %18153
  br label %18155

18155:                                            ; preds = %18154
  call void @llvm.lifetime.start.p0(i64 4, ptr %379) #11
  %18156 = call ptr @__errno_location() #12
  %18157 = load i32, ptr %18156, align 4, !tbaa !5
  store i32 %18157, ptr %379, align 4, !tbaa !5
  %18158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18159 = call i32 @s2n_print_stacktrace(ptr noundef %18158)
  %18160 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18161 = trunc i8 %18160 to i1
  br i1 %18161, label %18162, label %18184

18162:                                            ; preds = %18155
  %18163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18164 = call i32 @fileno(ptr noundef %18163) #11
  %18165 = call i32 @isatty(i32 noundef %18164) #11
  %18166 = icmp ne i32 %18165, 0
  br i1 %18166, label %18167, label %18184

18167:                                            ; preds = %18162
  %18168 = load i32, ptr %379, align 4, !tbaa !5
  %18169 = call ptr @__errno_location() #12
  store i32 %18168, ptr %18169, align 4, !tbaa !5
  %18170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18171 = load i32, ptr @test_count, align 4, !tbaa !5
  %18172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18173 = load i32, ptr %18172, align 4, !tbaa !5
  %18174 = call ptr @s2n_strerror(i32 noundef %18173, ptr noundef @.str.4)
  %18175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18176 = load i32, ptr %18175, align 4, !tbaa !5
  %18177 = call ptr @s2n_strerror_debug(i32 noundef %18176, ptr noundef @.str.4)
  %18178 = call ptr @__errno_location() #12
  %18179 = load i32, ptr %18178, align 4, !tbaa !5
  %18180 = call ptr @strerror(i32 noundef %18179) #11
  %18181 = call ptr @__errno_location() #12
  %18182 = load i32, ptr %18181, align 4, !tbaa !5
  %18183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18170, ptr noundef @.str.2, i32 noundef %18171, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 578, ptr noundef %18174, ptr noundef %18177, ptr noundef %18180, i32 noundef %18182) #11
  br label %18201

18184:                                            ; preds = %18162, %18155
  %18185 = load i32, ptr %379, align 4, !tbaa !5
  %18186 = call ptr @__errno_location() #12
  store i32 %18185, ptr %18186, align 4, !tbaa !5
  %18187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18188 = load i32, ptr @test_count, align 4, !tbaa !5
  %18189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18190 = load i32, ptr %18189, align 4, !tbaa !5
  %18191 = call ptr @s2n_strerror(i32 noundef %18190, ptr noundef @.str.4)
  %18192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18193 = load i32, ptr %18192, align 4, !tbaa !5
  %18194 = call ptr @s2n_strerror_debug(i32 noundef %18193, ptr noundef @.str.4)
  %18195 = call ptr @__errno_location() #12
  %18196 = load i32, ptr %18195, align 4, !tbaa !5
  %18197 = call ptr @strerror(i32 noundef %18196) #11
  %18198 = call ptr @__errno_location() #12
  %18199 = load i32, ptr %18198, align 4, !tbaa !5
  %18200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18187, ptr noundef @.str.5, i32 noundef %18188, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 578, ptr noundef %18191, ptr noundef %18194, ptr noundef %18197, i32 noundef %18199) #11
  br label %18201

18201:                                            ; preds = %18184, %18167
  call void @llvm.lifetime.end.p0(i64 4, ptr %379) #11
  br label %18202

18202:                                            ; preds = %18201
  br label %18203

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

18204:                                            ; No predecessors!
  br label %18205

18205:                                            ; preds = %18204
  br label %18206

18206:                                            ; preds = %18205, %18147
  br label %18207

18207:                                            ; preds = %18206
  br label %18208

18208:                                            ; preds = %18207
  br label %18209

18209:                                            ; preds = %18208
  %18210 = load i32, ptr @test_count, align 4, !tbaa !5
  %18211 = add nsw i32 %18210, 1
  store i32 %18211, ptr @test_count, align 4, !tbaa !5
  %18212 = load ptr, ptr %376, align 8, !tbaa !9
  %18213 = load ptr, ptr %13, align 8, !tbaa !9
  %18214 = call i32 @s2n_connection_append_psk(ptr noundef %18212, ptr noundef %18213)
  %18215 = icmp eq i32 %18214, -1
  br i1 %18215, label %18216, label %18269

18216:                                            ; preds = %18209
  br label %18217

18217:                                            ; preds = %18216
  br label %18218

18218:                                            ; preds = %18217
  call void @llvm.lifetime.start.p0(i64 4, ptr %380) #11
  %18219 = call ptr @__errno_location() #12
  %18220 = load i32, ptr %18219, align 4, !tbaa !5
  store i32 %18220, ptr %380, align 4, !tbaa !5
  %18221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18222 = call i32 @s2n_print_stacktrace(ptr noundef %18221)
  %18223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18224 = trunc i8 %18223 to i1
  br i1 %18224, label %18225, label %18247

18225:                                            ; preds = %18218
  %18226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18227 = call i32 @fileno(ptr noundef %18226) #11
  %18228 = call i32 @isatty(i32 noundef %18227) #11
  %18229 = icmp ne i32 %18228, 0
  br i1 %18229, label %18230, label %18247

18230:                                            ; preds = %18225
  %18231 = load i32, ptr %380, align 4, !tbaa !5
  %18232 = call ptr @__errno_location() #12
  store i32 %18231, ptr %18232, align 4, !tbaa !5
  %18233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18234 = load i32, ptr @test_count, align 4, !tbaa !5
  %18235 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18236 = load i32, ptr %18235, align 4, !tbaa !5
  %18237 = call ptr @s2n_strerror(i32 noundef %18236, ptr noundef @.str.4)
  %18238 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18239 = load i32, ptr %18238, align 4, !tbaa !5
  %18240 = call ptr @s2n_strerror_debug(i32 noundef %18239, ptr noundef @.str.4)
  %18241 = call ptr @__errno_location() #12
  %18242 = load i32, ptr %18241, align 4, !tbaa !5
  %18243 = call ptr @strerror(i32 noundef %18242) #11
  %18244 = call ptr @__errno_location() #12
  %18245 = load i32, ptr %18244, align 4, !tbaa !5
  %18246 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18233, ptr noundef @.str.2, i32 noundef %18234, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 579, ptr noundef %18237, ptr noundef %18240, ptr noundef %18243, i32 noundef %18245) #11
  br label %18264

18247:                                            ; preds = %18225, %18218
  %18248 = load i32, ptr %380, align 4, !tbaa !5
  %18249 = call ptr @__errno_location() #12
  store i32 %18248, ptr %18249, align 4, !tbaa !5
  %18250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18251 = load i32, ptr @test_count, align 4, !tbaa !5
  %18252 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18253 = load i32, ptr %18252, align 4, !tbaa !5
  %18254 = call ptr @s2n_strerror(i32 noundef %18253, ptr noundef @.str.4)
  %18255 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18256 = load i32, ptr %18255, align 4, !tbaa !5
  %18257 = call ptr @s2n_strerror_debug(i32 noundef %18256, ptr noundef @.str.4)
  %18258 = call ptr @__errno_location() #12
  %18259 = load i32, ptr %18258, align 4, !tbaa !5
  %18260 = call ptr @strerror(i32 noundef %18259) #11
  %18261 = call ptr @__errno_location() #12
  %18262 = load i32, ptr %18261, align 4, !tbaa !5
  %18263 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18250, ptr noundef @.str.5, i32 noundef %18251, ptr noundef @.str.54, ptr noundef @.str.1, i32 noundef 579, ptr noundef %18254, ptr noundef %18257, ptr noundef %18260, i32 noundef %18262) #11
  br label %18264

18264:                                            ; preds = %18247, %18230
  call void @llvm.lifetime.end.p0(i64 4, ptr %380) #11
  br label %18265

18265:                                            ; preds = %18264
  br label %18266

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

18267:                                            ; No predecessors!
  br label %18268

18268:                                            ; preds = %18267
  br label %18269

18269:                                            ; preds = %18268, %18209
  br label %18270

18270:                                            ; preds = %18269
  br label %18271

18271:                                            ; preds = %18270
  call void @llvm.lifetime.start.p0(i64 40, ptr %381) #11
  call void @llvm.memset.p0.i64(ptr align 8 %381, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %382) #11
  call void @llvm.memset.p0.i64(ptr align 8 %382, i8 0, i64 40, i1 false)
  br label %18272

18272:                                            ; preds = %18271
  %18273 = load i32, ptr @test_count, align 4, !tbaa !5
  %18274 = add nsw i32 %18273, 1
  store i32 %18274, ptr @test_count, align 4, !tbaa !5
  %18275 = load ptr, ptr %372, align 8, !tbaa !9
  %18276 = load ptr, ptr %376, align 8, !tbaa !9
  %18277 = call i32 @s2n_test_set_blocking_stuffer_io(ptr noundef %18275, ptr noundef %18276, ptr noundef %381, ptr noundef %382)
  %18278 = getelementptr inbounds %struct.s2n_result, ptr %383, i32 0, i32 0
  store i32 %18277, ptr %18278, align 4
  %18279 = getelementptr inbounds %struct.s2n_result, ptr %383, i32 0, i32 0
  %18280 = load i32, ptr %18279, align 4
  %18281 = call zeroext i1 @s2n_result_is_ok(i32 %18280)
  br i1 %18281, label %18335, label %18282

18282:                                            ; preds = %18272
  br label %18283

18283:                                            ; preds = %18282
  br label %18284

18284:                                            ; preds = %18283
  call void @llvm.lifetime.start.p0(i64 4, ptr %384) #11
  %18285 = call ptr @__errno_location() #12
  %18286 = load i32, ptr %18285, align 4, !tbaa !5
  store i32 %18286, ptr %384, align 4, !tbaa !5
  %18287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18288 = call i32 @s2n_print_stacktrace(ptr noundef %18287)
  %18289 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18290 = trunc i8 %18289 to i1
  br i1 %18290, label %18291, label %18313

18291:                                            ; preds = %18284
  %18292 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18293 = call i32 @fileno(ptr noundef %18292) #11
  %18294 = call i32 @isatty(i32 noundef %18293) #11
  %18295 = icmp ne i32 %18294, 0
  br i1 %18295, label %18296, label %18313

18296:                                            ; preds = %18291
  %18297 = load i32, ptr %384, align 4, !tbaa !5
  %18298 = call ptr @__errno_location() #12
  store i32 %18297, ptr %18298, align 4, !tbaa !5
  %18299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18300 = load i32, ptr @test_count, align 4, !tbaa !5
  %18301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18302 = load i32, ptr %18301, align 4, !tbaa !5
  %18303 = call ptr @s2n_strerror(i32 noundef %18302, ptr noundef @.str.4)
  %18304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18305 = load i32, ptr %18304, align 4, !tbaa !5
  %18306 = call ptr @s2n_strerror_debug(i32 noundef %18305, ptr noundef @.str.4)
  %18307 = call ptr @__errno_location() #12
  %18308 = load i32, ptr %18307, align 4, !tbaa !5
  %18309 = call ptr @strerror(i32 noundef %18308) #11
  %18310 = call ptr @__errno_location() #12
  %18311 = load i32, ptr %18310, align 4, !tbaa !5
  %18312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18299, ptr noundef @.str.2, i32 noundef %18300, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 583, ptr noundef %18303, ptr noundef %18306, ptr noundef %18309, i32 noundef %18311) #11
  br label %18330

18313:                                            ; preds = %18291, %18284
  %18314 = load i32, ptr %384, align 4, !tbaa !5
  %18315 = call ptr @__errno_location() #12
  store i32 %18314, ptr %18315, align 4, !tbaa !5
  %18316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18317 = load i32, ptr @test_count, align 4, !tbaa !5
  %18318 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18319 = load i32, ptr %18318, align 4, !tbaa !5
  %18320 = call ptr @s2n_strerror(i32 noundef %18319, ptr noundef @.str.4)
  %18321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18322 = load i32, ptr %18321, align 4, !tbaa !5
  %18323 = call ptr @s2n_strerror_debug(i32 noundef %18322, ptr noundef @.str.4)
  %18324 = call ptr @__errno_location() #12
  %18325 = load i32, ptr %18324, align 4, !tbaa !5
  %18326 = call ptr @strerror(i32 noundef %18325) #11
  %18327 = call ptr @__errno_location() #12
  %18328 = load i32, ptr %18327, align 4, !tbaa !5
  %18329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18316, ptr noundef @.str.5, i32 noundef %18317, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 583, ptr noundef %18320, ptr noundef %18323, ptr noundef %18326, i32 noundef %18328) #11
  br label %18330

18330:                                            ; preds = %18313, %18296
  call void @llvm.lifetime.end.p0(i64 4, ptr %384) #11
  br label %18331

18331:                                            ; preds = %18330
  br label %18332

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

18333:                                            ; No predecessors!
  br label %18334

18334:                                            ; preds = %18333
  br label %18335

18335:                                            ; preds = %18334, %18272
  br label %18336

18336:                                            ; preds = %18335
  br label %18337

18337:                                            ; preds = %18336
  call void @llvm.lifetime.start.p0(i64 100, ptr %385) #11
  call void @llvm.memset.p0.i64(ptr align 16 %385, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %386) #11
  store i32 0, ptr %386, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %387) #11
  store i64 0, ptr %387, align 8, !tbaa !42
  store i8 0, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %18338

18338:                                            ; preds = %18337
  br label %18339

18339:                                            ; preds = %18338
  br label %18340

18340:                                            ; preds = %18339
  %18341 = load i32, ptr @test_count, align 4, !tbaa !5
  %18342 = add nsw i32 %18341, 1
  store i32 %18342, ptr @test_count, align 4, !tbaa !5
  %18343 = load ptr, ptr %372, align 8, !tbaa !9
  %18344 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %18345 = call i32 @s2n_send_early_data(ptr noundef %18343, ptr noundef %18344, i64 noundef 12, ptr noundef %387, ptr noundef %386)
  %18346 = icmp eq i32 %18345, -1
  br i1 %18346, label %18400, label %18347

18347:                                            ; preds = %18340
  br label %18348

18348:                                            ; preds = %18347
  br label %18349

18349:                                            ; preds = %18348
  call void @llvm.lifetime.start.p0(i64 4, ptr %388) #11
  %18350 = call ptr @__errno_location() #12
  %18351 = load i32, ptr %18350, align 4, !tbaa !5
  store i32 %18351, ptr %388, align 4, !tbaa !5
  %18352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18353 = call i32 @s2n_print_stacktrace(ptr noundef %18352)
  %18354 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18355 = trunc i8 %18354 to i1
  br i1 %18355, label %18356, label %18378

18356:                                            ; preds = %18349
  %18357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18358 = call i32 @fileno(ptr noundef %18357) #11
  %18359 = call i32 @isatty(i32 noundef %18358) #11
  %18360 = icmp ne i32 %18359, 0
  br i1 %18360, label %18361, label %18378

18361:                                            ; preds = %18356
  %18362 = load i32, ptr %388, align 4, !tbaa !5
  %18363 = call ptr @__errno_location() #12
  store i32 %18362, ptr %18363, align 4, !tbaa !5
  %18364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18365 = load i32, ptr @test_count, align 4, !tbaa !5
  %18366 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18367 = load i32, ptr %18366, align 4, !tbaa !5
  %18368 = call ptr @s2n_strerror(i32 noundef %18367, ptr noundef @.str.4)
  %18369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18370 = load i32, ptr %18369, align 4, !tbaa !5
  %18371 = call ptr @s2n_strerror_debug(i32 noundef %18370, ptr noundef @.str.4)
  %18372 = call ptr @__errno_location() #12
  %18373 = load i32, ptr %18372, align 4, !tbaa !5
  %18374 = call ptr @strerror(i32 noundef %18373) #11
  %18375 = call ptr @__errno_location() #12
  %18376 = load i32, ptr %18375, align 4, !tbaa !5
  %18377 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18364, ptr noundef @.str.2, i32 noundef %18365, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 591, ptr noundef %18368, ptr noundef %18371, ptr noundef %18374, i32 noundef %18376) #11
  br label %18395

18378:                                            ; preds = %18356, %18349
  %18379 = load i32, ptr %388, align 4, !tbaa !5
  %18380 = call ptr @__errno_location() #12
  store i32 %18379, ptr %18380, align 4, !tbaa !5
  %18381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18382 = load i32, ptr @test_count, align 4, !tbaa !5
  %18383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18384 = load i32, ptr %18383, align 4, !tbaa !5
  %18385 = call ptr @s2n_strerror(i32 noundef %18384, ptr noundef @.str.4)
  %18386 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18387 = load i32, ptr %18386, align 4, !tbaa !5
  %18388 = call ptr @s2n_strerror_debug(i32 noundef %18387, ptr noundef @.str.4)
  %18389 = call ptr @__errno_location() #12
  %18390 = load i32, ptr %18389, align 4, !tbaa !5
  %18391 = call ptr @strerror(i32 noundef %18390) #11
  %18392 = call ptr @__errno_location() #12
  %18393 = load i32, ptr %18392, align 4, !tbaa !5
  %18394 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18381, ptr noundef @.str.5, i32 noundef %18382, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 591, ptr noundef %18385, ptr noundef %18388, ptr noundef %18391, i32 noundef %18393) #11
  br label %18395

18395:                                            ; preds = %18378, %18361
  call void @llvm.lifetime.end.p0(i64 4, ptr %388) #11
  br label %18396

18396:                                            ; preds = %18395
  br label %18397

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

18398:                                            ; No predecessors!
  br label %18399

18399:                                            ; preds = %18398
  br label %18400

18400:                                            ; preds = %18399, %18340
  br label %18401

18401:                                            ; preds = %18400
  br label %18402

18402:                                            ; preds = %18401
  br label %18403

18403:                                            ; preds = %18402
  %18404 = load i32, ptr @test_count, align 4, !tbaa !5
  %18405 = add nsw i32 %18404, 1
  store i32 %18405, ptr @test_count, align 4, !tbaa !5
  %18406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18407 = load i32, ptr %18406, align 4, !tbaa !5
  %18408 = icmp eq i32 %18407, 201326592
  br i1 %18408, label %18462, label %18409

18409:                                            ; preds = %18403
  br label %18410

18410:                                            ; preds = %18409
  br label %18411

18411:                                            ; preds = %18410
  call void @llvm.lifetime.start.p0(i64 4, ptr %389) #11
  %18412 = call ptr @__errno_location() #12
  %18413 = load i32, ptr %18412, align 4, !tbaa !5
  store i32 %18413, ptr %389, align 4, !tbaa !5
  %18414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18415 = call i32 @s2n_print_stacktrace(ptr noundef %18414)
  %18416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18417 = trunc i8 %18416 to i1
  br i1 %18417, label %18418, label %18440

18418:                                            ; preds = %18411
  %18419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18420 = call i32 @fileno(ptr noundef %18419) #11
  %18421 = call i32 @isatty(i32 noundef %18420) #11
  %18422 = icmp ne i32 %18421, 0
  br i1 %18422, label %18423, label %18440

18423:                                            ; preds = %18418
  %18424 = load i32, ptr %389, align 4, !tbaa !5
  %18425 = call ptr @__errno_location() #12
  store i32 %18424, ptr %18425, align 4, !tbaa !5
  %18426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18427 = load i32, ptr @test_count, align 4, !tbaa !5
  %18428 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18429 = load i32, ptr %18428, align 4, !tbaa !5
  %18430 = call ptr @s2n_strerror(i32 noundef %18429, ptr noundef @.str.4)
  %18431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18432 = load i32, ptr %18431, align 4, !tbaa !5
  %18433 = call ptr @s2n_strerror_debug(i32 noundef %18432, ptr noundef @.str.4)
  %18434 = call ptr @__errno_location() #12
  %18435 = load i32, ptr %18434, align 4, !tbaa !5
  %18436 = call ptr @strerror(i32 noundef %18435) #11
  %18437 = call ptr @__errno_location() #12
  %18438 = load i32, ptr %18437, align 4, !tbaa !5
  %18439 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18426, ptr noundef @.str.2, i32 noundef %18427, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 591, ptr noundef %18430, ptr noundef %18433, ptr noundef %18436, i32 noundef %18438) #11
  br label %18457

18440:                                            ; preds = %18418, %18411
  %18441 = load i32, ptr %389, align 4, !tbaa !5
  %18442 = call ptr @__errno_location() #12
  store i32 %18441, ptr %18442, align 4, !tbaa !5
  %18443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18444 = load i32, ptr @test_count, align 4, !tbaa !5
  %18445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18446 = load i32, ptr %18445, align 4, !tbaa !5
  %18447 = call ptr @s2n_strerror(i32 noundef %18446, ptr noundef @.str.4)
  %18448 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18449 = load i32, ptr %18448, align 4, !tbaa !5
  %18450 = call ptr @s2n_strerror_debug(i32 noundef %18449, ptr noundef @.str.4)
  %18451 = call ptr @__errno_location() #12
  %18452 = load i32, ptr %18451, align 4, !tbaa !5
  %18453 = call ptr @strerror(i32 noundef %18452) #11
  %18454 = call ptr @__errno_location() #12
  %18455 = load i32, ptr %18454, align 4, !tbaa !5
  %18456 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18443, ptr noundef @.str.5, i32 noundef %18444, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 591, ptr noundef %18447, ptr noundef %18450, ptr noundef %18453, i32 noundef %18455) #11
  br label %18457

18457:                                            ; preds = %18440, %18423
  call void @llvm.lifetime.end.p0(i64 4, ptr %389) #11
  br label %18458

18458:                                            ; preds = %18457
  br label %18459

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

18460:                                            ; No predecessors!
  br label %18461

18461:                                            ; preds = %18460
  br label %18462

18462:                                            ; preds = %18461, %18403
  br label %18463

18463:                                            ; preds = %18462
  br label %18464

18464:                                            ; preds = %18463
  br label %18465

18465:                                            ; preds = %18464
  %18466 = load i32, ptr @test_count, align 4, !tbaa !5
  %18467 = add nsw i32 %18466, 1
  store i32 %18467, ptr @test_count, align 4, !tbaa !5
  %18468 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18469 = load i32, ptr %18468, align 4, !tbaa !5
  %18470 = call ptr @s2n_strerror_debug(i32 noundef %18469, ptr noundef @.str.4)
  %18471 = icmp eq ptr %18470, null
  br i1 %18471, label %18472, label %18525

18472:                                            ; preds = %18465
  br label %18473

18473:                                            ; preds = %18472
  br label %18474

18474:                                            ; preds = %18473
  call void @llvm.lifetime.start.p0(i64 4, ptr %390) #11
  %18475 = call ptr @__errno_location() #12
  %18476 = load i32, ptr %18475, align 4, !tbaa !5
  store i32 %18476, ptr %390, align 4, !tbaa !5
  %18477 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18478 = call i32 @s2n_print_stacktrace(ptr noundef %18477)
  %18479 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18480 = trunc i8 %18479 to i1
  br i1 %18480, label %18481, label %18503

18481:                                            ; preds = %18474
  %18482 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18483 = call i32 @fileno(ptr noundef %18482) #11
  %18484 = call i32 @isatty(i32 noundef %18483) #11
  %18485 = icmp ne i32 %18484, 0
  br i1 %18485, label %18486, label %18503

18486:                                            ; preds = %18481
  %18487 = load i32, ptr %390, align 4, !tbaa !5
  %18488 = call ptr @__errno_location() #12
  store i32 %18487, ptr %18488, align 4, !tbaa !5
  %18489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18490 = load i32, ptr @test_count, align 4, !tbaa !5
  %18491 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18492 = load i32, ptr %18491, align 4, !tbaa !5
  %18493 = call ptr @s2n_strerror(i32 noundef %18492, ptr noundef @.str.4)
  %18494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18495 = load i32, ptr %18494, align 4, !tbaa !5
  %18496 = call ptr @s2n_strerror_debug(i32 noundef %18495, ptr noundef @.str.4)
  %18497 = call ptr @__errno_location() #12
  %18498 = load i32, ptr %18497, align 4, !tbaa !5
  %18499 = call ptr @strerror(i32 noundef %18498) #11
  %18500 = call ptr @__errno_location() #12
  %18501 = load i32, ptr %18500, align 4, !tbaa !5
  %18502 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18489, ptr noundef @.str.2, i32 noundef %18490, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 591, ptr noundef %18493, ptr noundef %18496, ptr noundef %18499, i32 noundef %18501) #11
  br label %18520

18503:                                            ; preds = %18481, %18474
  %18504 = load i32, ptr %390, align 4, !tbaa !5
  %18505 = call ptr @__errno_location() #12
  store i32 %18504, ptr %18505, align 4, !tbaa !5
  %18506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18507 = load i32, ptr @test_count, align 4, !tbaa !5
  %18508 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18509 = load i32, ptr %18508, align 4, !tbaa !5
  %18510 = call ptr @s2n_strerror(i32 noundef %18509, ptr noundef @.str.4)
  %18511 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18512 = load i32, ptr %18511, align 4, !tbaa !5
  %18513 = call ptr @s2n_strerror_debug(i32 noundef %18512, ptr noundef @.str.4)
  %18514 = call ptr @__errno_location() #12
  %18515 = load i32, ptr %18514, align 4, !tbaa !5
  %18516 = call ptr @strerror(i32 noundef %18515) #11
  %18517 = call ptr @__errno_location() #12
  %18518 = load i32, ptr %18517, align 4, !tbaa !5
  %18519 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18506, ptr noundef @.str.5, i32 noundef %18507, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 591, ptr noundef %18510, ptr noundef %18513, ptr noundef %18516, i32 noundef %18518) #11
  br label %18520

18520:                                            ; preds = %18503, %18486
  call void @llvm.lifetime.end.p0(i64 4, ptr %390) #11
  br label %18521

18521:                                            ; preds = %18520
  br label %18522

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

18523:                                            ; No predecessors!
  br label %18524

18524:                                            ; preds = %18523
  br label %18525

18525:                                            ; preds = %18524, %18465
  br label %18526

18526:                                            ; preds = %18525
  br label %18527

18527:                                            ; preds = %18526
  br label %18528

18528:                                            ; preds = %18527
  br label %18529

18529:                                            ; preds = %18528
  br label %18530

18530:                                            ; preds = %18529
  %18531 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18531, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18532 = call ptr @__errno_location() #12
  store i32 0, ptr %18532, align 4, !tbaa !5
  br label %18533

18533:                                            ; preds = %18530
  br label %18534

18534:                                            ; preds = %18533
  br label %18535

18535:                                            ; preds = %18534
  br label %18536

18536:                                            ; preds = %18535
  br label %18537

18537:                                            ; preds = %18536
  %18538 = load i32, ptr @test_count, align 4, !tbaa !5
  %18539 = add nsw i32 %18538, 1
  store i32 %18539, ptr @test_count, align 4, !tbaa !5
  %18540 = load i32, ptr %386, align 4, !tbaa !5
  %18541 = icmp eq i32 %18540, 2
  br i1 %18541, label %18595, label %18542

18542:                                            ; preds = %18537
  br label %18543

18543:                                            ; preds = %18542
  br label %18544

18544:                                            ; preds = %18543
  call void @llvm.lifetime.start.p0(i64 4, ptr %391) #11
  %18545 = call ptr @__errno_location() #12
  %18546 = load i32, ptr %18545, align 4, !tbaa !5
  store i32 %18546, ptr %391, align 4, !tbaa !5
  %18547 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18548 = call i32 @s2n_print_stacktrace(ptr noundef %18547)
  %18549 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18550 = trunc i8 %18549 to i1
  br i1 %18550, label %18551, label %18573

18551:                                            ; preds = %18544
  %18552 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18553 = call i32 @fileno(ptr noundef %18552) #11
  %18554 = call i32 @isatty(i32 noundef %18553) #11
  %18555 = icmp ne i32 %18554, 0
  br i1 %18555, label %18556, label %18573

18556:                                            ; preds = %18551
  %18557 = load i32, ptr %391, align 4, !tbaa !5
  %18558 = call ptr @__errno_location() #12
  store i32 %18557, ptr %18558, align 4, !tbaa !5
  %18559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18560 = load i32, ptr @test_count, align 4, !tbaa !5
  %18561 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18562 = load i32, ptr %18561, align 4, !tbaa !5
  %18563 = call ptr @s2n_strerror(i32 noundef %18562, ptr noundef @.str.4)
  %18564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18565 = load i32, ptr %18564, align 4, !tbaa !5
  %18566 = call ptr @s2n_strerror_debug(i32 noundef %18565, ptr noundef @.str.4)
  %18567 = call ptr @__errno_location() #12
  %18568 = load i32, ptr %18567, align 4, !tbaa !5
  %18569 = call ptr @strerror(i32 noundef %18568) #11
  %18570 = call ptr @__errno_location() #12
  %18571 = load i32, ptr %18570, align 4, !tbaa !5
  %18572 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18559, ptr noundef @.str.2, i32 noundef %18560, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 592, ptr noundef %18563, ptr noundef %18566, ptr noundef %18569, i32 noundef %18571) #11
  br label %18590

18573:                                            ; preds = %18551, %18544
  %18574 = load i32, ptr %391, align 4, !tbaa !5
  %18575 = call ptr @__errno_location() #12
  store i32 %18574, ptr %18575, align 4, !tbaa !5
  %18576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18577 = load i32, ptr @test_count, align 4, !tbaa !5
  %18578 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18579 = load i32, ptr %18578, align 4, !tbaa !5
  %18580 = call ptr @s2n_strerror(i32 noundef %18579, ptr noundef @.str.4)
  %18581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18582 = load i32, ptr %18581, align 4, !tbaa !5
  %18583 = call ptr @s2n_strerror_debug(i32 noundef %18582, ptr noundef @.str.4)
  %18584 = call ptr @__errno_location() #12
  %18585 = load i32, ptr %18584, align 4, !tbaa !5
  %18586 = call ptr @strerror(i32 noundef %18585) #11
  %18587 = call ptr @__errno_location() #12
  %18588 = load i32, ptr %18587, align 4, !tbaa !5
  %18589 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18576, ptr noundef @.str.5, i32 noundef %18577, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 592, ptr noundef %18580, ptr noundef %18583, ptr noundef %18586, i32 noundef %18588) #11
  br label %18590

18590:                                            ; preds = %18573, %18556
  call void @llvm.lifetime.end.p0(i64 4, ptr %391) #11
  br label %18591

18591:                                            ; preds = %18590
  br label %18592

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

18593:                                            ; No predecessors!
  br label %18594

18594:                                            ; preds = %18593
  br label %18595

18595:                                            ; preds = %18594, %18537
  br label %18596

18596:                                            ; preds = %18595
  br label %18597

18597:                                            ; preds = %18596
  br label %18598

18598:                                            ; preds = %18597
  %18599 = load i32, ptr @test_count, align 4, !tbaa !5
  %18600 = add nsw i32 %18599, 1
  store i32 %18600, ptr @test_count, align 4, !tbaa !5
  %18601 = load ptr, ptr %372, align 8, !tbaa !9
  %18602 = call i32 @s2n_conn_get_current_message_type(ptr noundef %18601)
  %18603 = icmp eq i32 %18602, 0
  br i1 %18603, label %18657, label %18604

18604:                                            ; preds = %18598
  br label %18605

18605:                                            ; preds = %18604
  br label %18606

18606:                                            ; preds = %18605
  call void @llvm.lifetime.start.p0(i64 4, ptr %392) #11
  %18607 = call ptr @__errno_location() #12
  %18608 = load i32, ptr %18607, align 4, !tbaa !5
  store i32 %18608, ptr %392, align 4, !tbaa !5
  %18609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18610 = call i32 @s2n_print_stacktrace(ptr noundef %18609)
  %18611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18612 = trunc i8 %18611 to i1
  br i1 %18612, label %18613, label %18635

18613:                                            ; preds = %18606
  %18614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18615 = call i32 @fileno(ptr noundef %18614) #11
  %18616 = call i32 @isatty(i32 noundef %18615) #11
  %18617 = icmp ne i32 %18616, 0
  br i1 %18617, label %18618, label %18635

18618:                                            ; preds = %18613
  %18619 = load i32, ptr %392, align 4, !tbaa !5
  %18620 = call ptr @__errno_location() #12
  store i32 %18619, ptr %18620, align 4, !tbaa !5
  %18621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18622 = load i32, ptr @test_count, align 4, !tbaa !5
  %18623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18624 = load i32, ptr %18623, align 4, !tbaa !5
  %18625 = call ptr @s2n_strerror(i32 noundef %18624, ptr noundef @.str.4)
  %18626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18627 = load i32, ptr %18626, align 4, !tbaa !5
  %18628 = call ptr @s2n_strerror_debug(i32 noundef %18627, ptr noundef @.str.4)
  %18629 = call ptr @__errno_location() #12
  %18630 = load i32, ptr %18629, align 4, !tbaa !5
  %18631 = call ptr @strerror(i32 noundef %18630) #11
  %18632 = call ptr @__errno_location() #12
  %18633 = load i32, ptr %18632, align 4, !tbaa !5
  %18634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18621, ptr noundef @.str.2, i32 noundef %18622, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 592, ptr noundef %18625, ptr noundef %18628, ptr noundef %18631, i32 noundef %18633) #11
  br label %18652

18635:                                            ; preds = %18613, %18606
  %18636 = load i32, ptr %392, align 4, !tbaa !5
  %18637 = call ptr @__errno_location() #12
  store i32 %18636, ptr %18637, align 4, !tbaa !5
  %18638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18639 = load i32, ptr @test_count, align 4, !tbaa !5
  %18640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18641 = load i32, ptr %18640, align 4, !tbaa !5
  %18642 = call ptr @s2n_strerror(i32 noundef %18641, ptr noundef @.str.4)
  %18643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18644 = load i32, ptr %18643, align 4, !tbaa !5
  %18645 = call ptr @s2n_strerror_debug(i32 noundef %18644, ptr noundef @.str.4)
  %18646 = call ptr @__errno_location() #12
  %18647 = load i32, ptr %18646, align 4, !tbaa !5
  %18648 = call ptr @strerror(i32 noundef %18647) #11
  %18649 = call ptr @__errno_location() #12
  %18650 = load i32, ptr %18649, align 4, !tbaa !5
  %18651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18638, ptr noundef @.str.5, i32 noundef %18639, ptr noundef @.str.103, ptr noundef @.str.1, i32 noundef 592, ptr noundef %18642, ptr noundef %18645, ptr noundef %18648, i32 noundef %18650) #11
  br label %18652

18652:                                            ; preds = %18635, %18618
  call void @llvm.lifetime.end.p0(i64 4, ptr %392) #11
  br label %18653

18653:                                            ; preds = %18652
  br label %18654

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

18655:                                            ; No predecessors!
  br label %18656

18656:                                            ; preds = %18655
  br label %18657

18657:                                            ; preds = %18656, %18598
  br label %18658

18658:                                            ; preds = %18657
  br label %18659

18659:                                            ; preds = %18658
  br label %18660

18660:                                            ; preds = %18659
  %18661 = load i32, ptr @test_count, align 4, !tbaa !5
  %18662 = add nsw i32 %18661, 1
  store i32 %18662, ptr @test_count, align 4, !tbaa !5
  %18663 = load i64, ptr %387, align 8, !tbaa !42
  %18664 = icmp eq i64 %18663, 0
  br i1 %18664, label %18718, label %18665

18665:                                            ; preds = %18660
  br label %18666

18666:                                            ; preds = %18665
  br label %18667

18667:                                            ; preds = %18666
  call void @llvm.lifetime.start.p0(i64 4, ptr %393) #11
  %18668 = call ptr @__errno_location() #12
  %18669 = load i32, ptr %18668, align 4, !tbaa !5
  store i32 %18669, ptr %393, align 4, !tbaa !5
  %18670 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18671 = call i32 @s2n_print_stacktrace(ptr noundef %18670)
  %18672 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18673 = trunc i8 %18672 to i1
  br i1 %18673, label %18674, label %18696

18674:                                            ; preds = %18667
  %18675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18676 = call i32 @fileno(ptr noundef %18675) #11
  %18677 = call i32 @isatty(i32 noundef %18676) #11
  %18678 = icmp ne i32 %18677, 0
  br i1 %18678, label %18679, label %18696

18679:                                            ; preds = %18674
  %18680 = load i32, ptr %393, align 4, !tbaa !5
  %18681 = call ptr @__errno_location() #12
  store i32 %18680, ptr %18681, align 4, !tbaa !5
  %18682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18683 = load i32, ptr @test_count, align 4, !tbaa !5
  %18684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18685 = load i32, ptr %18684, align 4, !tbaa !5
  %18686 = call ptr @s2n_strerror(i32 noundef %18685, ptr noundef @.str.4)
  %18687 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18688 = load i32, ptr %18687, align 4, !tbaa !5
  %18689 = call ptr @s2n_strerror_debug(i32 noundef %18688, ptr noundef @.str.4)
  %18690 = call ptr @__errno_location() #12
  %18691 = load i32, ptr %18690, align 4, !tbaa !5
  %18692 = call ptr @strerror(i32 noundef %18691) #11
  %18693 = call ptr @__errno_location() #12
  %18694 = load i32, ptr %18693, align 4, !tbaa !5
  %18695 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18682, ptr noundef @.str.2, i32 noundef %18683, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 593, ptr noundef %18686, ptr noundef %18689, ptr noundef %18692, i32 noundef %18694) #11
  br label %18713

18696:                                            ; preds = %18674, %18667
  %18697 = load i32, ptr %393, align 4, !tbaa !5
  %18698 = call ptr @__errno_location() #12
  store i32 %18697, ptr %18698, align 4, !tbaa !5
  %18699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18700 = load i32, ptr @test_count, align 4, !tbaa !5
  %18701 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18702 = load i32, ptr %18701, align 4, !tbaa !5
  %18703 = call ptr @s2n_strerror(i32 noundef %18702, ptr noundef @.str.4)
  %18704 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18705 = load i32, ptr %18704, align 4, !tbaa !5
  %18706 = call ptr @s2n_strerror_debug(i32 noundef %18705, ptr noundef @.str.4)
  %18707 = call ptr @__errno_location() #12
  %18708 = load i32, ptr %18707, align 4, !tbaa !5
  %18709 = call ptr @strerror(i32 noundef %18708) #11
  %18710 = call ptr @__errno_location() #12
  %18711 = load i32, ptr %18710, align 4, !tbaa !5
  %18712 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18699, ptr noundef @.str.5, i32 noundef %18700, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 593, ptr noundef %18703, ptr noundef %18706, ptr noundef %18709, i32 noundef %18711) #11
  br label %18713

18713:                                            ; preds = %18696, %18679
  call void @llvm.lifetime.end.p0(i64 4, ptr %393) #11
  br label %18714

18714:                                            ; preds = %18713
  br label %18715

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

18716:                                            ; No predecessors!
  br label %18717

18717:                                            ; preds = %18716
  br label %18718

18718:                                            ; preds = %18717, %18660
  br label %18719

18719:                                            ; preds = %18718
  br label %18720

18720:                                            ; preds = %18719
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %18721

18721:                                            ; preds = %18720
  br label %18722

18722:                                            ; preds = %18721
  br label %18723

18723:                                            ; preds = %18722
  %18724 = load i32, ptr @test_count, align 4, !tbaa !5
  %18725 = add nsw i32 %18724, 1
  store i32 %18725, ptr @test_count, align 4, !tbaa !5
  %18726 = load ptr, ptr %372, align 8, !tbaa !9
  %18727 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %18728 = call i32 @s2n_send_early_data(ptr noundef %18726, ptr noundef %18727, i64 noundef 12, ptr noundef %387, ptr noundef %386)
  %18729 = icmp eq i32 %18728, -1
  br i1 %18729, label %18783, label %18730

18730:                                            ; preds = %18723
  br label %18731

18731:                                            ; preds = %18730
  br label %18732

18732:                                            ; preds = %18731
  call void @llvm.lifetime.start.p0(i64 4, ptr %394) #11
  %18733 = call ptr @__errno_location() #12
  %18734 = load i32, ptr %18733, align 4, !tbaa !5
  store i32 %18734, ptr %394, align 4, !tbaa !5
  %18735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18736 = call i32 @s2n_print_stacktrace(ptr noundef %18735)
  %18737 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18738 = trunc i8 %18737 to i1
  br i1 %18738, label %18739, label %18761

18739:                                            ; preds = %18732
  %18740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18741 = call i32 @fileno(ptr noundef %18740) #11
  %18742 = call i32 @isatty(i32 noundef %18741) #11
  %18743 = icmp ne i32 %18742, 0
  br i1 %18743, label %18744, label %18761

18744:                                            ; preds = %18739
  %18745 = load i32, ptr %394, align 4, !tbaa !5
  %18746 = call ptr @__errno_location() #12
  store i32 %18745, ptr %18746, align 4, !tbaa !5
  %18747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18748 = load i32, ptr @test_count, align 4, !tbaa !5
  %18749 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18750 = load i32, ptr %18749, align 4, !tbaa !5
  %18751 = call ptr @s2n_strerror(i32 noundef %18750, ptr noundef @.str.4)
  %18752 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18753 = load i32, ptr %18752, align 4, !tbaa !5
  %18754 = call ptr @s2n_strerror_debug(i32 noundef %18753, ptr noundef @.str.4)
  %18755 = call ptr @__errno_location() #12
  %18756 = load i32, ptr %18755, align 4, !tbaa !5
  %18757 = call ptr @strerror(i32 noundef %18756) #11
  %18758 = call ptr @__errno_location() #12
  %18759 = load i32, ptr %18758, align 4, !tbaa !5
  %18760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18747, ptr noundef @.str.2, i32 noundef %18748, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 597, ptr noundef %18751, ptr noundef %18754, ptr noundef %18757, i32 noundef %18759) #11
  br label %18778

18761:                                            ; preds = %18739, %18732
  %18762 = load i32, ptr %394, align 4, !tbaa !5
  %18763 = call ptr @__errno_location() #12
  store i32 %18762, ptr %18763, align 4, !tbaa !5
  %18764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18765 = load i32, ptr @test_count, align 4, !tbaa !5
  %18766 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18767 = load i32, ptr %18766, align 4, !tbaa !5
  %18768 = call ptr @s2n_strerror(i32 noundef %18767, ptr noundef @.str.4)
  %18769 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18770 = load i32, ptr %18769, align 4, !tbaa !5
  %18771 = call ptr @s2n_strerror_debug(i32 noundef %18770, ptr noundef @.str.4)
  %18772 = call ptr @__errno_location() #12
  %18773 = load i32, ptr %18772, align 4, !tbaa !5
  %18774 = call ptr @strerror(i32 noundef %18773) #11
  %18775 = call ptr @__errno_location() #12
  %18776 = load i32, ptr %18775, align 4, !tbaa !5
  %18777 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18764, ptr noundef @.str.5, i32 noundef %18765, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 597, ptr noundef %18768, ptr noundef %18771, ptr noundef %18774, i32 noundef %18776) #11
  br label %18778

18778:                                            ; preds = %18761, %18744
  call void @llvm.lifetime.end.p0(i64 4, ptr %394) #11
  br label %18779

18779:                                            ; preds = %18778
  br label %18780

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

18781:                                            ; No predecessors!
  br label %18782

18782:                                            ; preds = %18781
  br label %18783

18783:                                            ; preds = %18782, %18723
  br label %18784

18784:                                            ; preds = %18783
  br label %18785

18785:                                            ; preds = %18784
  br label %18786

18786:                                            ; preds = %18785
  %18787 = load i32, ptr @test_count, align 4, !tbaa !5
  %18788 = add nsw i32 %18787, 1
  store i32 %18788, ptr @test_count, align 4, !tbaa !5
  %18789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18790 = load i32, ptr %18789, align 4, !tbaa !5
  %18791 = icmp eq i32 %18790, 201326592
  br i1 %18791, label %18845, label %18792

18792:                                            ; preds = %18786
  br label %18793

18793:                                            ; preds = %18792
  br label %18794

18794:                                            ; preds = %18793
  call void @llvm.lifetime.start.p0(i64 4, ptr %395) #11
  %18795 = call ptr @__errno_location() #12
  %18796 = load i32, ptr %18795, align 4, !tbaa !5
  store i32 %18796, ptr %395, align 4, !tbaa !5
  %18797 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18798 = call i32 @s2n_print_stacktrace(ptr noundef %18797)
  %18799 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18800 = trunc i8 %18799 to i1
  br i1 %18800, label %18801, label %18823

18801:                                            ; preds = %18794
  %18802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18803 = call i32 @fileno(ptr noundef %18802) #11
  %18804 = call i32 @isatty(i32 noundef %18803) #11
  %18805 = icmp ne i32 %18804, 0
  br i1 %18805, label %18806, label %18823

18806:                                            ; preds = %18801
  %18807 = load i32, ptr %395, align 4, !tbaa !5
  %18808 = call ptr @__errno_location() #12
  store i32 %18807, ptr %18808, align 4, !tbaa !5
  %18809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18810 = load i32, ptr @test_count, align 4, !tbaa !5
  %18811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18812 = load i32, ptr %18811, align 4, !tbaa !5
  %18813 = call ptr @s2n_strerror(i32 noundef %18812, ptr noundef @.str.4)
  %18814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18815 = load i32, ptr %18814, align 4, !tbaa !5
  %18816 = call ptr @s2n_strerror_debug(i32 noundef %18815, ptr noundef @.str.4)
  %18817 = call ptr @__errno_location() #12
  %18818 = load i32, ptr %18817, align 4, !tbaa !5
  %18819 = call ptr @strerror(i32 noundef %18818) #11
  %18820 = call ptr @__errno_location() #12
  %18821 = load i32, ptr %18820, align 4, !tbaa !5
  %18822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18809, ptr noundef @.str.2, i32 noundef %18810, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 597, ptr noundef %18813, ptr noundef %18816, ptr noundef %18819, i32 noundef %18821) #11
  br label %18840

18823:                                            ; preds = %18801, %18794
  %18824 = load i32, ptr %395, align 4, !tbaa !5
  %18825 = call ptr @__errno_location() #12
  store i32 %18824, ptr %18825, align 4, !tbaa !5
  %18826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18827 = load i32, ptr @test_count, align 4, !tbaa !5
  %18828 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18829 = load i32, ptr %18828, align 4, !tbaa !5
  %18830 = call ptr @s2n_strerror(i32 noundef %18829, ptr noundef @.str.4)
  %18831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18832 = load i32, ptr %18831, align 4, !tbaa !5
  %18833 = call ptr @s2n_strerror_debug(i32 noundef %18832, ptr noundef @.str.4)
  %18834 = call ptr @__errno_location() #12
  %18835 = load i32, ptr %18834, align 4, !tbaa !5
  %18836 = call ptr @strerror(i32 noundef %18835) #11
  %18837 = call ptr @__errno_location() #12
  %18838 = load i32, ptr %18837, align 4, !tbaa !5
  %18839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18826, ptr noundef @.str.5, i32 noundef %18827, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 597, ptr noundef %18830, ptr noundef %18833, ptr noundef %18836, i32 noundef %18838) #11
  br label %18840

18840:                                            ; preds = %18823, %18806
  call void @llvm.lifetime.end.p0(i64 4, ptr %395) #11
  br label %18841

18841:                                            ; preds = %18840
  br label %18842

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

18843:                                            ; No predecessors!
  br label %18844

18844:                                            ; preds = %18843
  br label %18845

18845:                                            ; preds = %18844, %18786
  br label %18846

18846:                                            ; preds = %18845
  br label %18847

18847:                                            ; preds = %18846
  br label %18848

18848:                                            ; preds = %18847
  %18849 = load i32, ptr @test_count, align 4, !tbaa !5
  %18850 = add nsw i32 %18849, 1
  store i32 %18850, ptr @test_count, align 4, !tbaa !5
  %18851 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18852 = load i32, ptr %18851, align 4, !tbaa !5
  %18853 = call ptr @s2n_strerror_debug(i32 noundef %18852, ptr noundef @.str.4)
  %18854 = icmp eq ptr %18853, null
  br i1 %18854, label %18855, label %18908

18855:                                            ; preds = %18848
  br label %18856

18856:                                            ; preds = %18855
  br label %18857

18857:                                            ; preds = %18856
  call void @llvm.lifetime.start.p0(i64 4, ptr %396) #11
  %18858 = call ptr @__errno_location() #12
  %18859 = load i32, ptr %18858, align 4, !tbaa !5
  store i32 %18859, ptr %396, align 4, !tbaa !5
  %18860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18861 = call i32 @s2n_print_stacktrace(ptr noundef %18860)
  %18862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18863 = trunc i8 %18862 to i1
  br i1 %18863, label %18864, label %18886

18864:                                            ; preds = %18857
  %18865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18866 = call i32 @fileno(ptr noundef %18865) #11
  %18867 = call i32 @isatty(i32 noundef %18866) #11
  %18868 = icmp ne i32 %18867, 0
  br i1 %18868, label %18869, label %18886

18869:                                            ; preds = %18864
  %18870 = load i32, ptr %396, align 4, !tbaa !5
  %18871 = call ptr @__errno_location() #12
  store i32 %18870, ptr %18871, align 4, !tbaa !5
  %18872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18873 = load i32, ptr @test_count, align 4, !tbaa !5
  %18874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18875 = load i32, ptr %18874, align 4, !tbaa !5
  %18876 = call ptr @s2n_strerror(i32 noundef %18875, ptr noundef @.str.4)
  %18877 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18878 = load i32, ptr %18877, align 4, !tbaa !5
  %18879 = call ptr @s2n_strerror_debug(i32 noundef %18878, ptr noundef @.str.4)
  %18880 = call ptr @__errno_location() #12
  %18881 = load i32, ptr %18880, align 4, !tbaa !5
  %18882 = call ptr @strerror(i32 noundef %18881) #11
  %18883 = call ptr @__errno_location() #12
  %18884 = load i32, ptr %18883, align 4, !tbaa !5
  %18885 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18872, ptr noundef @.str.2, i32 noundef %18873, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 597, ptr noundef %18876, ptr noundef %18879, ptr noundef %18882, i32 noundef %18884) #11
  br label %18903

18886:                                            ; preds = %18864, %18857
  %18887 = load i32, ptr %396, align 4, !tbaa !5
  %18888 = call ptr @__errno_location() #12
  store i32 %18887, ptr %18888, align 4, !tbaa !5
  %18889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18890 = load i32, ptr @test_count, align 4, !tbaa !5
  %18891 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18892 = load i32, ptr %18891, align 4, !tbaa !5
  %18893 = call ptr @s2n_strerror(i32 noundef %18892, ptr noundef @.str.4)
  %18894 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18895 = load i32, ptr %18894, align 4, !tbaa !5
  %18896 = call ptr @s2n_strerror_debug(i32 noundef %18895, ptr noundef @.str.4)
  %18897 = call ptr @__errno_location() #12
  %18898 = load i32, ptr %18897, align 4, !tbaa !5
  %18899 = call ptr @strerror(i32 noundef %18898) #11
  %18900 = call ptr @__errno_location() #12
  %18901 = load i32, ptr %18900, align 4, !tbaa !5
  %18902 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18889, ptr noundef @.str.5, i32 noundef %18890, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 597, ptr noundef %18893, ptr noundef %18896, ptr noundef %18899, i32 noundef %18901) #11
  br label %18903

18903:                                            ; preds = %18886, %18869
  call void @llvm.lifetime.end.p0(i64 4, ptr %396) #11
  br label %18904

18904:                                            ; preds = %18903
  br label %18905

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

18906:                                            ; No predecessors!
  br label %18907

18907:                                            ; preds = %18906
  br label %18908

18908:                                            ; preds = %18907, %18848
  br label %18909

18909:                                            ; preds = %18908
  br label %18910

18910:                                            ; preds = %18909
  br label %18911

18911:                                            ; preds = %18910
  br label %18912

18912:                                            ; preds = %18911
  br label %18913

18913:                                            ; preds = %18912
  %18914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %18914, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %18915 = call ptr @__errno_location() #12
  store i32 0, ptr %18915, align 4, !tbaa !5
  br label %18916

18916:                                            ; preds = %18913
  br label %18917

18917:                                            ; preds = %18916
  br label %18918

18918:                                            ; preds = %18917
  br label %18919

18919:                                            ; preds = %18918
  br label %18920

18920:                                            ; preds = %18919
  %18921 = load i32, ptr @test_count, align 4, !tbaa !5
  %18922 = add nsw i32 %18921, 1
  store i32 %18922, ptr @test_count, align 4, !tbaa !5
  %18923 = load i32, ptr %386, align 4, !tbaa !5
  %18924 = icmp eq i32 %18923, 2
  br i1 %18924, label %18978, label %18925

18925:                                            ; preds = %18920
  br label %18926

18926:                                            ; preds = %18925
  br label %18927

18927:                                            ; preds = %18926
  call void @llvm.lifetime.start.p0(i64 4, ptr %397) #11
  %18928 = call ptr @__errno_location() #12
  %18929 = load i32, ptr %18928, align 4, !tbaa !5
  store i32 %18929, ptr %397, align 4, !tbaa !5
  %18930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18931 = call i32 @s2n_print_stacktrace(ptr noundef %18930)
  %18932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18933 = trunc i8 %18932 to i1
  br i1 %18933, label %18934, label %18956

18934:                                            ; preds = %18927
  %18935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18936 = call i32 @fileno(ptr noundef %18935) #11
  %18937 = call i32 @isatty(i32 noundef %18936) #11
  %18938 = icmp ne i32 %18937, 0
  br i1 %18938, label %18939, label %18956

18939:                                            ; preds = %18934
  %18940 = load i32, ptr %397, align 4, !tbaa !5
  %18941 = call ptr @__errno_location() #12
  store i32 %18940, ptr %18941, align 4, !tbaa !5
  %18942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18943 = load i32, ptr @test_count, align 4, !tbaa !5
  %18944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18945 = load i32, ptr %18944, align 4, !tbaa !5
  %18946 = call ptr @s2n_strerror(i32 noundef %18945, ptr noundef @.str.4)
  %18947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18948 = load i32, ptr %18947, align 4, !tbaa !5
  %18949 = call ptr @s2n_strerror_debug(i32 noundef %18948, ptr noundef @.str.4)
  %18950 = call ptr @__errno_location() #12
  %18951 = load i32, ptr %18950, align 4, !tbaa !5
  %18952 = call ptr @strerror(i32 noundef %18951) #11
  %18953 = call ptr @__errno_location() #12
  %18954 = load i32, ptr %18953, align 4, !tbaa !5
  %18955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18942, ptr noundef @.str.2, i32 noundef %18943, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 598, ptr noundef %18946, ptr noundef %18949, ptr noundef %18952, i32 noundef %18954) #11
  br label %18973

18956:                                            ; preds = %18934, %18927
  %18957 = load i32, ptr %397, align 4, !tbaa !5
  %18958 = call ptr @__errno_location() #12
  store i32 %18957, ptr %18958, align 4, !tbaa !5
  %18959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18960 = load i32, ptr @test_count, align 4, !tbaa !5
  %18961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18962 = load i32, ptr %18961, align 4, !tbaa !5
  %18963 = call ptr @s2n_strerror(i32 noundef %18962, ptr noundef @.str.4)
  %18964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %18965 = load i32, ptr %18964, align 4, !tbaa !5
  %18966 = call ptr @s2n_strerror_debug(i32 noundef %18965, ptr noundef @.str.4)
  %18967 = call ptr @__errno_location() #12
  %18968 = load i32, ptr %18967, align 4, !tbaa !5
  %18969 = call ptr @strerror(i32 noundef %18968) #11
  %18970 = call ptr @__errno_location() #12
  %18971 = load i32, ptr %18970, align 4, !tbaa !5
  %18972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %18959, ptr noundef @.str.5, i32 noundef %18960, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 598, ptr noundef %18963, ptr noundef %18966, ptr noundef %18969, i32 noundef %18971) #11
  br label %18973

18973:                                            ; preds = %18956, %18939
  call void @llvm.lifetime.end.p0(i64 4, ptr %397) #11
  br label %18974

18974:                                            ; preds = %18973
  br label %18975

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

18976:                                            ; No predecessors!
  br label %18977

18977:                                            ; preds = %18976
  br label %18978

18978:                                            ; preds = %18977, %18920
  br label %18979

18979:                                            ; preds = %18978
  br label %18980

18980:                                            ; preds = %18979
  br label %18981

18981:                                            ; preds = %18980
  %18982 = load i32, ptr @test_count, align 4, !tbaa !5
  %18983 = add nsw i32 %18982, 1
  store i32 %18983, ptr @test_count, align 4, !tbaa !5
  %18984 = load ptr, ptr %372, align 8, !tbaa !9
  %18985 = call i32 @s2n_conn_get_current_message_type(ptr noundef %18984)
  %18986 = icmp eq i32 %18985, 11
  br i1 %18986, label %19040, label %18987

18987:                                            ; preds = %18981
  br label %18988

18988:                                            ; preds = %18987
  br label %18989

18989:                                            ; preds = %18988
  call void @llvm.lifetime.start.p0(i64 4, ptr %398) #11
  %18990 = call ptr @__errno_location() #12
  %18991 = load i32, ptr %18990, align 4, !tbaa !5
  store i32 %18991, ptr %398, align 4, !tbaa !5
  %18992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18993 = call i32 @s2n_print_stacktrace(ptr noundef %18992)
  %18994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %18995 = trunc i8 %18994 to i1
  br i1 %18995, label %18996, label %19018

18996:                                            ; preds = %18989
  %18997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %18998 = call i32 @fileno(ptr noundef %18997) #11
  %18999 = call i32 @isatty(i32 noundef %18998) #11
  %19000 = icmp ne i32 %18999, 0
  br i1 %19000, label %19001, label %19018

19001:                                            ; preds = %18996
  %19002 = load i32, ptr %398, align 4, !tbaa !5
  %19003 = call ptr @__errno_location() #12
  store i32 %19002, ptr %19003, align 4, !tbaa !5
  %19004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19005 = load i32, ptr @test_count, align 4, !tbaa !5
  %19006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19007 = load i32, ptr %19006, align 4, !tbaa !5
  %19008 = call ptr @s2n_strerror(i32 noundef %19007, ptr noundef @.str.4)
  %19009 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19010 = load i32, ptr %19009, align 4, !tbaa !5
  %19011 = call ptr @s2n_strerror_debug(i32 noundef %19010, ptr noundef @.str.4)
  %19012 = call ptr @__errno_location() #12
  %19013 = load i32, ptr %19012, align 4, !tbaa !5
  %19014 = call ptr @strerror(i32 noundef %19013) #11
  %19015 = call ptr @__errno_location() #12
  %19016 = load i32, ptr %19015, align 4, !tbaa !5
  %19017 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19004, ptr noundef @.str.2, i32 noundef %19005, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 598, ptr noundef %19008, ptr noundef %19011, ptr noundef %19014, i32 noundef %19016) #11
  br label %19035

19018:                                            ; preds = %18996, %18989
  %19019 = load i32, ptr %398, align 4, !tbaa !5
  %19020 = call ptr @__errno_location() #12
  store i32 %19019, ptr %19020, align 4, !tbaa !5
  %19021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19022 = load i32, ptr @test_count, align 4, !tbaa !5
  %19023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19024 = load i32, ptr %19023, align 4, !tbaa !5
  %19025 = call ptr @s2n_strerror(i32 noundef %19024, ptr noundef @.str.4)
  %19026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19027 = load i32, ptr %19026, align 4, !tbaa !5
  %19028 = call ptr @s2n_strerror_debug(i32 noundef %19027, ptr noundef @.str.4)
  %19029 = call ptr @__errno_location() #12
  %19030 = load i32, ptr %19029, align 4, !tbaa !5
  %19031 = call ptr @strerror(i32 noundef %19030) #11
  %19032 = call ptr @__errno_location() #12
  %19033 = load i32, ptr %19032, align 4, !tbaa !5
  %19034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19021, ptr noundef @.str.5, i32 noundef %19022, ptr noundef @.str.104, ptr noundef @.str.1, i32 noundef 598, ptr noundef %19025, ptr noundef %19028, ptr noundef %19031, i32 noundef %19033) #11
  br label %19035

19035:                                            ; preds = %19018, %19001
  call void @llvm.lifetime.end.p0(i64 4, ptr %398) #11
  br label %19036

19036:                                            ; preds = %19035
  br label %19037

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

19038:                                            ; No predecessors!
  br label %19039

19039:                                            ; preds = %19038
  br label %19040

19040:                                            ; preds = %19039, %18981
  br label %19041

19041:                                            ; preds = %19040
  br label %19042

19042:                                            ; preds = %19041
  br label %19043

19043:                                            ; preds = %19042
  %19044 = load i32, ptr @test_count, align 4, !tbaa !5
  %19045 = add nsw i32 %19044, 1
  store i32 %19045, ptr @test_count, align 4, !tbaa !5
  %19046 = load i64, ptr %387, align 8, !tbaa !42
  %19047 = icmp eq i64 %19046, 0
  br i1 %19047, label %19101, label %19048

19048:                                            ; preds = %19043
  br label %19049

19049:                                            ; preds = %19048
  br label %19050

19050:                                            ; preds = %19049
  call void @llvm.lifetime.start.p0(i64 4, ptr %399) #11
  %19051 = call ptr @__errno_location() #12
  %19052 = load i32, ptr %19051, align 4, !tbaa !5
  store i32 %19052, ptr %399, align 4, !tbaa !5
  %19053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19054 = call i32 @s2n_print_stacktrace(ptr noundef %19053)
  %19055 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19056 = trunc i8 %19055 to i1
  br i1 %19056, label %19057, label %19079

19057:                                            ; preds = %19050
  %19058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19059 = call i32 @fileno(ptr noundef %19058) #11
  %19060 = call i32 @isatty(i32 noundef %19059) #11
  %19061 = icmp ne i32 %19060, 0
  br i1 %19061, label %19062, label %19079

19062:                                            ; preds = %19057
  %19063 = load i32, ptr %399, align 4, !tbaa !5
  %19064 = call ptr @__errno_location() #12
  store i32 %19063, ptr %19064, align 4, !tbaa !5
  %19065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19066 = load i32, ptr @test_count, align 4, !tbaa !5
  %19067 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19068 = load i32, ptr %19067, align 4, !tbaa !5
  %19069 = call ptr @s2n_strerror(i32 noundef %19068, ptr noundef @.str.4)
  %19070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19071 = load i32, ptr %19070, align 4, !tbaa !5
  %19072 = call ptr @s2n_strerror_debug(i32 noundef %19071, ptr noundef @.str.4)
  %19073 = call ptr @__errno_location() #12
  %19074 = load i32, ptr %19073, align 4, !tbaa !5
  %19075 = call ptr @strerror(i32 noundef %19074) #11
  %19076 = call ptr @__errno_location() #12
  %19077 = load i32, ptr %19076, align 4, !tbaa !5
  %19078 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19065, ptr noundef @.str.2, i32 noundef %19066, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 599, ptr noundef %19069, ptr noundef %19072, ptr noundef %19075, i32 noundef %19077) #11
  br label %19096

19079:                                            ; preds = %19057, %19050
  %19080 = load i32, ptr %399, align 4, !tbaa !5
  %19081 = call ptr @__errno_location() #12
  store i32 %19080, ptr %19081, align 4, !tbaa !5
  %19082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19083 = load i32, ptr @test_count, align 4, !tbaa !5
  %19084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19085 = load i32, ptr %19084, align 4, !tbaa !5
  %19086 = call ptr @s2n_strerror(i32 noundef %19085, ptr noundef @.str.4)
  %19087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19088 = load i32, ptr %19087, align 4, !tbaa !5
  %19089 = call ptr @s2n_strerror_debug(i32 noundef %19088, ptr noundef @.str.4)
  %19090 = call ptr @__errno_location() #12
  %19091 = load i32, ptr %19090, align 4, !tbaa !5
  %19092 = call ptr @strerror(i32 noundef %19091) #11
  %19093 = call ptr @__errno_location() #12
  %19094 = load i32, ptr %19093, align 4, !tbaa !5
  %19095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19082, ptr noundef @.str.5, i32 noundef %19083, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 599, ptr noundef %19086, ptr noundef %19089, ptr noundef %19092, i32 noundef %19094) #11
  br label %19096

19096:                                            ; preds = %19079, %19062
  call void @llvm.lifetime.end.p0(i64 4, ptr %399) #11
  br label %19097

19097:                                            ; preds = %19096
  br label %19098

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

19099:                                            ; No predecessors!
  br label %19100

19100:                                            ; preds = %19099
  br label %19101

19101:                                            ; preds = %19100, %19043
  br label %19102

19102:                                            ; preds = %19101
  br label %19103

19103:                                            ; preds = %19102
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %19104

19104:                                            ; preds = %19103
  br label %19105

19105:                                            ; preds = %19104
  br label %19106

19106:                                            ; preds = %19105
  %19107 = load i32, ptr @test_count, align 4, !tbaa !5
  %19108 = add nsw i32 %19107, 1
  store i32 %19108, ptr @test_count, align 4, !tbaa !5
  %19109 = load ptr, ptr %372, align 8, !tbaa !9
  %19110 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19111 = call i32 @s2n_send_early_data(ptr noundef %19109, ptr noundef %19110, i64 noundef 12, ptr noundef %387, ptr noundef %386)
  %19112 = icmp eq i32 %19111, -1
  br i1 %19112, label %19166, label %19113

19113:                                            ; preds = %19106
  br label %19114

19114:                                            ; preds = %19113
  br label %19115

19115:                                            ; preds = %19114
  call void @llvm.lifetime.start.p0(i64 4, ptr %400) #11
  %19116 = call ptr @__errno_location() #12
  %19117 = load i32, ptr %19116, align 4, !tbaa !5
  store i32 %19117, ptr %400, align 4, !tbaa !5
  %19118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19119 = call i32 @s2n_print_stacktrace(ptr noundef %19118)
  %19120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19121 = trunc i8 %19120 to i1
  br i1 %19121, label %19122, label %19144

19122:                                            ; preds = %19115
  %19123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19124 = call i32 @fileno(ptr noundef %19123) #11
  %19125 = call i32 @isatty(i32 noundef %19124) #11
  %19126 = icmp ne i32 %19125, 0
  br i1 %19126, label %19127, label %19144

19127:                                            ; preds = %19122
  %19128 = load i32, ptr %400, align 4, !tbaa !5
  %19129 = call ptr @__errno_location() #12
  store i32 %19128, ptr %19129, align 4, !tbaa !5
  %19130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19131 = load i32, ptr @test_count, align 4, !tbaa !5
  %19132 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19133 = load i32, ptr %19132, align 4, !tbaa !5
  %19134 = call ptr @s2n_strerror(i32 noundef %19133, ptr noundef @.str.4)
  %19135 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19136 = load i32, ptr %19135, align 4, !tbaa !5
  %19137 = call ptr @s2n_strerror_debug(i32 noundef %19136, ptr noundef @.str.4)
  %19138 = call ptr @__errno_location() #12
  %19139 = load i32, ptr %19138, align 4, !tbaa !5
  %19140 = call ptr @strerror(i32 noundef %19139) #11
  %19141 = call ptr @__errno_location() #12
  %19142 = load i32, ptr %19141, align 4, !tbaa !5
  %19143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19130, ptr noundef @.str.2, i32 noundef %19131, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 603, ptr noundef %19134, ptr noundef %19137, ptr noundef %19140, i32 noundef %19142) #11
  br label %19161

19144:                                            ; preds = %19122, %19115
  %19145 = load i32, ptr %400, align 4, !tbaa !5
  %19146 = call ptr @__errno_location() #12
  store i32 %19145, ptr %19146, align 4, !tbaa !5
  %19147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19148 = load i32, ptr @test_count, align 4, !tbaa !5
  %19149 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19150 = load i32, ptr %19149, align 4, !tbaa !5
  %19151 = call ptr @s2n_strerror(i32 noundef %19150, ptr noundef @.str.4)
  %19152 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19153 = load i32, ptr %19152, align 4, !tbaa !5
  %19154 = call ptr @s2n_strerror_debug(i32 noundef %19153, ptr noundef @.str.4)
  %19155 = call ptr @__errno_location() #12
  %19156 = load i32, ptr %19155, align 4, !tbaa !5
  %19157 = call ptr @strerror(i32 noundef %19156) #11
  %19158 = call ptr @__errno_location() #12
  %19159 = load i32, ptr %19158, align 4, !tbaa !5
  %19160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19147, ptr noundef @.str.5, i32 noundef %19148, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 603, ptr noundef %19151, ptr noundef %19154, ptr noundef %19157, i32 noundef %19159) #11
  br label %19161

19161:                                            ; preds = %19144, %19127
  call void @llvm.lifetime.end.p0(i64 4, ptr %400) #11
  br label %19162

19162:                                            ; preds = %19161
  br label %19163

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

19164:                                            ; No predecessors!
  br label %19165

19165:                                            ; preds = %19164
  br label %19166

19166:                                            ; preds = %19165, %19106
  br label %19167

19167:                                            ; preds = %19166
  br label %19168

19168:                                            ; preds = %19167
  br label %19169

19169:                                            ; preds = %19168
  %19170 = load i32, ptr @test_count, align 4, !tbaa !5
  %19171 = add nsw i32 %19170, 1
  store i32 %19171, ptr @test_count, align 4, !tbaa !5
  %19172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19173 = load i32, ptr %19172, align 4, !tbaa !5
  %19174 = icmp eq i32 %19173, 201326592
  br i1 %19174, label %19228, label %19175

19175:                                            ; preds = %19169
  br label %19176

19176:                                            ; preds = %19175
  br label %19177

19177:                                            ; preds = %19176
  call void @llvm.lifetime.start.p0(i64 4, ptr %401) #11
  %19178 = call ptr @__errno_location() #12
  %19179 = load i32, ptr %19178, align 4, !tbaa !5
  store i32 %19179, ptr %401, align 4, !tbaa !5
  %19180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19181 = call i32 @s2n_print_stacktrace(ptr noundef %19180)
  %19182 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19183 = trunc i8 %19182 to i1
  br i1 %19183, label %19184, label %19206

19184:                                            ; preds = %19177
  %19185 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19186 = call i32 @fileno(ptr noundef %19185) #11
  %19187 = call i32 @isatty(i32 noundef %19186) #11
  %19188 = icmp ne i32 %19187, 0
  br i1 %19188, label %19189, label %19206

19189:                                            ; preds = %19184
  %19190 = load i32, ptr %401, align 4, !tbaa !5
  %19191 = call ptr @__errno_location() #12
  store i32 %19190, ptr %19191, align 4, !tbaa !5
  %19192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19193 = load i32, ptr @test_count, align 4, !tbaa !5
  %19194 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19195 = load i32, ptr %19194, align 4, !tbaa !5
  %19196 = call ptr @s2n_strerror(i32 noundef %19195, ptr noundef @.str.4)
  %19197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19198 = load i32, ptr %19197, align 4, !tbaa !5
  %19199 = call ptr @s2n_strerror_debug(i32 noundef %19198, ptr noundef @.str.4)
  %19200 = call ptr @__errno_location() #12
  %19201 = load i32, ptr %19200, align 4, !tbaa !5
  %19202 = call ptr @strerror(i32 noundef %19201) #11
  %19203 = call ptr @__errno_location() #12
  %19204 = load i32, ptr %19203, align 4, !tbaa !5
  %19205 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19192, ptr noundef @.str.2, i32 noundef %19193, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 603, ptr noundef %19196, ptr noundef %19199, ptr noundef %19202, i32 noundef %19204) #11
  br label %19223

19206:                                            ; preds = %19184, %19177
  %19207 = load i32, ptr %401, align 4, !tbaa !5
  %19208 = call ptr @__errno_location() #12
  store i32 %19207, ptr %19208, align 4, !tbaa !5
  %19209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19210 = load i32, ptr @test_count, align 4, !tbaa !5
  %19211 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19212 = load i32, ptr %19211, align 4, !tbaa !5
  %19213 = call ptr @s2n_strerror(i32 noundef %19212, ptr noundef @.str.4)
  %19214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19215 = load i32, ptr %19214, align 4, !tbaa !5
  %19216 = call ptr @s2n_strerror_debug(i32 noundef %19215, ptr noundef @.str.4)
  %19217 = call ptr @__errno_location() #12
  %19218 = load i32, ptr %19217, align 4, !tbaa !5
  %19219 = call ptr @strerror(i32 noundef %19218) #11
  %19220 = call ptr @__errno_location() #12
  %19221 = load i32, ptr %19220, align 4, !tbaa !5
  %19222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19209, ptr noundef @.str.5, i32 noundef %19210, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 603, ptr noundef %19213, ptr noundef %19216, ptr noundef %19219, i32 noundef %19221) #11
  br label %19223

19223:                                            ; preds = %19206, %19189
  call void @llvm.lifetime.end.p0(i64 4, ptr %401) #11
  br label %19224

19224:                                            ; preds = %19223
  br label %19225

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

19226:                                            ; No predecessors!
  br label %19227

19227:                                            ; preds = %19226
  br label %19228

19228:                                            ; preds = %19227, %19169
  br label %19229

19229:                                            ; preds = %19228
  br label %19230

19230:                                            ; preds = %19229
  br label %19231

19231:                                            ; preds = %19230
  %19232 = load i32, ptr @test_count, align 4, !tbaa !5
  %19233 = add nsw i32 %19232, 1
  store i32 %19233, ptr @test_count, align 4, !tbaa !5
  %19234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19235 = load i32, ptr %19234, align 4, !tbaa !5
  %19236 = call ptr @s2n_strerror_debug(i32 noundef %19235, ptr noundef @.str.4)
  %19237 = icmp eq ptr %19236, null
  br i1 %19237, label %19238, label %19291

19238:                                            ; preds = %19231
  br label %19239

19239:                                            ; preds = %19238
  br label %19240

19240:                                            ; preds = %19239
  call void @llvm.lifetime.start.p0(i64 4, ptr %402) #11
  %19241 = call ptr @__errno_location() #12
  %19242 = load i32, ptr %19241, align 4, !tbaa !5
  store i32 %19242, ptr %402, align 4, !tbaa !5
  %19243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19244 = call i32 @s2n_print_stacktrace(ptr noundef %19243)
  %19245 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19246 = trunc i8 %19245 to i1
  br i1 %19246, label %19247, label %19269

19247:                                            ; preds = %19240
  %19248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19249 = call i32 @fileno(ptr noundef %19248) #11
  %19250 = call i32 @isatty(i32 noundef %19249) #11
  %19251 = icmp ne i32 %19250, 0
  br i1 %19251, label %19252, label %19269

19252:                                            ; preds = %19247
  %19253 = load i32, ptr %402, align 4, !tbaa !5
  %19254 = call ptr @__errno_location() #12
  store i32 %19253, ptr %19254, align 4, !tbaa !5
  %19255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19256 = load i32, ptr @test_count, align 4, !tbaa !5
  %19257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19258 = load i32, ptr %19257, align 4, !tbaa !5
  %19259 = call ptr @s2n_strerror(i32 noundef %19258, ptr noundef @.str.4)
  %19260 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19261 = load i32, ptr %19260, align 4, !tbaa !5
  %19262 = call ptr @s2n_strerror_debug(i32 noundef %19261, ptr noundef @.str.4)
  %19263 = call ptr @__errno_location() #12
  %19264 = load i32, ptr %19263, align 4, !tbaa !5
  %19265 = call ptr @strerror(i32 noundef %19264) #11
  %19266 = call ptr @__errno_location() #12
  %19267 = load i32, ptr %19266, align 4, !tbaa !5
  %19268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19255, ptr noundef @.str.2, i32 noundef %19256, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 603, ptr noundef %19259, ptr noundef %19262, ptr noundef %19265, i32 noundef %19267) #11
  br label %19286

19269:                                            ; preds = %19247, %19240
  %19270 = load i32, ptr %402, align 4, !tbaa !5
  %19271 = call ptr @__errno_location() #12
  store i32 %19270, ptr %19271, align 4, !tbaa !5
  %19272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19273 = load i32, ptr @test_count, align 4, !tbaa !5
  %19274 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19275 = load i32, ptr %19274, align 4, !tbaa !5
  %19276 = call ptr @s2n_strerror(i32 noundef %19275, ptr noundef @.str.4)
  %19277 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19278 = load i32, ptr %19277, align 4, !tbaa !5
  %19279 = call ptr @s2n_strerror_debug(i32 noundef %19278, ptr noundef @.str.4)
  %19280 = call ptr @__errno_location() #12
  %19281 = load i32, ptr %19280, align 4, !tbaa !5
  %19282 = call ptr @strerror(i32 noundef %19281) #11
  %19283 = call ptr @__errno_location() #12
  %19284 = load i32, ptr %19283, align 4, !tbaa !5
  %19285 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19272, ptr noundef @.str.5, i32 noundef %19273, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 603, ptr noundef %19276, ptr noundef %19279, ptr noundef %19282, i32 noundef %19284) #11
  br label %19286

19286:                                            ; preds = %19269, %19252
  call void @llvm.lifetime.end.p0(i64 4, ptr %402) #11
  br label %19287

19287:                                            ; preds = %19286
  br label %19288

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

19289:                                            ; No predecessors!
  br label %19290

19290:                                            ; preds = %19289
  br label %19291

19291:                                            ; preds = %19290, %19231
  br label %19292

19292:                                            ; preds = %19291
  br label %19293

19293:                                            ; preds = %19292
  br label %19294

19294:                                            ; preds = %19293
  br label %19295

19295:                                            ; preds = %19294
  br label %19296

19296:                                            ; preds = %19295
  %19297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19297, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19298 = call ptr @__errno_location() #12
  store i32 0, ptr %19298, align 4, !tbaa !5
  br label %19299

19299:                                            ; preds = %19296
  br label %19300

19300:                                            ; preds = %19299
  br label %19301

19301:                                            ; preds = %19300
  br label %19302

19302:                                            ; preds = %19301
  br label %19303

19303:                                            ; preds = %19302
  %19304 = load i32, ptr @test_count, align 4, !tbaa !5
  %19305 = add nsw i32 %19304, 1
  store i32 %19305, ptr @test_count, align 4, !tbaa !5
  %19306 = load i32, ptr %386, align 4, !tbaa !5
  %19307 = icmp eq i32 %19306, 2
  br i1 %19307, label %19361, label %19308

19308:                                            ; preds = %19303
  br label %19309

19309:                                            ; preds = %19308
  br label %19310

19310:                                            ; preds = %19309
  call void @llvm.lifetime.start.p0(i64 4, ptr %403) #11
  %19311 = call ptr @__errno_location() #12
  %19312 = load i32, ptr %19311, align 4, !tbaa !5
  store i32 %19312, ptr %403, align 4, !tbaa !5
  %19313 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19314 = call i32 @s2n_print_stacktrace(ptr noundef %19313)
  %19315 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19316 = trunc i8 %19315 to i1
  br i1 %19316, label %19317, label %19339

19317:                                            ; preds = %19310
  %19318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19319 = call i32 @fileno(ptr noundef %19318) #11
  %19320 = call i32 @isatty(i32 noundef %19319) #11
  %19321 = icmp ne i32 %19320, 0
  br i1 %19321, label %19322, label %19339

19322:                                            ; preds = %19317
  %19323 = load i32, ptr %403, align 4, !tbaa !5
  %19324 = call ptr @__errno_location() #12
  store i32 %19323, ptr %19324, align 4, !tbaa !5
  %19325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19326 = load i32, ptr @test_count, align 4, !tbaa !5
  %19327 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19328 = load i32, ptr %19327, align 4, !tbaa !5
  %19329 = call ptr @s2n_strerror(i32 noundef %19328, ptr noundef @.str.4)
  %19330 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19331 = load i32, ptr %19330, align 4, !tbaa !5
  %19332 = call ptr @s2n_strerror_debug(i32 noundef %19331, ptr noundef @.str.4)
  %19333 = call ptr @__errno_location() #12
  %19334 = load i32, ptr %19333, align 4, !tbaa !5
  %19335 = call ptr @strerror(i32 noundef %19334) #11
  %19336 = call ptr @__errno_location() #12
  %19337 = load i32, ptr %19336, align 4, !tbaa !5
  %19338 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19325, ptr noundef @.str.2, i32 noundef %19326, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 604, ptr noundef %19329, ptr noundef %19332, ptr noundef %19335, i32 noundef %19337) #11
  br label %19356

19339:                                            ; preds = %19317, %19310
  %19340 = load i32, ptr %403, align 4, !tbaa !5
  %19341 = call ptr @__errno_location() #12
  store i32 %19340, ptr %19341, align 4, !tbaa !5
  %19342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19343 = load i32, ptr @test_count, align 4, !tbaa !5
  %19344 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19345 = load i32, ptr %19344, align 4, !tbaa !5
  %19346 = call ptr @s2n_strerror(i32 noundef %19345, ptr noundef @.str.4)
  %19347 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19348 = load i32, ptr %19347, align 4, !tbaa !5
  %19349 = call ptr @s2n_strerror_debug(i32 noundef %19348, ptr noundef @.str.4)
  %19350 = call ptr @__errno_location() #12
  %19351 = load i32, ptr %19350, align 4, !tbaa !5
  %19352 = call ptr @strerror(i32 noundef %19351) #11
  %19353 = call ptr @__errno_location() #12
  %19354 = load i32, ptr %19353, align 4, !tbaa !5
  %19355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19342, ptr noundef @.str.5, i32 noundef %19343, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 604, ptr noundef %19346, ptr noundef %19349, ptr noundef %19352, i32 noundef %19354) #11
  br label %19356

19356:                                            ; preds = %19339, %19322
  call void @llvm.lifetime.end.p0(i64 4, ptr %403) #11
  br label %19357

19357:                                            ; preds = %19356
  br label %19358

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

19359:                                            ; No predecessors!
  br label %19360

19360:                                            ; preds = %19359
  br label %19361

19361:                                            ; preds = %19360, %19303
  br label %19362

19362:                                            ; preds = %19361
  br label %19363

19363:                                            ; preds = %19362
  br label %19364

19364:                                            ; preds = %19363
  %19365 = load i32, ptr @test_count, align 4, !tbaa !5
  %19366 = add nsw i32 %19365, 1
  store i32 %19366, ptr @test_count, align 4, !tbaa !5
  %19367 = load ptr, ptr %372, align 8, !tbaa !9
  %19368 = call i32 @s2n_conn_get_current_message_type(ptr noundef %19367)
  %19369 = icmp eq i32 %19368, 1
  br i1 %19369, label %19423, label %19370

19370:                                            ; preds = %19364
  br label %19371

19371:                                            ; preds = %19370
  br label %19372

19372:                                            ; preds = %19371
  call void @llvm.lifetime.start.p0(i64 4, ptr %404) #11
  %19373 = call ptr @__errno_location() #12
  %19374 = load i32, ptr %19373, align 4, !tbaa !5
  store i32 %19374, ptr %404, align 4, !tbaa !5
  %19375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19376 = call i32 @s2n_print_stacktrace(ptr noundef %19375)
  %19377 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19378 = trunc i8 %19377 to i1
  br i1 %19378, label %19379, label %19401

19379:                                            ; preds = %19372
  %19380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19381 = call i32 @fileno(ptr noundef %19380) #11
  %19382 = call i32 @isatty(i32 noundef %19381) #11
  %19383 = icmp ne i32 %19382, 0
  br i1 %19383, label %19384, label %19401

19384:                                            ; preds = %19379
  %19385 = load i32, ptr %404, align 4, !tbaa !5
  %19386 = call ptr @__errno_location() #12
  store i32 %19385, ptr %19386, align 4, !tbaa !5
  %19387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19388 = load i32, ptr @test_count, align 4, !tbaa !5
  %19389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19390 = load i32, ptr %19389, align 4, !tbaa !5
  %19391 = call ptr @s2n_strerror(i32 noundef %19390, ptr noundef @.str.4)
  %19392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19393 = load i32, ptr %19392, align 4, !tbaa !5
  %19394 = call ptr @s2n_strerror_debug(i32 noundef %19393, ptr noundef @.str.4)
  %19395 = call ptr @__errno_location() #12
  %19396 = load i32, ptr %19395, align 4, !tbaa !5
  %19397 = call ptr @strerror(i32 noundef %19396) #11
  %19398 = call ptr @__errno_location() #12
  %19399 = load i32, ptr %19398, align 4, !tbaa !5
  %19400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19387, ptr noundef @.str.2, i32 noundef %19388, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 604, ptr noundef %19391, ptr noundef %19394, ptr noundef %19397, i32 noundef %19399) #11
  br label %19418

19401:                                            ; preds = %19379, %19372
  %19402 = load i32, ptr %404, align 4, !tbaa !5
  %19403 = call ptr @__errno_location() #12
  store i32 %19402, ptr %19403, align 4, !tbaa !5
  %19404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19405 = load i32, ptr @test_count, align 4, !tbaa !5
  %19406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19407 = load i32, ptr %19406, align 4, !tbaa !5
  %19408 = call ptr @s2n_strerror(i32 noundef %19407, ptr noundef @.str.4)
  %19409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19410 = load i32, ptr %19409, align 4, !tbaa !5
  %19411 = call ptr @s2n_strerror_debug(i32 noundef %19410, ptr noundef @.str.4)
  %19412 = call ptr @__errno_location() #12
  %19413 = load i32, ptr %19412, align 4, !tbaa !5
  %19414 = call ptr @strerror(i32 noundef %19413) #11
  %19415 = call ptr @__errno_location() #12
  %19416 = load i32, ptr %19415, align 4, !tbaa !5
  %19417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19404, ptr noundef @.str.5, i32 noundef %19405, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 604, ptr noundef %19408, ptr noundef %19411, ptr noundef %19414, i32 noundef %19416) #11
  br label %19418

19418:                                            ; preds = %19401, %19384
  call void @llvm.lifetime.end.p0(i64 4, ptr %404) #11
  br label %19419

19419:                                            ; preds = %19418
  br label %19420

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

19421:                                            ; No predecessors!
  br label %19422

19422:                                            ; preds = %19421
  br label %19423

19423:                                            ; preds = %19422, %19364
  br label %19424

19424:                                            ; preds = %19423
  br label %19425

19425:                                            ; preds = %19424
  br label %19426

19426:                                            ; preds = %19425
  %19427 = load i32, ptr @test_count, align 4, !tbaa !5
  %19428 = add nsw i32 %19427, 1
  store i32 %19428, ptr @test_count, align 4, !tbaa !5
  %19429 = load i64, ptr %387, align 8, !tbaa !42
  %19430 = icmp eq i64 %19429, 0
  br i1 %19430, label %19484, label %19431

19431:                                            ; preds = %19426
  br label %19432

19432:                                            ; preds = %19431
  br label %19433

19433:                                            ; preds = %19432
  call void @llvm.lifetime.start.p0(i64 4, ptr %405) #11
  %19434 = call ptr @__errno_location() #12
  %19435 = load i32, ptr %19434, align 4, !tbaa !5
  store i32 %19435, ptr %405, align 4, !tbaa !5
  %19436 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19437 = call i32 @s2n_print_stacktrace(ptr noundef %19436)
  %19438 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19439 = trunc i8 %19438 to i1
  br i1 %19439, label %19440, label %19462

19440:                                            ; preds = %19433
  %19441 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19442 = call i32 @fileno(ptr noundef %19441) #11
  %19443 = call i32 @isatty(i32 noundef %19442) #11
  %19444 = icmp ne i32 %19443, 0
  br i1 %19444, label %19445, label %19462

19445:                                            ; preds = %19440
  %19446 = load i32, ptr %405, align 4, !tbaa !5
  %19447 = call ptr @__errno_location() #12
  store i32 %19446, ptr %19447, align 4, !tbaa !5
  %19448 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19449 = load i32, ptr @test_count, align 4, !tbaa !5
  %19450 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19451 = load i32, ptr %19450, align 4, !tbaa !5
  %19452 = call ptr @s2n_strerror(i32 noundef %19451, ptr noundef @.str.4)
  %19453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19454 = load i32, ptr %19453, align 4, !tbaa !5
  %19455 = call ptr @s2n_strerror_debug(i32 noundef %19454, ptr noundef @.str.4)
  %19456 = call ptr @__errno_location() #12
  %19457 = load i32, ptr %19456, align 4, !tbaa !5
  %19458 = call ptr @strerror(i32 noundef %19457) #11
  %19459 = call ptr @__errno_location() #12
  %19460 = load i32, ptr %19459, align 4, !tbaa !5
  %19461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19448, ptr noundef @.str.2, i32 noundef %19449, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 605, ptr noundef %19452, ptr noundef %19455, ptr noundef %19458, i32 noundef %19460) #11
  br label %19479

19462:                                            ; preds = %19440, %19433
  %19463 = load i32, ptr %405, align 4, !tbaa !5
  %19464 = call ptr @__errno_location() #12
  store i32 %19463, ptr %19464, align 4, !tbaa !5
  %19465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19466 = load i32, ptr @test_count, align 4, !tbaa !5
  %19467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19468 = load i32, ptr %19467, align 4, !tbaa !5
  %19469 = call ptr @s2n_strerror(i32 noundef %19468, ptr noundef @.str.4)
  %19470 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19471 = load i32, ptr %19470, align 4, !tbaa !5
  %19472 = call ptr @s2n_strerror_debug(i32 noundef %19471, ptr noundef @.str.4)
  %19473 = call ptr @__errno_location() #12
  %19474 = load i32, ptr %19473, align 4, !tbaa !5
  %19475 = call ptr @strerror(i32 noundef %19474) #11
  %19476 = call ptr @__errno_location() #12
  %19477 = load i32, ptr %19476, align 4, !tbaa !5
  %19478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19465, ptr noundef @.str.5, i32 noundef %19466, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 605, ptr noundef %19469, ptr noundef %19472, ptr noundef %19475, i32 noundef %19477) #11
  br label %19479

19479:                                            ; preds = %19462, %19445
  call void @llvm.lifetime.end.p0(i64 4, ptr %405) #11
  br label %19480

19480:                                            ; preds = %19479
  br label %19481

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

19482:                                            ; No predecessors!
  br label %19483

19483:                                            ; preds = %19482
  br label %19484

19484:                                            ; preds = %19483, %19426
  br label %19485

19485:                                            ; preds = %19484
  br label %19486

19486:                                            ; preds = %19485
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_reads, align 1, !tbaa !43
  br label %19487

19487:                                            ; preds = %19486
  br label %19488

19488:                                            ; preds = %19487
  br label %19489

19489:                                            ; preds = %19488
  %19490 = load i32, ptr @test_count, align 4, !tbaa !5
  %19491 = add nsw i32 %19490, 1
  store i32 %19491, ptr @test_count, align 4, !tbaa !5
  %19492 = load ptr, ptr %372, align 8, !tbaa !9
  %19493 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %19494 = call i32 @s2n_send_early_data(ptr noundef %19492, ptr noundef %19493, i64 noundef 12, ptr noundef %387, ptr noundef %386)
  %19495 = icmp eq i32 %19494, -1
  br i1 %19495, label %19549, label %19496

19496:                                            ; preds = %19489
  br label %19497

19497:                                            ; preds = %19496
  br label %19498

19498:                                            ; preds = %19497
  call void @llvm.lifetime.start.p0(i64 4, ptr %406) #11
  %19499 = call ptr @__errno_location() #12
  %19500 = load i32, ptr %19499, align 4, !tbaa !5
  store i32 %19500, ptr %406, align 4, !tbaa !5
  %19501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19502 = call i32 @s2n_print_stacktrace(ptr noundef %19501)
  %19503 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19504 = trunc i8 %19503 to i1
  br i1 %19504, label %19505, label %19527

19505:                                            ; preds = %19498
  %19506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19507 = call i32 @fileno(ptr noundef %19506) #11
  %19508 = call i32 @isatty(i32 noundef %19507) #11
  %19509 = icmp ne i32 %19508, 0
  br i1 %19509, label %19510, label %19527

19510:                                            ; preds = %19505
  %19511 = load i32, ptr %406, align 4, !tbaa !5
  %19512 = call ptr @__errno_location() #12
  store i32 %19511, ptr %19512, align 4, !tbaa !5
  %19513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19514 = load i32, ptr @test_count, align 4, !tbaa !5
  %19515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19516 = load i32, ptr %19515, align 4, !tbaa !5
  %19517 = call ptr @s2n_strerror(i32 noundef %19516, ptr noundef @.str.4)
  %19518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19519 = load i32, ptr %19518, align 4, !tbaa !5
  %19520 = call ptr @s2n_strerror_debug(i32 noundef %19519, ptr noundef @.str.4)
  %19521 = call ptr @__errno_location() #12
  %19522 = load i32, ptr %19521, align 4, !tbaa !5
  %19523 = call ptr @strerror(i32 noundef %19522) #11
  %19524 = call ptr @__errno_location() #12
  %19525 = load i32, ptr %19524, align 4, !tbaa !5
  %19526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19513, ptr noundef @.str.2, i32 noundef %19514, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 610, ptr noundef %19517, ptr noundef %19520, ptr noundef %19523, i32 noundef %19525) #11
  br label %19544

19527:                                            ; preds = %19505, %19498
  %19528 = load i32, ptr %406, align 4, !tbaa !5
  %19529 = call ptr @__errno_location() #12
  store i32 %19528, ptr %19529, align 4, !tbaa !5
  %19530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19531 = load i32, ptr @test_count, align 4, !tbaa !5
  %19532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19533 = load i32, ptr %19532, align 4, !tbaa !5
  %19534 = call ptr @s2n_strerror(i32 noundef %19533, ptr noundef @.str.4)
  %19535 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19536 = load i32, ptr %19535, align 4, !tbaa !5
  %19537 = call ptr @s2n_strerror_debug(i32 noundef %19536, ptr noundef @.str.4)
  %19538 = call ptr @__errno_location() #12
  %19539 = load i32, ptr %19538, align 4, !tbaa !5
  %19540 = call ptr @strerror(i32 noundef %19539) #11
  %19541 = call ptr @__errno_location() #12
  %19542 = load i32, ptr %19541, align 4, !tbaa !5
  %19543 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19530, ptr noundef @.str.5, i32 noundef %19531, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 610, ptr noundef %19534, ptr noundef %19537, ptr noundef %19540, i32 noundef %19542) #11
  br label %19544

19544:                                            ; preds = %19527, %19510
  call void @llvm.lifetime.end.p0(i64 4, ptr %406) #11
  br label %19545

19545:                                            ; preds = %19544
  br label %19546

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

19547:                                            ; No predecessors!
  br label %19548

19548:                                            ; preds = %19547
  br label %19549

19549:                                            ; preds = %19548, %19489
  br label %19550

19550:                                            ; preds = %19549
  br label %19551

19551:                                            ; preds = %19550
  br label %19552

19552:                                            ; preds = %19551
  %19553 = load i32, ptr @test_count, align 4, !tbaa !5
  %19554 = add nsw i32 %19553, 1
  store i32 %19554, ptr @test_count, align 4, !tbaa !5
  %19555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19556 = load i32, ptr %19555, align 4, !tbaa !5
  %19557 = icmp eq i32 %19556, 201326592
  br i1 %19557, label %19611, label %19558

19558:                                            ; preds = %19552
  br label %19559

19559:                                            ; preds = %19558
  br label %19560

19560:                                            ; preds = %19559
  call void @llvm.lifetime.start.p0(i64 4, ptr %407) #11
  %19561 = call ptr @__errno_location() #12
  %19562 = load i32, ptr %19561, align 4, !tbaa !5
  store i32 %19562, ptr %407, align 4, !tbaa !5
  %19563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19564 = call i32 @s2n_print_stacktrace(ptr noundef %19563)
  %19565 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19566 = trunc i8 %19565 to i1
  br i1 %19566, label %19567, label %19589

19567:                                            ; preds = %19560
  %19568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19569 = call i32 @fileno(ptr noundef %19568) #11
  %19570 = call i32 @isatty(i32 noundef %19569) #11
  %19571 = icmp ne i32 %19570, 0
  br i1 %19571, label %19572, label %19589

19572:                                            ; preds = %19567
  %19573 = load i32, ptr %407, align 4, !tbaa !5
  %19574 = call ptr @__errno_location() #12
  store i32 %19573, ptr %19574, align 4, !tbaa !5
  %19575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19576 = load i32, ptr @test_count, align 4, !tbaa !5
  %19577 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19578 = load i32, ptr %19577, align 4, !tbaa !5
  %19579 = call ptr @s2n_strerror(i32 noundef %19578, ptr noundef @.str.4)
  %19580 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19581 = load i32, ptr %19580, align 4, !tbaa !5
  %19582 = call ptr @s2n_strerror_debug(i32 noundef %19581, ptr noundef @.str.4)
  %19583 = call ptr @__errno_location() #12
  %19584 = load i32, ptr %19583, align 4, !tbaa !5
  %19585 = call ptr @strerror(i32 noundef %19584) #11
  %19586 = call ptr @__errno_location() #12
  %19587 = load i32, ptr %19586, align 4, !tbaa !5
  %19588 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19575, ptr noundef @.str.2, i32 noundef %19576, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 610, ptr noundef %19579, ptr noundef %19582, ptr noundef %19585, i32 noundef %19587) #11
  br label %19606

19589:                                            ; preds = %19567, %19560
  %19590 = load i32, ptr %407, align 4, !tbaa !5
  %19591 = call ptr @__errno_location() #12
  store i32 %19590, ptr %19591, align 4, !tbaa !5
  %19592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19593 = load i32, ptr @test_count, align 4, !tbaa !5
  %19594 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19595 = load i32, ptr %19594, align 4, !tbaa !5
  %19596 = call ptr @s2n_strerror(i32 noundef %19595, ptr noundef @.str.4)
  %19597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19598 = load i32, ptr %19597, align 4, !tbaa !5
  %19599 = call ptr @s2n_strerror_debug(i32 noundef %19598, ptr noundef @.str.4)
  %19600 = call ptr @__errno_location() #12
  %19601 = load i32, ptr %19600, align 4, !tbaa !5
  %19602 = call ptr @strerror(i32 noundef %19601) #11
  %19603 = call ptr @__errno_location() #12
  %19604 = load i32, ptr %19603, align 4, !tbaa !5
  %19605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19592, ptr noundef @.str.5, i32 noundef %19593, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 610, ptr noundef %19596, ptr noundef %19599, ptr noundef %19602, i32 noundef %19604) #11
  br label %19606

19606:                                            ; preds = %19589, %19572
  call void @llvm.lifetime.end.p0(i64 4, ptr %407) #11
  br label %19607

19607:                                            ; preds = %19606
  br label %19608

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

19609:                                            ; No predecessors!
  br label %19610

19610:                                            ; preds = %19609
  br label %19611

19611:                                            ; preds = %19610, %19552
  br label %19612

19612:                                            ; preds = %19611
  br label %19613

19613:                                            ; preds = %19612
  br label %19614

19614:                                            ; preds = %19613
  %19615 = load i32, ptr @test_count, align 4, !tbaa !5
  %19616 = add nsw i32 %19615, 1
  store i32 %19616, ptr @test_count, align 4, !tbaa !5
  %19617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19618 = load i32, ptr %19617, align 4, !tbaa !5
  %19619 = call ptr @s2n_strerror_debug(i32 noundef %19618, ptr noundef @.str.4)
  %19620 = icmp eq ptr %19619, null
  br i1 %19620, label %19621, label %19674

19621:                                            ; preds = %19614
  br label %19622

19622:                                            ; preds = %19621
  br label %19623

19623:                                            ; preds = %19622
  call void @llvm.lifetime.start.p0(i64 4, ptr %408) #11
  %19624 = call ptr @__errno_location() #12
  %19625 = load i32, ptr %19624, align 4, !tbaa !5
  store i32 %19625, ptr %408, align 4, !tbaa !5
  %19626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19627 = call i32 @s2n_print_stacktrace(ptr noundef %19626)
  %19628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19629 = trunc i8 %19628 to i1
  br i1 %19629, label %19630, label %19652

19630:                                            ; preds = %19623
  %19631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19632 = call i32 @fileno(ptr noundef %19631) #11
  %19633 = call i32 @isatty(i32 noundef %19632) #11
  %19634 = icmp ne i32 %19633, 0
  br i1 %19634, label %19635, label %19652

19635:                                            ; preds = %19630
  %19636 = load i32, ptr %408, align 4, !tbaa !5
  %19637 = call ptr @__errno_location() #12
  store i32 %19636, ptr %19637, align 4, !tbaa !5
  %19638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19639 = load i32, ptr @test_count, align 4, !tbaa !5
  %19640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19641 = load i32, ptr %19640, align 4, !tbaa !5
  %19642 = call ptr @s2n_strerror(i32 noundef %19641, ptr noundef @.str.4)
  %19643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19644 = load i32, ptr %19643, align 4, !tbaa !5
  %19645 = call ptr @s2n_strerror_debug(i32 noundef %19644, ptr noundef @.str.4)
  %19646 = call ptr @__errno_location() #12
  %19647 = load i32, ptr %19646, align 4, !tbaa !5
  %19648 = call ptr @strerror(i32 noundef %19647) #11
  %19649 = call ptr @__errno_location() #12
  %19650 = load i32, ptr %19649, align 4, !tbaa !5
  %19651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19638, ptr noundef @.str.2, i32 noundef %19639, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 610, ptr noundef %19642, ptr noundef %19645, ptr noundef %19648, i32 noundef %19650) #11
  br label %19669

19652:                                            ; preds = %19630, %19623
  %19653 = load i32, ptr %408, align 4, !tbaa !5
  %19654 = call ptr @__errno_location() #12
  store i32 %19653, ptr %19654, align 4, !tbaa !5
  %19655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19656 = load i32, ptr @test_count, align 4, !tbaa !5
  %19657 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19658 = load i32, ptr %19657, align 4, !tbaa !5
  %19659 = call ptr @s2n_strerror(i32 noundef %19658, ptr noundef @.str.4)
  %19660 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19661 = load i32, ptr %19660, align 4, !tbaa !5
  %19662 = call ptr @s2n_strerror_debug(i32 noundef %19661, ptr noundef @.str.4)
  %19663 = call ptr @__errno_location() #12
  %19664 = load i32, ptr %19663, align 4, !tbaa !5
  %19665 = call ptr @strerror(i32 noundef %19664) #11
  %19666 = call ptr @__errno_location() #12
  %19667 = load i32, ptr %19666, align 4, !tbaa !5
  %19668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19655, ptr noundef @.str.5, i32 noundef %19656, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 610, ptr noundef %19659, ptr noundef %19662, ptr noundef %19665, i32 noundef %19667) #11
  br label %19669

19669:                                            ; preds = %19652, %19635
  call void @llvm.lifetime.end.p0(i64 4, ptr %408) #11
  br label %19670

19670:                                            ; preds = %19669
  br label %19671

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

19672:                                            ; No predecessors!
  br label %19673

19673:                                            ; preds = %19672
  br label %19674

19674:                                            ; preds = %19673, %19614
  br label %19675

19675:                                            ; preds = %19674
  br label %19676

19676:                                            ; preds = %19675
  br label %19677

19677:                                            ; preds = %19676
  br label %19678

19678:                                            ; preds = %19677
  br label %19679

19679:                                            ; preds = %19678
  %19680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %19680, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %19681 = call ptr @__errno_location() #12
  store i32 0, ptr %19681, align 4, !tbaa !5
  br label %19682

19682:                                            ; preds = %19679
  br label %19683

19683:                                            ; preds = %19682
  br label %19684

19684:                                            ; preds = %19683
  br label %19685

19685:                                            ; preds = %19684
  br label %19686

19686:                                            ; preds = %19685
  %19687 = load i32, ptr @test_count, align 4, !tbaa !5
  %19688 = add nsw i32 %19687, 1
  store i32 %19688, ptr @test_count, align 4, !tbaa !5
  %19689 = load i32, ptr %386, align 4, !tbaa !5
  %19690 = icmp eq i32 %19689, 1
  br i1 %19690, label %19744, label %19691

19691:                                            ; preds = %19686
  br label %19692

19692:                                            ; preds = %19691
  br label %19693

19693:                                            ; preds = %19692
  call void @llvm.lifetime.start.p0(i64 4, ptr %409) #11
  %19694 = call ptr @__errno_location() #12
  %19695 = load i32, ptr %19694, align 4, !tbaa !5
  store i32 %19695, ptr %409, align 4, !tbaa !5
  %19696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19697 = call i32 @s2n_print_stacktrace(ptr noundef %19696)
  %19698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19699 = trunc i8 %19698 to i1
  br i1 %19699, label %19700, label %19722

19700:                                            ; preds = %19693
  %19701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19702 = call i32 @fileno(ptr noundef %19701) #11
  %19703 = call i32 @isatty(i32 noundef %19702) #11
  %19704 = icmp ne i32 %19703, 0
  br i1 %19704, label %19705, label %19722

19705:                                            ; preds = %19700
  %19706 = load i32, ptr %409, align 4, !tbaa !5
  %19707 = call ptr @__errno_location() #12
  store i32 %19706, ptr %19707, align 4, !tbaa !5
  %19708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19709 = load i32, ptr @test_count, align 4, !tbaa !5
  %19710 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19711 = load i32, ptr %19710, align 4, !tbaa !5
  %19712 = call ptr @s2n_strerror(i32 noundef %19711, ptr noundef @.str.4)
  %19713 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19714 = load i32, ptr %19713, align 4, !tbaa !5
  %19715 = call ptr @s2n_strerror_debug(i32 noundef %19714, ptr noundef @.str.4)
  %19716 = call ptr @__errno_location() #12
  %19717 = load i32, ptr %19716, align 4, !tbaa !5
  %19718 = call ptr @strerror(i32 noundef %19717) #11
  %19719 = call ptr @__errno_location() #12
  %19720 = load i32, ptr %19719, align 4, !tbaa !5
  %19721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19708, ptr noundef @.str.2, i32 noundef %19709, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 611, ptr noundef %19712, ptr noundef %19715, ptr noundef %19718, i32 noundef %19720) #11
  br label %19739

19722:                                            ; preds = %19700, %19693
  %19723 = load i32, ptr %409, align 4, !tbaa !5
  %19724 = call ptr @__errno_location() #12
  store i32 %19723, ptr %19724, align 4, !tbaa !5
  %19725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19726 = load i32, ptr @test_count, align 4, !tbaa !5
  %19727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19728 = load i32, ptr %19727, align 4, !tbaa !5
  %19729 = call ptr @s2n_strerror(i32 noundef %19728, ptr noundef @.str.4)
  %19730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19731 = load i32, ptr %19730, align 4, !tbaa !5
  %19732 = call ptr @s2n_strerror_debug(i32 noundef %19731, ptr noundef @.str.4)
  %19733 = call ptr @__errno_location() #12
  %19734 = load i32, ptr %19733, align 4, !tbaa !5
  %19735 = call ptr @strerror(i32 noundef %19734) #11
  %19736 = call ptr @__errno_location() #12
  %19737 = load i32, ptr %19736, align 4, !tbaa !5
  %19738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19725, ptr noundef @.str.5, i32 noundef %19726, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 611, ptr noundef %19729, ptr noundef %19732, ptr noundef %19735, i32 noundef %19737) #11
  br label %19739

19739:                                            ; preds = %19722, %19705
  call void @llvm.lifetime.end.p0(i64 4, ptr %409) #11
  br label %19740

19740:                                            ; preds = %19739
  br label %19741

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

19742:                                            ; No predecessors!
  br label %19743

19743:                                            ; preds = %19742
  br label %19744

19744:                                            ; preds = %19743, %19686
  br label %19745

19745:                                            ; preds = %19744
  br label %19746

19746:                                            ; preds = %19745
  br label %19747

19747:                                            ; preds = %19746
  %19748 = load i32, ptr @test_count, align 4, !tbaa !5
  %19749 = add nsw i32 %19748, 1
  store i32 %19749, ptr @test_count, align 4, !tbaa !5
  %19750 = load ptr, ptr %372, align 8, !tbaa !9
  %19751 = call i32 @s2n_conn_get_current_message_type(ptr noundef %19750)
  %19752 = icmp eq i32 %19751, 1
  br i1 %19752, label %19806, label %19753

19753:                                            ; preds = %19747
  br label %19754

19754:                                            ; preds = %19753
  br label %19755

19755:                                            ; preds = %19754
  call void @llvm.lifetime.start.p0(i64 4, ptr %410) #11
  %19756 = call ptr @__errno_location() #12
  %19757 = load i32, ptr %19756, align 4, !tbaa !5
  store i32 %19757, ptr %410, align 4, !tbaa !5
  %19758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19759 = call i32 @s2n_print_stacktrace(ptr noundef %19758)
  %19760 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19761 = trunc i8 %19760 to i1
  br i1 %19761, label %19762, label %19784

19762:                                            ; preds = %19755
  %19763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19764 = call i32 @fileno(ptr noundef %19763) #11
  %19765 = call i32 @isatty(i32 noundef %19764) #11
  %19766 = icmp ne i32 %19765, 0
  br i1 %19766, label %19767, label %19784

19767:                                            ; preds = %19762
  %19768 = load i32, ptr %410, align 4, !tbaa !5
  %19769 = call ptr @__errno_location() #12
  store i32 %19768, ptr %19769, align 4, !tbaa !5
  %19770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19771 = load i32, ptr @test_count, align 4, !tbaa !5
  %19772 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19773 = load i32, ptr %19772, align 4, !tbaa !5
  %19774 = call ptr @s2n_strerror(i32 noundef %19773, ptr noundef @.str.4)
  %19775 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19776 = load i32, ptr %19775, align 4, !tbaa !5
  %19777 = call ptr @s2n_strerror_debug(i32 noundef %19776, ptr noundef @.str.4)
  %19778 = call ptr @__errno_location() #12
  %19779 = load i32, ptr %19778, align 4, !tbaa !5
  %19780 = call ptr @strerror(i32 noundef %19779) #11
  %19781 = call ptr @__errno_location() #12
  %19782 = load i32, ptr %19781, align 4, !tbaa !5
  %19783 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19770, ptr noundef @.str.2, i32 noundef %19771, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 611, ptr noundef %19774, ptr noundef %19777, ptr noundef %19780, i32 noundef %19782) #11
  br label %19801

19784:                                            ; preds = %19762, %19755
  %19785 = load i32, ptr %410, align 4, !tbaa !5
  %19786 = call ptr @__errno_location() #12
  store i32 %19785, ptr %19786, align 4, !tbaa !5
  %19787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19788 = load i32, ptr @test_count, align 4, !tbaa !5
  %19789 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19790 = load i32, ptr %19789, align 4, !tbaa !5
  %19791 = call ptr @s2n_strerror(i32 noundef %19790, ptr noundef @.str.4)
  %19792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19793 = load i32, ptr %19792, align 4, !tbaa !5
  %19794 = call ptr @s2n_strerror_debug(i32 noundef %19793, ptr noundef @.str.4)
  %19795 = call ptr @__errno_location() #12
  %19796 = load i32, ptr %19795, align 4, !tbaa !5
  %19797 = call ptr @strerror(i32 noundef %19796) #11
  %19798 = call ptr @__errno_location() #12
  %19799 = load i32, ptr %19798, align 4, !tbaa !5
  %19800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19787, ptr noundef @.str.5, i32 noundef %19788, ptr noundef @.str.63, ptr noundef @.str.1, i32 noundef 611, ptr noundef %19791, ptr noundef %19794, ptr noundef %19797, i32 noundef %19799) #11
  br label %19801

19801:                                            ; preds = %19784, %19767
  call void @llvm.lifetime.end.p0(i64 4, ptr %410) #11
  br label %19802

19802:                                            ; preds = %19801
  br label %19803

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

19804:                                            ; No predecessors!
  br label %19805

19805:                                            ; preds = %19804
  br label %19806

19806:                                            ; preds = %19805, %19747
  br label %19807

19807:                                            ; preds = %19806
  br label %19808

19808:                                            ; preds = %19807
  br label %19809

19809:                                            ; preds = %19808
  %19810 = load i32, ptr @test_count, align 4, !tbaa !5
  %19811 = add nsw i32 %19810, 1
  store i32 %19811, ptr @test_count, align 4, !tbaa !5
  %19812 = load i64, ptr %387, align 8, !tbaa !42
  %19813 = icmp eq i64 %19812, 12
  br i1 %19813, label %19867, label %19814

19814:                                            ; preds = %19809
  br label %19815

19815:                                            ; preds = %19814
  br label %19816

19816:                                            ; preds = %19815
  call void @llvm.lifetime.start.p0(i64 4, ptr %411) #11
  %19817 = call ptr @__errno_location() #12
  %19818 = load i32, ptr %19817, align 4, !tbaa !5
  store i32 %19818, ptr %411, align 4, !tbaa !5
  %19819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19820 = call i32 @s2n_print_stacktrace(ptr noundef %19819)
  %19821 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19822 = trunc i8 %19821 to i1
  br i1 %19822, label %19823, label %19845

19823:                                            ; preds = %19816
  %19824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19825 = call i32 @fileno(ptr noundef %19824) #11
  %19826 = call i32 @isatty(i32 noundef %19825) #11
  %19827 = icmp ne i32 %19826, 0
  br i1 %19827, label %19828, label %19845

19828:                                            ; preds = %19823
  %19829 = load i32, ptr %411, align 4, !tbaa !5
  %19830 = call ptr @__errno_location() #12
  store i32 %19829, ptr %19830, align 4, !tbaa !5
  %19831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19832 = load i32, ptr @test_count, align 4, !tbaa !5
  %19833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19834 = load i32, ptr %19833, align 4, !tbaa !5
  %19835 = call ptr @s2n_strerror(i32 noundef %19834, ptr noundef @.str.4)
  %19836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19837 = load i32, ptr %19836, align 4, !tbaa !5
  %19838 = call ptr @s2n_strerror_debug(i32 noundef %19837, ptr noundef @.str.4)
  %19839 = call ptr @__errno_location() #12
  %19840 = load i32, ptr %19839, align 4, !tbaa !5
  %19841 = call ptr @strerror(i32 noundef %19840) #11
  %19842 = call ptr @__errno_location() #12
  %19843 = load i32, ptr %19842, align 4, !tbaa !5
  %19844 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19831, ptr noundef @.str.2, i32 noundef %19832, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 612, ptr noundef %19835, ptr noundef %19838, ptr noundef %19841, i32 noundef %19843) #11
  br label %19862

19845:                                            ; preds = %19823, %19816
  %19846 = load i32, ptr %411, align 4, !tbaa !5
  %19847 = call ptr @__errno_location() #12
  store i32 %19846, ptr %19847, align 4, !tbaa !5
  %19848 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19849 = load i32, ptr @test_count, align 4, !tbaa !5
  %19850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19851 = load i32, ptr %19850, align 4, !tbaa !5
  %19852 = call ptr @s2n_strerror(i32 noundef %19851, ptr noundef @.str.4)
  %19853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19854 = load i32, ptr %19853, align 4, !tbaa !5
  %19855 = call ptr @s2n_strerror_debug(i32 noundef %19854, ptr noundef @.str.4)
  %19856 = call ptr @__errno_location() #12
  %19857 = load i32, ptr %19856, align 4, !tbaa !5
  %19858 = call ptr @strerror(i32 noundef %19857) #11
  %19859 = call ptr @__errno_location() #12
  %19860 = load i32, ptr %19859, align 4, !tbaa !5
  %19861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19848, ptr noundef @.str.5, i32 noundef %19849, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 612, ptr noundef %19852, ptr noundef %19855, ptr noundef %19858, i32 noundef %19860) #11
  br label %19862

19862:                                            ; preds = %19845, %19828
  call void @llvm.lifetime.end.p0(i64 4, ptr %411) #11
  br label %19863

19863:                                            ; preds = %19862
  br label %19864

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

19865:                                            ; No predecessors!
  br label %19866

19866:                                            ; preds = %19865
  br label %19867

19867:                                            ; preds = %19866, %19809
  br label %19868

19868:                                            ; preds = %19867
  br label %19869

19869:                                            ; preds = %19868
  store i8 0, ptr @s2n_allowed_reads, align 1, !tbaa !43
  br label %19870

19870:                                            ; preds = %19869
  br label %19871

19871:                                            ; preds = %19870
  br label %19872

19872:                                            ; preds = %19871
  %19873 = load i32, ptr @test_count, align 4, !tbaa !5
  %19874 = add nsw i32 %19873, 1
  store i32 %19874, ptr @test_count, align 4, !tbaa !5
  %19875 = load ptr, ptr %376, align 8, !tbaa !9
  %19876 = getelementptr inbounds [100 x i8], ptr %385, i64 0, i64 0
  %19877 = call i32 @s2n_recv_early_data(ptr noundef %19875, ptr noundef %19876, i64 noundef 100, ptr noundef %387, ptr noundef %386)
  %19878 = icmp eq i32 %19877, -1
  br i1 %19878, label %19932, label %19879

19879:                                            ; preds = %19872
  br label %19880

19880:                                            ; preds = %19879
  br label %19881

19881:                                            ; preds = %19880
  call void @llvm.lifetime.start.p0(i64 4, ptr %412) #11
  %19882 = call ptr @__errno_location() #12
  %19883 = load i32, ptr %19882, align 4, !tbaa !5
  store i32 %19883, ptr %412, align 4, !tbaa !5
  %19884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19885 = call i32 @s2n_print_stacktrace(ptr noundef %19884)
  %19886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19887 = trunc i8 %19886 to i1
  br i1 %19887, label %19888, label %19910

19888:                                            ; preds = %19881
  %19889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19890 = call i32 @fileno(ptr noundef %19889) #11
  %19891 = call i32 @isatty(i32 noundef %19890) #11
  %19892 = icmp ne i32 %19891, 0
  br i1 %19892, label %19893, label %19910

19893:                                            ; preds = %19888
  %19894 = load i32, ptr %412, align 4, !tbaa !5
  %19895 = call ptr @__errno_location() #12
  store i32 %19894, ptr %19895, align 4, !tbaa !5
  %19896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19897 = load i32, ptr @test_count, align 4, !tbaa !5
  %19898 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19899 = load i32, ptr %19898, align 4, !tbaa !5
  %19900 = call ptr @s2n_strerror(i32 noundef %19899, ptr noundef @.str.4)
  %19901 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19902 = load i32, ptr %19901, align 4, !tbaa !5
  %19903 = call ptr @s2n_strerror_debug(i32 noundef %19902, ptr noundef @.str.4)
  %19904 = call ptr @__errno_location() #12
  %19905 = load i32, ptr %19904, align 4, !tbaa !5
  %19906 = call ptr @strerror(i32 noundef %19905) #11
  %19907 = call ptr @__errno_location() #12
  %19908 = load i32, ptr %19907, align 4, !tbaa !5
  %19909 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19896, ptr noundef @.str.2, i32 noundef %19897, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 616, ptr noundef %19900, ptr noundef %19903, ptr noundef %19906, i32 noundef %19908) #11
  br label %19927

19910:                                            ; preds = %19888, %19881
  %19911 = load i32, ptr %412, align 4, !tbaa !5
  %19912 = call ptr @__errno_location() #12
  store i32 %19911, ptr %19912, align 4, !tbaa !5
  %19913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19914 = load i32, ptr @test_count, align 4, !tbaa !5
  %19915 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19916 = load i32, ptr %19915, align 4, !tbaa !5
  %19917 = call ptr @s2n_strerror(i32 noundef %19916, ptr noundef @.str.4)
  %19918 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19919 = load i32, ptr %19918, align 4, !tbaa !5
  %19920 = call ptr @s2n_strerror_debug(i32 noundef %19919, ptr noundef @.str.4)
  %19921 = call ptr @__errno_location() #12
  %19922 = load i32, ptr %19921, align 4, !tbaa !5
  %19923 = call ptr @strerror(i32 noundef %19922) #11
  %19924 = call ptr @__errno_location() #12
  %19925 = load i32, ptr %19924, align 4, !tbaa !5
  %19926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19913, ptr noundef @.str.5, i32 noundef %19914, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 616, ptr noundef %19917, ptr noundef %19920, ptr noundef %19923, i32 noundef %19925) #11
  br label %19927

19927:                                            ; preds = %19910, %19893
  call void @llvm.lifetime.end.p0(i64 4, ptr %412) #11
  br label %19928

19928:                                            ; preds = %19927
  br label %19929

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

19930:                                            ; No predecessors!
  br label %19931

19931:                                            ; preds = %19930
  br label %19932

19932:                                            ; preds = %19931, %19872
  br label %19933

19933:                                            ; preds = %19932
  br label %19934

19934:                                            ; preds = %19933
  br label %19935

19935:                                            ; preds = %19934
  %19936 = load i32, ptr @test_count, align 4, !tbaa !5
  %19937 = add nsw i32 %19936, 1
  store i32 %19937, ptr @test_count, align 4, !tbaa !5
  %19938 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19939 = load i32, ptr %19938, align 4, !tbaa !5
  %19940 = icmp eq i32 %19939, 201326592
  br i1 %19940, label %19994, label %19941

19941:                                            ; preds = %19935
  br label %19942

19942:                                            ; preds = %19941
  br label %19943

19943:                                            ; preds = %19942
  call void @llvm.lifetime.start.p0(i64 4, ptr %413) #11
  %19944 = call ptr @__errno_location() #12
  %19945 = load i32, ptr %19944, align 4, !tbaa !5
  store i32 %19945, ptr %413, align 4, !tbaa !5
  %19946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19947 = call i32 @s2n_print_stacktrace(ptr noundef %19946)
  %19948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %19949 = trunc i8 %19948 to i1
  br i1 %19949, label %19950, label %19972

19950:                                            ; preds = %19943
  %19951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19952 = call i32 @fileno(ptr noundef %19951) #11
  %19953 = call i32 @isatty(i32 noundef %19952) #11
  %19954 = icmp ne i32 %19953, 0
  br i1 %19954, label %19955, label %19972

19955:                                            ; preds = %19950
  %19956 = load i32, ptr %413, align 4, !tbaa !5
  %19957 = call ptr @__errno_location() #12
  store i32 %19956, ptr %19957, align 4, !tbaa !5
  %19958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19959 = load i32, ptr @test_count, align 4, !tbaa !5
  %19960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19961 = load i32, ptr %19960, align 4, !tbaa !5
  %19962 = call ptr @s2n_strerror(i32 noundef %19961, ptr noundef @.str.4)
  %19963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19964 = load i32, ptr %19963, align 4, !tbaa !5
  %19965 = call ptr @s2n_strerror_debug(i32 noundef %19964, ptr noundef @.str.4)
  %19966 = call ptr @__errno_location() #12
  %19967 = load i32, ptr %19966, align 4, !tbaa !5
  %19968 = call ptr @strerror(i32 noundef %19967) #11
  %19969 = call ptr @__errno_location() #12
  %19970 = load i32, ptr %19969, align 4, !tbaa !5
  %19971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19958, ptr noundef @.str.2, i32 noundef %19959, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 616, ptr noundef %19962, ptr noundef %19965, ptr noundef %19968, i32 noundef %19970) #11
  br label %19989

19972:                                            ; preds = %19950, %19943
  %19973 = load i32, ptr %413, align 4, !tbaa !5
  %19974 = call ptr @__errno_location() #12
  store i32 %19973, ptr %19974, align 4, !tbaa !5
  %19975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %19976 = load i32, ptr @test_count, align 4, !tbaa !5
  %19977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19978 = load i32, ptr %19977, align 4, !tbaa !5
  %19979 = call ptr @s2n_strerror(i32 noundef %19978, ptr noundef @.str.4)
  %19980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %19981 = load i32, ptr %19980, align 4, !tbaa !5
  %19982 = call ptr @s2n_strerror_debug(i32 noundef %19981, ptr noundef @.str.4)
  %19983 = call ptr @__errno_location() #12
  %19984 = load i32, ptr %19983, align 4, !tbaa !5
  %19985 = call ptr @strerror(i32 noundef %19984) #11
  %19986 = call ptr @__errno_location() #12
  %19987 = load i32, ptr %19986, align 4, !tbaa !5
  %19988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %19975, ptr noundef @.str.5, i32 noundef %19976, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 616, ptr noundef %19979, ptr noundef %19982, ptr noundef %19985, i32 noundef %19987) #11
  br label %19989

19989:                                            ; preds = %19972, %19955
  call void @llvm.lifetime.end.p0(i64 4, ptr %413) #11
  br label %19990

19990:                                            ; preds = %19989
  br label %19991

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

19992:                                            ; No predecessors!
  br label %19993

19993:                                            ; preds = %19992
  br label %19994

19994:                                            ; preds = %19993, %19935
  br label %19995

19995:                                            ; preds = %19994
  br label %19996

19996:                                            ; preds = %19995
  br label %19997

19997:                                            ; preds = %19996
  %19998 = load i32, ptr @test_count, align 4, !tbaa !5
  %19999 = add nsw i32 %19998, 1
  store i32 %19999, ptr @test_count, align 4, !tbaa !5
  %20000 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20001 = load i32, ptr %20000, align 4, !tbaa !5
  %20002 = call ptr @s2n_strerror_debug(i32 noundef %20001, ptr noundef @.str.4)
  %20003 = icmp eq ptr %20002, null
  br i1 %20003, label %20004, label %20057

20004:                                            ; preds = %19997
  br label %20005

20005:                                            ; preds = %20004
  br label %20006

20006:                                            ; preds = %20005
  call void @llvm.lifetime.start.p0(i64 4, ptr %414) #11
  %20007 = call ptr @__errno_location() #12
  %20008 = load i32, ptr %20007, align 4, !tbaa !5
  store i32 %20008, ptr %414, align 4, !tbaa !5
  %20009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20010 = call i32 @s2n_print_stacktrace(ptr noundef %20009)
  %20011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20012 = trunc i8 %20011 to i1
  br i1 %20012, label %20013, label %20035

20013:                                            ; preds = %20006
  %20014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20015 = call i32 @fileno(ptr noundef %20014) #11
  %20016 = call i32 @isatty(i32 noundef %20015) #11
  %20017 = icmp ne i32 %20016, 0
  br i1 %20017, label %20018, label %20035

20018:                                            ; preds = %20013
  %20019 = load i32, ptr %414, align 4, !tbaa !5
  %20020 = call ptr @__errno_location() #12
  store i32 %20019, ptr %20020, align 4, !tbaa !5
  %20021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20022 = load i32, ptr @test_count, align 4, !tbaa !5
  %20023 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20024 = load i32, ptr %20023, align 4, !tbaa !5
  %20025 = call ptr @s2n_strerror(i32 noundef %20024, ptr noundef @.str.4)
  %20026 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20027 = load i32, ptr %20026, align 4, !tbaa !5
  %20028 = call ptr @s2n_strerror_debug(i32 noundef %20027, ptr noundef @.str.4)
  %20029 = call ptr @__errno_location() #12
  %20030 = load i32, ptr %20029, align 4, !tbaa !5
  %20031 = call ptr @strerror(i32 noundef %20030) #11
  %20032 = call ptr @__errno_location() #12
  %20033 = load i32, ptr %20032, align 4, !tbaa !5
  %20034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20021, ptr noundef @.str.2, i32 noundef %20022, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 616, ptr noundef %20025, ptr noundef %20028, ptr noundef %20031, i32 noundef %20033) #11
  br label %20052

20035:                                            ; preds = %20013, %20006
  %20036 = load i32, ptr %414, align 4, !tbaa !5
  %20037 = call ptr @__errno_location() #12
  store i32 %20036, ptr %20037, align 4, !tbaa !5
  %20038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20039 = load i32, ptr @test_count, align 4, !tbaa !5
  %20040 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20041 = load i32, ptr %20040, align 4, !tbaa !5
  %20042 = call ptr @s2n_strerror(i32 noundef %20041, ptr noundef @.str.4)
  %20043 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20044 = load i32, ptr %20043, align 4, !tbaa !5
  %20045 = call ptr @s2n_strerror_debug(i32 noundef %20044, ptr noundef @.str.4)
  %20046 = call ptr @__errno_location() #12
  %20047 = load i32, ptr %20046, align 4, !tbaa !5
  %20048 = call ptr @strerror(i32 noundef %20047) #11
  %20049 = call ptr @__errno_location() #12
  %20050 = load i32, ptr %20049, align 4, !tbaa !5
  %20051 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20038, ptr noundef @.str.5, i32 noundef %20039, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 616, ptr noundef %20042, ptr noundef %20045, ptr noundef %20048, i32 noundef %20050) #11
  br label %20052

20052:                                            ; preds = %20035, %20018
  call void @llvm.lifetime.end.p0(i64 4, ptr %414) #11
  br label %20053

20053:                                            ; preds = %20052
  br label %20054

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

20055:                                            ; No predecessors!
  br label %20056

20056:                                            ; preds = %20055
  br label %20057

20057:                                            ; preds = %20056, %19997
  br label %20058

20058:                                            ; preds = %20057
  br label %20059

20059:                                            ; preds = %20058
  br label %20060

20060:                                            ; preds = %20059
  br label %20061

20061:                                            ; preds = %20060
  br label %20062

20062:                                            ; preds = %20061
  %20063 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20063, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20064 = call ptr @__errno_location() #12
  store i32 0, ptr %20064, align 4, !tbaa !5
  br label %20065

20065:                                            ; preds = %20062
  br label %20066

20066:                                            ; preds = %20065
  br label %20067

20067:                                            ; preds = %20066
  br label %20068

20068:                                            ; preds = %20067
  br label %20069

20069:                                            ; preds = %20068
  %20070 = load i32, ptr @test_count, align 4, !tbaa !5
  %20071 = add nsw i32 %20070, 1
  store i32 %20071, ptr @test_count, align 4, !tbaa !5
  %20072 = load i32, ptr %386, align 4, !tbaa !5
  %20073 = icmp eq i32 %20072, 1
  br i1 %20073, label %20127, label %20074

20074:                                            ; preds = %20069
  br label %20075

20075:                                            ; preds = %20074
  br label %20076

20076:                                            ; preds = %20075
  call void @llvm.lifetime.start.p0(i64 4, ptr %415) #11
  %20077 = call ptr @__errno_location() #12
  %20078 = load i32, ptr %20077, align 4, !tbaa !5
  store i32 %20078, ptr %415, align 4, !tbaa !5
  %20079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20080 = call i32 @s2n_print_stacktrace(ptr noundef %20079)
  %20081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20082 = trunc i8 %20081 to i1
  br i1 %20082, label %20083, label %20105

20083:                                            ; preds = %20076
  %20084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20085 = call i32 @fileno(ptr noundef %20084) #11
  %20086 = call i32 @isatty(i32 noundef %20085) #11
  %20087 = icmp ne i32 %20086, 0
  br i1 %20087, label %20088, label %20105

20088:                                            ; preds = %20083
  %20089 = load i32, ptr %415, align 4, !tbaa !5
  %20090 = call ptr @__errno_location() #12
  store i32 %20089, ptr %20090, align 4, !tbaa !5
  %20091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20092 = load i32, ptr @test_count, align 4, !tbaa !5
  %20093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20094 = load i32, ptr %20093, align 4, !tbaa !5
  %20095 = call ptr @s2n_strerror(i32 noundef %20094, ptr noundef @.str.4)
  %20096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20097 = load i32, ptr %20096, align 4, !tbaa !5
  %20098 = call ptr @s2n_strerror_debug(i32 noundef %20097, ptr noundef @.str.4)
  %20099 = call ptr @__errno_location() #12
  %20100 = load i32, ptr %20099, align 4, !tbaa !5
  %20101 = call ptr @strerror(i32 noundef %20100) #11
  %20102 = call ptr @__errno_location() #12
  %20103 = load i32, ptr %20102, align 4, !tbaa !5
  %20104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20091, ptr noundef @.str.2, i32 noundef %20092, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 617, ptr noundef %20095, ptr noundef %20098, ptr noundef %20101, i32 noundef %20103) #11
  br label %20122

20105:                                            ; preds = %20083, %20076
  %20106 = load i32, ptr %415, align 4, !tbaa !5
  %20107 = call ptr @__errno_location() #12
  store i32 %20106, ptr %20107, align 4, !tbaa !5
  %20108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20109 = load i32, ptr @test_count, align 4, !tbaa !5
  %20110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20111 = load i32, ptr %20110, align 4, !tbaa !5
  %20112 = call ptr @s2n_strerror(i32 noundef %20111, ptr noundef @.str.4)
  %20113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20114 = load i32, ptr %20113, align 4, !tbaa !5
  %20115 = call ptr @s2n_strerror_debug(i32 noundef %20114, ptr noundef @.str.4)
  %20116 = call ptr @__errno_location() #12
  %20117 = load i32, ptr %20116, align 4, !tbaa !5
  %20118 = call ptr @strerror(i32 noundef %20117) #11
  %20119 = call ptr @__errno_location() #12
  %20120 = load i32, ptr %20119, align 4, !tbaa !5
  %20121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20108, ptr noundef @.str.5, i32 noundef %20109, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 617, ptr noundef %20112, ptr noundef %20115, ptr noundef %20118, i32 noundef %20120) #11
  br label %20122

20122:                                            ; preds = %20105, %20088
  call void @llvm.lifetime.end.p0(i64 4, ptr %415) #11
  br label %20123

20123:                                            ; preds = %20122
  br label %20124

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

20125:                                            ; No predecessors!
  br label %20126

20126:                                            ; preds = %20125
  br label %20127

20127:                                            ; preds = %20126, %20069
  br label %20128

20128:                                            ; preds = %20127
  br label %20129

20129:                                            ; preds = %20128
  br label %20130

20130:                                            ; preds = %20129
  %20131 = load i32, ptr @test_count, align 4, !tbaa !5
  %20132 = add nsw i32 %20131, 1
  store i32 %20132, ptr @test_count, align 4, !tbaa !5
  %20133 = load ptr, ptr %376, align 8, !tbaa !9
  %20134 = call i32 @s2n_conn_get_current_message_type(ptr noundef %20133)
  %20135 = icmp eq i32 %20134, 0
  br i1 %20135, label %20189, label %20136

20136:                                            ; preds = %20130
  br label %20137

20137:                                            ; preds = %20136
  br label %20138

20138:                                            ; preds = %20137
  call void @llvm.lifetime.start.p0(i64 4, ptr %416) #11
  %20139 = call ptr @__errno_location() #12
  %20140 = load i32, ptr %20139, align 4, !tbaa !5
  store i32 %20140, ptr %416, align 4, !tbaa !5
  %20141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20142 = call i32 @s2n_print_stacktrace(ptr noundef %20141)
  %20143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20144 = trunc i8 %20143 to i1
  br i1 %20144, label %20145, label %20167

20145:                                            ; preds = %20138
  %20146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20147 = call i32 @fileno(ptr noundef %20146) #11
  %20148 = call i32 @isatty(i32 noundef %20147) #11
  %20149 = icmp ne i32 %20148, 0
  br i1 %20149, label %20150, label %20167

20150:                                            ; preds = %20145
  %20151 = load i32, ptr %416, align 4, !tbaa !5
  %20152 = call ptr @__errno_location() #12
  store i32 %20151, ptr %20152, align 4, !tbaa !5
  %20153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20154 = load i32, ptr @test_count, align 4, !tbaa !5
  %20155 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20156 = load i32, ptr %20155, align 4, !tbaa !5
  %20157 = call ptr @s2n_strerror(i32 noundef %20156, ptr noundef @.str.4)
  %20158 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20159 = load i32, ptr %20158, align 4, !tbaa !5
  %20160 = call ptr @s2n_strerror_debug(i32 noundef %20159, ptr noundef @.str.4)
  %20161 = call ptr @__errno_location() #12
  %20162 = load i32, ptr %20161, align 4, !tbaa !5
  %20163 = call ptr @strerror(i32 noundef %20162) #11
  %20164 = call ptr @__errno_location() #12
  %20165 = load i32, ptr %20164, align 4, !tbaa !5
  %20166 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20153, ptr noundef @.str.2, i32 noundef %20154, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 617, ptr noundef %20157, ptr noundef %20160, ptr noundef %20163, i32 noundef %20165) #11
  br label %20184

20167:                                            ; preds = %20145, %20138
  %20168 = load i32, ptr %416, align 4, !tbaa !5
  %20169 = call ptr @__errno_location() #12
  store i32 %20168, ptr %20169, align 4, !tbaa !5
  %20170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20171 = load i32, ptr @test_count, align 4, !tbaa !5
  %20172 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20173 = load i32, ptr %20172, align 4, !tbaa !5
  %20174 = call ptr @s2n_strerror(i32 noundef %20173, ptr noundef @.str.4)
  %20175 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20176 = load i32, ptr %20175, align 4, !tbaa !5
  %20177 = call ptr @s2n_strerror_debug(i32 noundef %20176, ptr noundef @.str.4)
  %20178 = call ptr @__errno_location() #12
  %20179 = load i32, ptr %20178, align 4, !tbaa !5
  %20180 = call ptr @strerror(i32 noundef %20179) #11
  %20181 = call ptr @__errno_location() #12
  %20182 = load i32, ptr %20181, align 4, !tbaa !5
  %20183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20170, ptr noundef @.str.5, i32 noundef %20171, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 617, ptr noundef %20174, ptr noundef %20177, ptr noundef %20180, i32 noundef %20182) #11
  br label %20184

20184:                                            ; preds = %20167, %20150
  call void @llvm.lifetime.end.p0(i64 4, ptr %416) #11
  br label %20185

20185:                                            ; preds = %20184
  br label %20186

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

20187:                                            ; No predecessors!
  br label %20188

20188:                                            ; preds = %20187
  br label %20189

20189:                                            ; preds = %20188, %20130
  br label %20190

20190:                                            ; preds = %20189
  br label %20191

20191:                                            ; preds = %20190
  br label %20192

20192:                                            ; preds = %20191
  %20193 = load i32, ptr @test_count, align 4, !tbaa !5
  %20194 = add nsw i32 %20193, 1
  store i32 %20194, ptr @test_count, align 4, !tbaa !5
  %20195 = load i64, ptr %387, align 8, !tbaa !42
  %20196 = icmp eq i64 %20195, 0
  br i1 %20196, label %20250, label %20197

20197:                                            ; preds = %20192
  br label %20198

20198:                                            ; preds = %20197
  br label %20199

20199:                                            ; preds = %20198
  call void @llvm.lifetime.start.p0(i64 4, ptr %417) #11
  %20200 = call ptr @__errno_location() #12
  %20201 = load i32, ptr %20200, align 4, !tbaa !5
  store i32 %20201, ptr %417, align 4, !tbaa !5
  %20202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20203 = call i32 @s2n_print_stacktrace(ptr noundef %20202)
  %20204 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20205 = trunc i8 %20204 to i1
  br i1 %20205, label %20206, label %20228

20206:                                            ; preds = %20199
  %20207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20208 = call i32 @fileno(ptr noundef %20207) #11
  %20209 = call i32 @isatty(i32 noundef %20208) #11
  %20210 = icmp ne i32 %20209, 0
  br i1 %20210, label %20211, label %20228

20211:                                            ; preds = %20206
  %20212 = load i32, ptr %417, align 4, !tbaa !5
  %20213 = call ptr @__errno_location() #12
  store i32 %20212, ptr %20213, align 4, !tbaa !5
  %20214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20215 = load i32, ptr @test_count, align 4, !tbaa !5
  %20216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20217 = load i32, ptr %20216, align 4, !tbaa !5
  %20218 = call ptr @s2n_strerror(i32 noundef %20217, ptr noundef @.str.4)
  %20219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20220 = load i32, ptr %20219, align 4, !tbaa !5
  %20221 = call ptr @s2n_strerror_debug(i32 noundef %20220, ptr noundef @.str.4)
  %20222 = call ptr @__errno_location() #12
  %20223 = load i32, ptr %20222, align 4, !tbaa !5
  %20224 = call ptr @strerror(i32 noundef %20223) #11
  %20225 = call ptr @__errno_location() #12
  %20226 = load i32, ptr %20225, align 4, !tbaa !5
  %20227 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20214, ptr noundef @.str.2, i32 noundef %20215, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 618, ptr noundef %20218, ptr noundef %20221, ptr noundef %20224, i32 noundef %20226) #11
  br label %20245

20228:                                            ; preds = %20206, %20199
  %20229 = load i32, ptr %417, align 4, !tbaa !5
  %20230 = call ptr @__errno_location() #12
  store i32 %20229, ptr %20230, align 4, !tbaa !5
  %20231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20232 = load i32, ptr @test_count, align 4, !tbaa !5
  %20233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20234 = load i32, ptr %20233, align 4, !tbaa !5
  %20235 = call ptr @s2n_strerror(i32 noundef %20234, ptr noundef @.str.4)
  %20236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20237 = load i32, ptr %20236, align 4, !tbaa !5
  %20238 = call ptr @s2n_strerror_debug(i32 noundef %20237, ptr noundef @.str.4)
  %20239 = call ptr @__errno_location() #12
  %20240 = load i32, ptr %20239, align 4, !tbaa !5
  %20241 = call ptr @strerror(i32 noundef %20240) #11
  %20242 = call ptr @__errno_location() #12
  %20243 = load i32, ptr %20242, align 4, !tbaa !5
  %20244 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20231, ptr noundef @.str.5, i32 noundef %20232, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 618, ptr noundef %20235, ptr noundef %20238, ptr noundef %20241, i32 noundef %20243) #11
  br label %20245

20245:                                            ; preds = %20228, %20211
  call void @llvm.lifetime.end.p0(i64 4, ptr %417) #11
  br label %20246

20246:                                            ; preds = %20245
  br label %20247

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

20248:                                            ; No predecessors!
  br label %20249

20249:                                            ; preds = %20248
  br label %20250

20250:                                            ; preds = %20249, %20192
  br label %20251

20251:                                            ; preds = %20250
  br label %20252

20252:                                            ; preds = %20251
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %20253

20253:                                            ; preds = %20252
  br label %20254

20254:                                            ; preds = %20253
  br label %20255

20255:                                            ; preds = %20254
  %20256 = load i32, ptr @test_count, align 4, !tbaa !5
  %20257 = add nsw i32 %20256, 1
  store i32 %20257, ptr @test_count, align 4, !tbaa !5
  %20258 = load ptr, ptr %376, align 8, !tbaa !9
  %20259 = getelementptr inbounds [100 x i8], ptr %385, i64 0, i64 0
  %20260 = call i32 @s2n_recv_early_data(ptr noundef %20258, ptr noundef %20259, i64 noundef 100, ptr noundef %387, ptr noundef %386)
  %20261 = icmp eq i32 %20260, -1
  br i1 %20261, label %20315, label %20262

20262:                                            ; preds = %20255
  br label %20263

20263:                                            ; preds = %20262
  br label %20264

20264:                                            ; preds = %20263
  call void @llvm.lifetime.start.p0(i64 4, ptr %418) #11
  %20265 = call ptr @__errno_location() #12
  %20266 = load i32, ptr %20265, align 4, !tbaa !5
  store i32 %20266, ptr %418, align 4, !tbaa !5
  %20267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20268 = call i32 @s2n_print_stacktrace(ptr noundef %20267)
  %20269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20270 = trunc i8 %20269 to i1
  br i1 %20270, label %20271, label %20293

20271:                                            ; preds = %20264
  %20272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20273 = call i32 @fileno(ptr noundef %20272) #11
  %20274 = call i32 @isatty(i32 noundef %20273) #11
  %20275 = icmp ne i32 %20274, 0
  br i1 %20275, label %20276, label %20293

20276:                                            ; preds = %20271
  %20277 = load i32, ptr %418, align 4, !tbaa !5
  %20278 = call ptr @__errno_location() #12
  store i32 %20277, ptr %20278, align 4, !tbaa !5
  %20279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20280 = load i32, ptr @test_count, align 4, !tbaa !5
  %20281 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20282 = load i32, ptr %20281, align 4, !tbaa !5
  %20283 = call ptr @s2n_strerror(i32 noundef %20282, ptr noundef @.str.4)
  %20284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20285 = load i32, ptr %20284, align 4, !tbaa !5
  %20286 = call ptr @s2n_strerror_debug(i32 noundef %20285, ptr noundef @.str.4)
  %20287 = call ptr @__errno_location() #12
  %20288 = load i32, ptr %20287, align 4, !tbaa !5
  %20289 = call ptr @strerror(i32 noundef %20288) #11
  %20290 = call ptr @__errno_location() #12
  %20291 = load i32, ptr %20290, align 4, !tbaa !5
  %20292 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20279, ptr noundef @.str.2, i32 noundef %20280, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 623, ptr noundef %20283, ptr noundef %20286, ptr noundef %20289, i32 noundef %20291) #11
  br label %20310

20293:                                            ; preds = %20271, %20264
  %20294 = load i32, ptr %418, align 4, !tbaa !5
  %20295 = call ptr @__errno_location() #12
  store i32 %20294, ptr %20295, align 4, !tbaa !5
  %20296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20297 = load i32, ptr @test_count, align 4, !tbaa !5
  %20298 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20299 = load i32, ptr %20298, align 4, !tbaa !5
  %20300 = call ptr @s2n_strerror(i32 noundef %20299, ptr noundef @.str.4)
  %20301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20302 = load i32, ptr %20301, align 4, !tbaa !5
  %20303 = call ptr @s2n_strerror_debug(i32 noundef %20302, ptr noundef @.str.4)
  %20304 = call ptr @__errno_location() #12
  %20305 = load i32, ptr %20304, align 4, !tbaa !5
  %20306 = call ptr @strerror(i32 noundef %20305) #11
  %20307 = call ptr @__errno_location() #12
  %20308 = load i32, ptr %20307, align 4, !tbaa !5
  %20309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20296, ptr noundef @.str.5, i32 noundef %20297, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 623, ptr noundef %20300, ptr noundef %20303, ptr noundef %20306, i32 noundef %20308) #11
  br label %20310

20310:                                            ; preds = %20293, %20276
  call void @llvm.lifetime.end.p0(i64 4, ptr %418) #11
  br label %20311

20311:                                            ; preds = %20310
  br label %20312

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

20313:                                            ; No predecessors!
  br label %20314

20314:                                            ; preds = %20313
  br label %20315

20315:                                            ; preds = %20314, %20255
  br label %20316

20316:                                            ; preds = %20315
  br label %20317

20317:                                            ; preds = %20316
  br label %20318

20318:                                            ; preds = %20317
  %20319 = load i32, ptr @test_count, align 4, !tbaa !5
  %20320 = add nsw i32 %20319, 1
  store i32 %20320, ptr @test_count, align 4, !tbaa !5
  %20321 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20322 = load i32, ptr %20321, align 4, !tbaa !5
  %20323 = icmp eq i32 %20322, 201326592
  br i1 %20323, label %20377, label %20324

20324:                                            ; preds = %20318
  br label %20325

20325:                                            ; preds = %20324
  br label %20326

20326:                                            ; preds = %20325
  call void @llvm.lifetime.start.p0(i64 4, ptr %419) #11
  %20327 = call ptr @__errno_location() #12
  %20328 = load i32, ptr %20327, align 4, !tbaa !5
  store i32 %20328, ptr %419, align 4, !tbaa !5
  %20329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20330 = call i32 @s2n_print_stacktrace(ptr noundef %20329)
  %20331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20332 = trunc i8 %20331 to i1
  br i1 %20332, label %20333, label %20355

20333:                                            ; preds = %20326
  %20334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20335 = call i32 @fileno(ptr noundef %20334) #11
  %20336 = call i32 @isatty(i32 noundef %20335) #11
  %20337 = icmp ne i32 %20336, 0
  br i1 %20337, label %20338, label %20355

20338:                                            ; preds = %20333
  %20339 = load i32, ptr %419, align 4, !tbaa !5
  %20340 = call ptr @__errno_location() #12
  store i32 %20339, ptr %20340, align 4, !tbaa !5
  %20341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20342 = load i32, ptr @test_count, align 4, !tbaa !5
  %20343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20344 = load i32, ptr %20343, align 4, !tbaa !5
  %20345 = call ptr @s2n_strerror(i32 noundef %20344, ptr noundef @.str.4)
  %20346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20347 = load i32, ptr %20346, align 4, !tbaa !5
  %20348 = call ptr @s2n_strerror_debug(i32 noundef %20347, ptr noundef @.str.4)
  %20349 = call ptr @__errno_location() #12
  %20350 = load i32, ptr %20349, align 4, !tbaa !5
  %20351 = call ptr @strerror(i32 noundef %20350) #11
  %20352 = call ptr @__errno_location() #12
  %20353 = load i32, ptr %20352, align 4, !tbaa !5
  %20354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20341, ptr noundef @.str.2, i32 noundef %20342, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 623, ptr noundef %20345, ptr noundef %20348, ptr noundef %20351, i32 noundef %20353) #11
  br label %20372

20355:                                            ; preds = %20333, %20326
  %20356 = load i32, ptr %419, align 4, !tbaa !5
  %20357 = call ptr @__errno_location() #12
  store i32 %20356, ptr %20357, align 4, !tbaa !5
  %20358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20359 = load i32, ptr @test_count, align 4, !tbaa !5
  %20360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20361 = load i32, ptr %20360, align 4, !tbaa !5
  %20362 = call ptr @s2n_strerror(i32 noundef %20361, ptr noundef @.str.4)
  %20363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20364 = load i32, ptr %20363, align 4, !tbaa !5
  %20365 = call ptr @s2n_strerror_debug(i32 noundef %20364, ptr noundef @.str.4)
  %20366 = call ptr @__errno_location() #12
  %20367 = load i32, ptr %20366, align 4, !tbaa !5
  %20368 = call ptr @strerror(i32 noundef %20367) #11
  %20369 = call ptr @__errno_location() #12
  %20370 = load i32, ptr %20369, align 4, !tbaa !5
  %20371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20358, ptr noundef @.str.5, i32 noundef %20359, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 623, ptr noundef %20362, ptr noundef %20365, ptr noundef %20368, i32 noundef %20370) #11
  br label %20372

20372:                                            ; preds = %20355, %20338
  call void @llvm.lifetime.end.p0(i64 4, ptr %419) #11
  br label %20373

20373:                                            ; preds = %20372
  br label %20374

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

20375:                                            ; No predecessors!
  br label %20376

20376:                                            ; preds = %20375
  br label %20377

20377:                                            ; preds = %20376, %20318
  br label %20378

20378:                                            ; preds = %20377
  br label %20379

20379:                                            ; preds = %20378
  br label %20380

20380:                                            ; preds = %20379
  %20381 = load i32, ptr @test_count, align 4, !tbaa !5
  %20382 = add nsw i32 %20381, 1
  store i32 %20382, ptr @test_count, align 4, !tbaa !5
  %20383 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20384 = load i32, ptr %20383, align 4, !tbaa !5
  %20385 = call ptr @s2n_strerror_debug(i32 noundef %20384, ptr noundef @.str.4)
  %20386 = icmp eq ptr %20385, null
  br i1 %20386, label %20387, label %20440

20387:                                            ; preds = %20380
  br label %20388

20388:                                            ; preds = %20387
  br label %20389

20389:                                            ; preds = %20388
  call void @llvm.lifetime.start.p0(i64 4, ptr %420) #11
  %20390 = call ptr @__errno_location() #12
  %20391 = load i32, ptr %20390, align 4, !tbaa !5
  store i32 %20391, ptr %420, align 4, !tbaa !5
  %20392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20393 = call i32 @s2n_print_stacktrace(ptr noundef %20392)
  %20394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20395 = trunc i8 %20394 to i1
  br i1 %20395, label %20396, label %20418

20396:                                            ; preds = %20389
  %20397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20398 = call i32 @fileno(ptr noundef %20397) #11
  %20399 = call i32 @isatty(i32 noundef %20398) #11
  %20400 = icmp ne i32 %20399, 0
  br i1 %20400, label %20401, label %20418

20401:                                            ; preds = %20396
  %20402 = load i32, ptr %420, align 4, !tbaa !5
  %20403 = call ptr @__errno_location() #12
  store i32 %20402, ptr %20403, align 4, !tbaa !5
  %20404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20405 = load i32, ptr @test_count, align 4, !tbaa !5
  %20406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20407 = load i32, ptr %20406, align 4, !tbaa !5
  %20408 = call ptr @s2n_strerror(i32 noundef %20407, ptr noundef @.str.4)
  %20409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20410 = load i32, ptr %20409, align 4, !tbaa !5
  %20411 = call ptr @s2n_strerror_debug(i32 noundef %20410, ptr noundef @.str.4)
  %20412 = call ptr @__errno_location() #12
  %20413 = load i32, ptr %20412, align 4, !tbaa !5
  %20414 = call ptr @strerror(i32 noundef %20413) #11
  %20415 = call ptr @__errno_location() #12
  %20416 = load i32, ptr %20415, align 4, !tbaa !5
  %20417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20404, ptr noundef @.str.2, i32 noundef %20405, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 623, ptr noundef %20408, ptr noundef %20411, ptr noundef %20414, i32 noundef %20416) #11
  br label %20435

20418:                                            ; preds = %20396, %20389
  %20419 = load i32, ptr %420, align 4, !tbaa !5
  %20420 = call ptr @__errno_location() #12
  store i32 %20419, ptr %20420, align 4, !tbaa !5
  %20421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20422 = load i32, ptr @test_count, align 4, !tbaa !5
  %20423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20424 = load i32, ptr %20423, align 4, !tbaa !5
  %20425 = call ptr @s2n_strerror(i32 noundef %20424, ptr noundef @.str.4)
  %20426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20427 = load i32, ptr %20426, align 4, !tbaa !5
  %20428 = call ptr @s2n_strerror_debug(i32 noundef %20427, ptr noundef @.str.4)
  %20429 = call ptr @__errno_location() #12
  %20430 = load i32, ptr %20429, align 4, !tbaa !5
  %20431 = call ptr @strerror(i32 noundef %20430) #11
  %20432 = call ptr @__errno_location() #12
  %20433 = load i32, ptr %20432, align 4, !tbaa !5
  %20434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20421, ptr noundef @.str.5, i32 noundef %20422, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 623, ptr noundef %20425, ptr noundef %20428, ptr noundef %20431, i32 noundef %20433) #11
  br label %20435

20435:                                            ; preds = %20418, %20401
  call void @llvm.lifetime.end.p0(i64 4, ptr %420) #11
  br label %20436

20436:                                            ; preds = %20435
  br label %20437

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

20438:                                            ; No predecessors!
  br label %20439

20439:                                            ; preds = %20438
  br label %20440

20440:                                            ; preds = %20439, %20380
  br label %20441

20441:                                            ; preds = %20440
  br label %20442

20442:                                            ; preds = %20441
  br label %20443

20443:                                            ; preds = %20442
  br label %20444

20444:                                            ; preds = %20443
  br label %20445

20445:                                            ; preds = %20444
  %20446 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20446, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20447 = call ptr @__errno_location() #12
  store i32 0, ptr %20447, align 4, !tbaa !5
  br label %20448

20448:                                            ; preds = %20445
  br label %20449

20449:                                            ; preds = %20448
  br label %20450

20450:                                            ; preds = %20449
  br label %20451

20451:                                            ; preds = %20450
  br label %20452

20452:                                            ; preds = %20451
  %20453 = load i32, ptr @test_count, align 4, !tbaa !5
  %20454 = add nsw i32 %20453, 1
  store i32 %20454, ptr @test_count, align 4, !tbaa !5
  %20455 = load i32, ptr %386, align 4, !tbaa !5
  %20456 = icmp eq i32 %20455, 2
  br i1 %20456, label %20510, label %20457

20457:                                            ; preds = %20452
  br label %20458

20458:                                            ; preds = %20457
  br label %20459

20459:                                            ; preds = %20458
  call void @llvm.lifetime.start.p0(i64 4, ptr %421) #11
  %20460 = call ptr @__errno_location() #12
  %20461 = load i32, ptr %20460, align 4, !tbaa !5
  store i32 %20461, ptr %421, align 4, !tbaa !5
  %20462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20463 = call i32 @s2n_print_stacktrace(ptr noundef %20462)
  %20464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20465 = trunc i8 %20464 to i1
  br i1 %20465, label %20466, label %20488

20466:                                            ; preds = %20459
  %20467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20468 = call i32 @fileno(ptr noundef %20467) #11
  %20469 = call i32 @isatty(i32 noundef %20468) #11
  %20470 = icmp ne i32 %20469, 0
  br i1 %20470, label %20471, label %20488

20471:                                            ; preds = %20466
  %20472 = load i32, ptr %421, align 4, !tbaa !5
  %20473 = call ptr @__errno_location() #12
  store i32 %20472, ptr %20473, align 4, !tbaa !5
  %20474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20475 = load i32, ptr @test_count, align 4, !tbaa !5
  %20476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20477 = load i32, ptr %20476, align 4, !tbaa !5
  %20478 = call ptr @s2n_strerror(i32 noundef %20477, ptr noundef @.str.4)
  %20479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20480 = load i32, ptr %20479, align 4, !tbaa !5
  %20481 = call ptr @s2n_strerror_debug(i32 noundef %20480, ptr noundef @.str.4)
  %20482 = call ptr @__errno_location() #12
  %20483 = load i32, ptr %20482, align 4, !tbaa !5
  %20484 = call ptr @strerror(i32 noundef %20483) #11
  %20485 = call ptr @__errno_location() #12
  %20486 = load i32, ptr %20485, align 4, !tbaa !5
  %20487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20474, ptr noundef @.str.2, i32 noundef %20475, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 624, ptr noundef %20478, ptr noundef %20481, ptr noundef %20484, i32 noundef %20486) #11
  br label %20505

20488:                                            ; preds = %20466, %20459
  %20489 = load i32, ptr %421, align 4, !tbaa !5
  %20490 = call ptr @__errno_location() #12
  store i32 %20489, ptr %20490, align 4, !tbaa !5
  %20491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20492 = load i32, ptr @test_count, align 4, !tbaa !5
  %20493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20494 = load i32, ptr %20493, align 4, !tbaa !5
  %20495 = call ptr @s2n_strerror(i32 noundef %20494, ptr noundef @.str.4)
  %20496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20497 = load i32, ptr %20496, align 4, !tbaa !5
  %20498 = call ptr @s2n_strerror_debug(i32 noundef %20497, ptr noundef @.str.4)
  %20499 = call ptr @__errno_location() #12
  %20500 = load i32, ptr %20499, align 4, !tbaa !5
  %20501 = call ptr @strerror(i32 noundef %20500) #11
  %20502 = call ptr @__errno_location() #12
  %20503 = load i32, ptr %20502, align 4, !tbaa !5
  %20504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20491, ptr noundef @.str.5, i32 noundef %20492, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 624, ptr noundef %20495, ptr noundef %20498, ptr noundef %20501, i32 noundef %20503) #11
  br label %20505

20505:                                            ; preds = %20488, %20471
  call void @llvm.lifetime.end.p0(i64 4, ptr %421) #11
  br label %20506

20506:                                            ; preds = %20505
  br label %20507

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

20508:                                            ; No predecessors!
  br label %20509

20509:                                            ; preds = %20508
  br label %20510

20510:                                            ; preds = %20509, %20452
  br label %20511

20511:                                            ; preds = %20510
  br label %20512

20512:                                            ; preds = %20511
  br label %20513

20513:                                            ; preds = %20512
  %20514 = load i32, ptr @test_count, align 4, !tbaa !5
  %20515 = add nsw i32 %20514, 1
  store i32 %20515, ptr @test_count, align 4, !tbaa !5
  %20516 = load ptr, ptr %376, align 8, !tbaa !9
  %20517 = call i32 @s2n_conn_get_current_message_type(ptr noundef %20516)
  %20518 = icmp eq i32 %20517, 1
  br i1 %20518, label %20572, label %20519

20519:                                            ; preds = %20513
  br label %20520

20520:                                            ; preds = %20519
  br label %20521

20521:                                            ; preds = %20520
  call void @llvm.lifetime.start.p0(i64 4, ptr %422) #11
  %20522 = call ptr @__errno_location() #12
  %20523 = load i32, ptr %20522, align 4, !tbaa !5
  store i32 %20523, ptr %422, align 4, !tbaa !5
  %20524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20525 = call i32 @s2n_print_stacktrace(ptr noundef %20524)
  %20526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20527 = trunc i8 %20526 to i1
  br i1 %20527, label %20528, label %20550

20528:                                            ; preds = %20521
  %20529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20530 = call i32 @fileno(ptr noundef %20529) #11
  %20531 = call i32 @isatty(i32 noundef %20530) #11
  %20532 = icmp ne i32 %20531, 0
  br i1 %20532, label %20533, label %20550

20533:                                            ; preds = %20528
  %20534 = load i32, ptr %422, align 4, !tbaa !5
  %20535 = call ptr @__errno_location() #12
  store i32 %20534, ptr %20535, align 4, !tbaa !5
  %20536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20537 = load i32, ptr @test_count, align 4, !tbaa !5
  %20538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20539 = load i32, ptr %20538, align 4, !tbaa !5
  %20540 = call ptr @s2n_strerror(i32 noundef %20539, ptr noundef @.str.4)
  %20541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20542 = load i32, ptr %20541, align 4, !tbaa !5
  %20543 = call ptr @s2n_strerror_debug(i32 noundef %20542, ptr noundef @.str.4)
  %20544 = call ptr @__errno_location() #12
  %20545 = load i32, ptr %20544, align 4, !tbaa !5
  %20546 = call ptr @strerror(i32 noundef %20545) #11
  %20547 = call ptr @__errno_location() #12
  %20548 = load i32, ptr %20547, align 4, !tbaa !5
  %20549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20536, ptr noundef @.str.2, i32 noundef %20537, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 624, ptr noundef %20540, ptr noundef %20543, ptr noundef %20546, i32 noundef %20548) #11
  br label %20567

20550:                                            ; preds = %20528, %20521
  %20551 = load i32, ptr %422, align 4, !tbaa !5
  %20552 = call ptr @__errno_location() #12
  store i32 %20551, ptr %20552, align 4, !tbaa !5
  %20553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20554 = load i32, ptr @test_count, align 4, !tbaa !5
  %20555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20556 = load i32, ptr %20555, align 4, !tbaa !5
  %20557 = call ptr @s2n_strerror(i32 noundef %20556, ptr noundef @.str.4)
  %20558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20559 = load i32, ptr %20558, align 4, !tbaa !5
  %20560 = call ptr @s2n_strerror_debug(i32 noundef %20559, ptr noundef @.str.4)
  %20561 = call ptr @__errno_location() #12
  %20562 = load i32, ptr %20561, align 4, !tbaa !5
  %20563 = call ptr @strerror(i32 noundef %20562) #11
  %20564 = call ptr @__errno_location() #12
  %20565 = load i32, ptr %20564, align 4, !tbaa !5
  %20566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20553, ptr noundef @.str.5, i32 noundef %20554, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 624, ptr noundef %20557, ptr noundef %20560, ptr noundef %20563, i32 noundef %20565) #11
  br label %20567

20567:                                            ; preds = %20550, %20533
  call void @llvm.lifetime.end.p0(i64 4, ptr %422) #11
  br label %20568

20568:                                            ; preds = %20567
  br label %20569

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

20570:                                            ; No predecessors!
  br label %20571

20571:                                            ; preds = %20570
  br label %20572

20572:                                            ; preds = %20571, %20513
  br label %20573

20573:                                            ; preds = %20572
  br label %20574

20574:                                            ; preds = %20573
  br label %20575

20575:                                            ; preds = %20574
  %20576 = load i32, ptr @test_count, align 4, !tbaa !5
  %20577 = add nsw i32 %20576, 1
  store i32 %20577, ptr @test_count, align 4, !tbaa !5
  %20578 = load i64, ptr %387, align 8, !tbaa !42
  %20579 = icmp eq i64 %20578, 0
  br i1 %20579, label %20633, label %20580

20580:                                            ; preds = %20575
  br label %20581

20581:                                            ; preds = %20580
  br label %20582

20582:                                            ; preds = %20581
  call void @llvm.lifetime.start.p0(i64 4, ptr %423) #11
  %20583 = call ptr @__errno_location() #12
  %20584 = load i32, ptr %20583, align 4, !tbaa !5
  store i32 %20584, ptr %423, align 4, !tbaa !5
  %20585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20586 = call i32 @s2n_print_stacktrace(ptr noundef %20585)
  %20587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20588 = trunc i8 %20587 to i1
  br i1 %20588, label %20589, label %20611

20589:                                            ; preds = %20582
  %20590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20591 = call i32 @fileno(ptr noundef %20590) #11
  %20592 = call i32 @isatty(i32 noundef %20591) #11
  %20593 = icmp ne i32 %20592, 0
  br i1 %20593, label %20594, label %20611

20594:                                            ; preds = %20589
  %20595 = load i32, ptr %423, align 4, !tbaa !5
  %20596 = call ptr @__errno_location() #12
  store i32 %20595, ptr %20596, align 4, !tbaa !5
  %20597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20598 = load i32, ptr @test_count, align 4, !tbaa !5
  %20599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20600 = load i32, ptr %20599, align 4, !tbaa !5
  %20601 = call ptr @s2n_strerror(i32 noundef %20600, ptr noundef @.str.4)
  %20602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20603 = load i32, ptr %20602, align 4, !tbaa !5
  %20604 = call ptr @s2n_strerror_debug(i32 noundef %20603, ptr noundef @.str.4)
  %20605 = call ptr @__errno_location() #12
  %20606 = load i32, ptr %20605, align 4, !tbaa !5
  %20607 = call ptr @strerror(i32 noundef %20606) #11
  %20608 = call ptr @__errno_location() #12
  %20609 = load i32, ptr %20608, align 4, !tbaa !5
  %20610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20597, ptr noundef @.str.2, i32 noundef %20598, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 625, ptr noundef %20601, ptr noundef %20604, ptr noundef %20607, i32 noundef %20609) #11
  br label %20628

20611:                                            ; preds = %20589, %20582
  %20612 = load i32, ptr %423, align 4, !tbaa !5
  %20613 = call ptr @__errno_location() #12
  store i32 %20612, ptr %20613, align 4, !tbaa !5
  %20614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20615 = load i32, ptr @test_count, align 4, !tbaa !5
  %20616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20617 = load i32, ptr %20616, align 4, !tbaa !5
  %20618 = call ptr @s2n_strerror(i32 noundef %20617, ptr noundef @.str.4)
  %20619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20620 = load i32, ptr %20619, align 4, !tbaa !5
  %20621 = call ptr @s2n_strerror_debug(i32 noundef %20620, ptr noundef @.str.4)
  %20622 = call ptr @__errno_location() #12
  %20623 = load i32, ptr %20622, align 4, !tbaa !5
  %20624 = call ptr @strerror(i32 noundef %20623) #11
  %20625 = call ptr @__errno_location() #12
  %20626 = load i32, ptr %20625, align 4, !tbaa !5
  %20627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20614, ptr noundef @.str.5, i32 noundef %20615, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 625, ptr noundef %20618, ptr noundef %20621, ptr noundef %20624, i32 noundef %20626) #11
  br label %20628

20628:                                            ; preds = %20611, %20594
  call void @llvm.lifetime.end.p0(i64 4, ptr %423) #11
  br label %20629

20629:                                            ; preds = %20628
  br label %20630

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

20631:                                            ; No predecessors!
  br label %20632

20632:                                            ; preds = %20631
  br label %20633

20633:                                            ; preds = %20632, %20575
  br label %20634

20634:                                            ; preds = %20633
  br label %20635

20635:                                            ; preds = %20634
  br label %20636

20636:                                            ; preds = %20961, %20635
  %20637 = load ptr, ptr %376, align 8, !tbaa !9
  %20638 = call i32 @s2n_conn_get_current_message_type(ptr noundef %20637)
  %20639 = icmp ne i32 %20638, 15
  br i1 %20639, label %20640, label %20962

20640:                                            ; preds = %20636
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %20641

20641:                                            ; preds = %20640
  br label %20642

20642:                                            ; preds = %20641
  br label %20643

20643:                                            ; preds = %20642
  %20644 = load i32, ptr @test_count, align 4, !tbaa !5
  %20645 = add nsw i32 %20644, 1
  store i32 %20645, ptr @test_count, align 4, !tbaa !5
  %20646 = load ptr, ptr %376, align 8, !tbaa !9
  %20647 = getelementptr inbounds [100 x i8], ptr %385, i64 0, i64 0
  %20648 = call i32 @s2n_recv_early_data(ptr noundef %20646, ptr noundef %20647, i64 noundef 100, ptr noundef %387, ptr noundef %386)
  %20649 = icmp eq i32 %20648, -1
  br i1 %20649, label %20703, label %20650

20650:                                            ; preds = %20643
  br label %20651

20651:                                            ; preds = %20650
  br label %20652

20652:                                            ; preds = %20651
  call void @llvm.lifetime.start.p0(i64 4, ptr %424) #11
  %20653 = call ptr @__errno_location() #12
  %20654 = load i32, ptr %20653, align 4, !tbaa !5
  store i32 %20654, ptr %424, align 4, !tbaa !5
  %20655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20656 = call i32 @s2n_print_stacktrace(ptr noundef %20655)
  %20657 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20658 = trunc i8 %20657 to i1
  br i1 %20658, label %20659, label %20681

20659:                                            ; preds = %20652
  %20660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20661 = call i32 @fileno(ptr noundef %20660) #11
  %20662 = call i32 @isatty(i32 noundef %20661) #11
  %20663 = icmp ne i32 %20662, 0
  br i1 %20663, label %20664, label %20681

20664:                                            ; preds = %20659
  %20665 = load i32, ptr %424, align 4, !tbaa !5
  %20666 = call ptr @__errno_location() #12
  store i32 %20665, ptr %20666, align 4, !tbaa !5
  %20667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20668 = load i32, ptr @test_count, align 4, !tbaa !5
  %20669 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20670 = load i32, ptr %20669, align 4, !tbaa !5
  %20671 = call ptr @s2n_strerror(i32 noundef %20670, ptr noundef @.str.4)
  %20672 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20673 = load i32, ptr %20672, align 4, !tbaa !5
  %20674 = call ptr @s2n_strerror_debug(i32 noundef %20673, ptr noundef @.str.4)
  %20675 = call ptr @__errno_location() #12
  %20676 = load i32, ptr %20675, align 4, !tbaa !5
  %20677 = call ptr @strerror(i32 noundef %20676) #11
  %20678 = call ptr @__errno_location() #12
  %20679 = load i32, ptr %20678, align 4, !tbaa !5
  %20680 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20667, ptr noundef @.str.2, i32 noundef %20668, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 631, ptr noundef %20671, ptr noundef %20674, ptr noundef %20677, i32 noundef %20679) #11
  br label %20698

20681:                                            ; preds = %20659, %20652
  %20682 = load i32, ptr %424, align 4, !tbaa !5
  %20683 = call ptr @__errno_location() #12
  store i32 %20682, ptr %20683, align 4, !tbaa !5
  %20684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20685 = load i32, ptr @test_count, align 4, !tbaa !5
  %20686 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20687 = load i32, ptr %20686, align 4, !tbaa !5
  %20688 = call ptr @s2n_strerror(i32 noundef %20687, ptr noundef @.str.4)
  %20689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20690 = load i32, ptr %20689, align 4, !tbaa !5
  %20691 = call ptr @s2n_strerror_debug(i32 noundef %20690, ptr noundef @.str.4)
  %20692 = call ptr @__errno_location() #12
  %20693 = load i32, ptr %20692, align 4, !tbaa !5
  %20694 = call ptr @strerror(i32 noundef %20693) #11
  %20695 = call ptr @__errno_location() #12
  %20696 = load i32, ptr %20695, align 4, !tbaa !5
  %20697 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20684, ptr noundef @.str.5, i32 noundef %20685, ptr noundef @.str.107, ptr noundef @.str.1, i32 noundef 631, ptr noundef %20688, ptr noundef %20691, ptr noundef %20694, i32 noundef %20696) #11
  br label %20698

20698:                                            ; preds = %20681, %20664
  call void @llvm.lifetime.end.p0(i64 4, ptr %424) #11
  br label %20699

20699:                                            ; preds = %20698
  br label %20700

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

20701:                                            ; No predecessors!
  br label %20702

20702:                                            ; preds = %20701
  br label %20703

20703:                                            ; preds = %20702, %20643
  br label %20704

20704:                                            ; preds = %20703
  br label %20705

20705:                                            ; preds = %20704
  br label %20706

20706:                                            ; preds = %20705
  %20707 = load i32, ptr @test_count, align 4, !tbaa !5
  %20708 = add nsw i32 %20707, 1
  store i32 %20708, ptr @test_count, align 4, !tbaa !5
  %20709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20710 = load i32, ptr %20709, align 4, !tbaa !5
  %20711 = icmp eq i32 %20710, 201326592
  br i1 %20711, label %20765, label %20712

20712:                                            ; preds = %20706
  br label %20713

20713:                                            ; preds = %20712
  br label %20714

20714:                                            ; preds = %20713
  call void @llvm.lifetime.start.p0(i64 4, ptr %425) #11
  %20715 = call ptr @__errno_location() #12
  %20716 = load i32, ptr %20715, align 4, !tbaa !5
  store i32 %20716, ptr %425, align 4, !tbaa !5
  %20717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20718 = call i32 @s2n_print_stacktrace(ptr noundef %20717)
  %20719 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20720 = trunc i8 %20719 to i1
  br i1 %20720, label %20721, label %20743

20721:                                            ; preds = %20714
  %20722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20723 = call i32 @fileno(ptr noundef %20722) #11
  %20724 = call i32 @isatty(i32 noundef %20723) #11
  %20725 = icmp ne i32 %20724, 0
  br i1 %20725, label %20726, label %20743

20726:                                            ; preds = %20721
  %20727 = load i32, ptr %425, align 4, !tbaa !5
  %20728 = call ptr @__errno_location() #12
  store i32 %20727, ptr %20728, align 4, !tbaa !5
  %20729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20730 = load i32, ptr @test_count, align 4, !tbaa !5
  %20731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20732 = load i32, ptr %20731, align 4, !tbaa !5
  %20733 = call ptr @s2n_strerror(i32 noundef %20732, ptr noundef @.str.4)
  %20734 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20735 = load i32, ptr %20734, align 4, !tbaa !5
  %20736 = call ptr @s2n_strerror_debug(i32 noundef %20735, ptr noundef @.str.4)
  %20737 = call ptr @__errno_location() #12
  %20738 = load i32, ptr %20737, align 4, !tbaa !5
  %20739 = call ptr @strerror(i32 noundef %20738) #11
  %20740 = call ptr @__errno_location() #12
  %20741 = load i32, ptr %20740, align 4, !tbaa !5
  %20742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20729, ptr noundef @.str.2, i32 noundef %20730, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 631, ptr noundef %20733, ptr noundef %20736, ptr noundef %20739, i32 noundef %20741) #11
  br label %20760

20743:                                            ; preds = %20721, %20714
  %20744 = load i32, ptr %425, align 4, !tbaa !5
  %20745 = call ptr @__errno_location() #12
  store i32 %20744, ptr %20745, align 4, !tbaa !5
  %20746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20747 = load i32, ptr @test_count, align 4, !tbaa !5
  %20748 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20749 = load i32, ptr %20748, align 4, !tbaa !5
  %20750 = call ptr @s2n_strerror(i32 noundef %20749, ptr noundef @.str.4)
  %20751 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20752 = load i32, ptr %20751, align 4, !tbaa !5
  %20753 = call ptr @s2n_strerror_debug(i32 noundef %20752, ptr noundef @.str.4)
  %20754 = call ptr @__errno_location() #12
  %20755 = load i32, ptr %20754, align 4, !tbaa !5
  %20756 = call ptr @strerror(i32 noundef %20755) #11
  %20757 = call ptr @__errno_location() #12
  %20758 = load i32, ptr %20757, align 4, !tbaa !5
  %20759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20746, ptr noundef @.str.5, i32 noundef %20747, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 631, ptr noundef %20750, ptr noundef %20753, ptr noundef %20756, i32 noundef %20758) #11
  br label %20760

20760:                                            ; preds = %20743, %20726
  call void @llvm.lifetime.end.p0(i64 4, ptr %425) #11
  br label %20761

20761:                                            ; preds = %20760
  br label %20762

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

20763:                                            ; No predecessors!
  br label %20764

20764:                                            ; preds = %20763
  br label %20765

20765:                                            ; preds = %20764, %20706
  br label %20766

20766:                                            ; preds = %20765
  br label %20767

20767:                                            ; preds = %20766
  br label %20768

20768:                                            ; preds = %20767
  %20769 = load i32, ptr @test_count, align 4, !tbaa !5
  %20770 = add nsw i32 %20769, 1
  store i32 %20770, ptr @test_count, align 4, !tbaa !5
  %20771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20772 = load i32, ptr %20771, align 4, !tbaa !5
  %20773 = call ptr @s2n_strerror_debug(i32 noundef %20772, ptr noundef @.str.4)
  %20774 = icmp eq ptr %20773, null
  br i1 %20774, label %20775, label %20828

20775:                                            ; preds = %20768
  br label %20776

20776:                                            ; preds = %20775
  br label %20777

20777:                                            ; preds = %20776
  call void @llvm.lifetime.start.p0(i64 4, ptr %426) #11
  %20778 = call ptr @__errno_location() #12
  %20779 = load i32, ptr %20778, align 4, !tbaa !5
  store i32 %20779, ptr %426, align 4, !tbaa !5
  %20780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20781 = call i32 @s2n_print_stacktrace(ptr noundef %20780)
  %20782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20783 = trunc i8 %20782 to i1
  br i1 %20783, label %20784, label %20806

20784:                                            ; preds = %20777
  %20785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20786 = call i32 @fileno(ptr noundef %20785) #11
  %20787 = call i32 @isatty(i32 noundef %20786) #11
  %20788 = icmp ne i32 %20787, 0
  br i1 %20788, label %20789, label %20806

20789:                                            ; preds = %20784
  %20790 = load i32, ptr %426, align 4, !tbaa !5
  %20791 = call ptr @__errno_location() #12
  store i32 %20790, ptr %20791, align 4, !tbaa !5
  %20792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20793 = load i32, ptr @test_count, align 4, !tbaa !5
  %20794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20795 = load i32, ptr %20794, align 4, !tbaa !5
  %20796 = call ptr @s2n_strerror(i32 noundef %20795, ptr noundef @.str.4)
  %20797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20798 = load i32, ptr %20797, align 4, !tbaa !5
  %20799 = call ptr @s2n_strerror_debug(i32 noundef %20798, ptr noundef @.str.4)
  %20800 = call ptr @__errno_location() #12
  %20801 = load i32, ptr %20800, align 4, !tbaa !5
  %20802 = call ptr @strerror(i32 noundef %20801) #11
  %20803 = call ptr @__errno_location() #12
  %20804 = load i32, ptr %20803, align 4, !tbaa !5
  %20805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20792, ptr noundef @.str.2, i32 noundef %20793, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 631, ptr noundef %20796, ptr noundef %20799, ptr noundef %20802, i32 noundef %20804) #11
  br label %20823

20806:                                            ; preds = %20784, %20777
  %20807 = load i32, ptr %426, align 4, !tbaa !5
  %20808 = call ptr @__errno_location() #12
  store i32 %20807, ptr %20808, align 4, !tbaa !5
  %20809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20810 = load i32, ptr @test_count, align 4, !tbaa !5
  %20811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20812 = load i32, ptr %20811, align 4, !tbaa !5
  %20813 = call ptr @s2n_strerror(i32 noundef %20812, ptr noundef @.str.4)
  %20814 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20815 = load i32, ptr %20814, align 4, !tbaa !5
  %20816 = call ptr @s2n_strerror_debug(i32 noundef %20815, ptr noundef @.str.4)
  %20817 = call ptr @__errno_location() #12
  %20818 = load i32, ptr %20817, align 4, !tbaa !5
  %20819 = call ptr @strerror(i32 noundef %20818) #11
  %20820 = call ptr @__errno_location() #12
  %20821 = load i32, ptr %20820, align 4, !tbaa !5
  %20822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20809, ptr noundef @.str.5, i32 noundef %20810, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 631, ptr noundef %20813, ptr noundef %20816, ptr noundef %20819, i32 noundef %20821) #11
  br label %20823

20823:                                            ; preds = %20806, %20789
  call void @llvm.lifetime.end.p0(i64 4, ptr %426) #11
  br label %20824

20824:                                            ; preds = %20823
  br label %20825

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

20826:                                            ; No predecessors!
  br label %20827

20827:                                            ; preds = %20826
  br label %20828

20828:                                            ; preds = %20827, %20768
  br label %20829

20829:                                            ; preds = %20828
  br label %20830

20830:                                            ; preds = %20829
  br label %20831

20831:                                            ; preds = %20830
  br label %20832

20832:                                            ; preds = %20831
  br label %20833

20833:                                            ; preds = %20832
  %20834 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %20834, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %20835 = call ptr @__errno_location() #12
  store i32 0, ptr %20835, align 4, !tbaa !5
  br label %20836

20836:                                            ; preds = %20833
  br label %20837

20837:                                            ; preds = %20836
  br label %20838

20838:                                            ; preds = %20837
  br label %20839

20839:                                            ; preds = %20838
  br label %20840

20840:                                            ; preds = %20839
  %20841 = load i32, ptr @test_count, align 4, !tbaa !5
  %20842 = add nsw i32 %20841, 1
  store i32 %20842, ptr @test_count, align 4, !tbaa !5
  %20843 = load i32, ptr %386, align 4, !tbaa !5
  %20844 = icmp eq i32 %20843, 2
  br i1 %20844, label %20898, label %20845

20845:                                            ; preds = %20840
  br label %20846

20846:                                            ; preds = %20845
  br label %20847

20847:                                            ; preds = %20846
  call void @llvm.lifetime.start.p0(i64 4, ptr %427) #11
  %20848 = call ptr @__errno_location() #12
  %20849 = load i32, ptr %20848, align 4, !tbaa !5
  store i32 %20849, ptr %427, align 4, !tbaa !5
  %20850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20851 = call i32 @s2n_print_stacktrace(ptr noundef %20850)
  %20852 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20853 = trunc i8 %20852 to i1
  br i1 %20853, label %20854, label %20876

20854:                                            ; preds = %20847
  %20855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20856 = call i32 @fileno(ptr noundef %20855) #11
  %20857 = call i32 @isatty(i32 noundef %20856) #11
  %20858 = icmp ne i32 %20857, 0
  br i1 %20858, label %20859, label %20876

20859:                                            ; preds = %20854
  %20860 = load i32, ptr %427, align 4, !tbaa !5
  %20861 = call ptr @__errno_location() #12
  store i32 %20860, ptr %20861, align 4, !tbaa !5
  %20862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20863 = load i32, ptr @test_count, align 4, !tbaa !5
  %20864 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20865 = load i32, ptr %20864, align 4, !tbaa !5
  %20866 = call ptr @s2n_strerror(i32 noundef %20865, ptr noundef @.str.4)
  %20867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20868 = load i32, ptr %20867, align 4, !tbaa !5
  %20869 = call ptr @s2n_strerror_debug(i32 noundef %20868, ptr noundef @.str.4)
  %20870 = call ptr @__errno_location() #12
  %20871 = load i32, ptr %20870, align 4, !tbaa !5
  %20872 = call ptr @strerror(i32 noundef %20871) #11
  %20873 = call ptr @__errno_location() #12
  %20874 = load i32, ptr %20873, align 4, !tbaa !5
  %20875 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20862, ptr noundef @.str.2, i32 noundef %20863, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 632, ptr noundef %20866, ptr noundef %20869, ptr noundef %20872, i32 noundef %20874) #11
  br label %20893

20876:                                            ; preds = %20854, %20847
  %20877 = load i32, ptr %427, align 4, !tbaa !5
  %20878 = call ptr @__errno_location() #12
  store i32 %20877, ptr %20878, align 4, !tbaa !5
  %20879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20880 = load i32, ptr @test_count, align 4, !tbaa !5
  %20881 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20882 = load i32, ptr %20881, align 4, !tbaa !5
  %20883 = call ptr @s2n_strerror(i32 noundef %20882, ptr noundef @.str.4)
  %20884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20885 = load i32, ptr %20884, align 4, !tbaa !5
  %20886 = call ptr @s2n_strerror_debug(i32 noundef %20885, ptr noundef @.str.4)
  %20887 = call ptr @__errno_location() #12
  %20888 = load i32, ptr %20887, align 4, !tbaa !5
  %20889 = call ptr @strerror(i32 noundef %20888) #11
  %20890 = call ptr @__errno_location() #12
  %20891 = load i32, ptr %20890, align 4, !tbaa !5
  %20892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20879, ptr noundef @.str.5, i32 noundef %20880, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 632, ptr noundef %20883, ptr noundef %20886, ptr noundef %20889, i32 noundef %20891) #11
  br label %20893

20893:                                            ; preds = %20876, %20859
  call void @llvm.lifetime.end.p0(i64 4, ptr %427) #11
  br label %20894

20894:                                            ; preds = %20893
  br label %20895

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

20896:                                            ; No predecessors!
  br label %20897

20897:                                            ; preds = %20896
  br label %20898

20898:                                            ; preds = %20897, %20840
  br label %20899

20899:                                            ; preds = %20898
  br label %20900

20900:                                            ; preds = %20899
  br label %20901

20901:                                            ; preds = %20900
  %20902 = load i32, ptr @test_count, align 4, !tbaa !5
  %20903 = add nsw i32 %20902, 1
  store i32 %20903, ptr @test_count, align 4, !tbaa !5
  %20904 = load i64, ptr %387, align 8, !tbaa !42
  %20905 = icmp eq i64 %20904, 0
  br i1 %20905, label %20959, label %20906

20906:                                            ; preds = %20901
  br label %20907

20907:                                            ; preds = %20906
  br label %20908

20908:                                            ; preds = %20907
  call void @llvm.lifetime.start.p0(i64 4, ptr %428) #11
  %20909 = call ptr @__errno_location() #12
  %20910 = load i32, ptr %20909, align 4, !tbaa !5
  store i32 %20910, ptr %428, align 4, !tbaa !5
  %20911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20912 = call i32 @s2n_print_stacktrace(ptr noundef %20911)
  %20913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20914 = trunc i8 %20913 to i1
  br i1 %20914, label %20915, label %20937

20915:                                            ; preds = %20908
  %20916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20917 = call i32 @fileno(ptr noundef %20916) #11
  %20918 = call i32 @isatty(i32 noundef %20917) #11
  %20919 = icmp ne i32 %20918, 0
  br i1 %20919, label %20920, label %20937

20920:                                            ; preds = %20915
  %20921 = load i32, ptr %428, align 4, !tbaa !5
  %20922 = call ptr @__errno_location() #12
  store i32 %20921, ptr %20922, align 4, !tbaa !5
  %20923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20924 = load i32, ptr @test_count, align 4, !tbaa !5
  %20925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20926 = load i32, ptr %20925, align 4, !tbaa !5
  %20927 = call ptr @s2n_strerror(i32 noundef %20926, ptr noundef @.str.4)
  %20928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20929 = load i32, ptr %20928, align 4, !tbaa !5
  %20930 = call ptr @s2n_strerror_debug(i32 noundef %20929, ptr noundef @.str.4)
  %20931 = call ptr @__errno_location() #12
  %20932 = load i32, ptr %20931, align 4, !tbaa !5
  %20933 = call ptr @strerror(i32 noundef %20932) #11
  %20934 = call ptr @__errno_location() #12
  %20935 = load i32, ptr %20934, align 4, !tbaa !5
  %20936 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20923, ptr noundef @.str.2, i32 noundef %20924, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 633, ptr noundef %20927, ptr noundef %20930, ptr noundef %20933, i32 noundef %20935) #11
  br label %20954

20937:                                            ; preds = %20915, %20908
  %20938 = load i32, ptr %428, align 4, !tbaa !5
  %20939 = call ptr @__errno_location() #12
  store i32 %20938, ptr %20939, align 4, !tbaa !5
  %20940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20941 = load i32, ptr @test_count, align 4, !tbaa !5
  %20942 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20943 = load i32, ptr %20942, align 4, !tbaa !5
  %20944 = call ptr @s2n_strerror(i32 noundef %20943, ptr noundef @.str.4)
  %20945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20946 = load i32, ptr %20945, align 4, !tbaa !5
  %20947 = call ptr @s2n_strerror_debug(i32 noundef %20946, ptr noundef @.str.4)
  %20948 = call ptr @__errno_location() #12
  %20949 = load i32, ptr %20948, align 4, !tbaa !5
  %20950 = call ptr @strerror(i32 noundef %20949) #11
  %20951 = call ptr @__errno_location() #12
  %20952 = load i32, ptr %20951, align 4, !tbaa !5
  %20953 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20940, ptr noundef @.str.5, i32 noundef %20941, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 633, ptr noundef %20944, ptr noundef %20947, ptr noundef %20950, i32 noundef %20952) #11
  br label %20954

20954:                                            ; preds = %20937, %20920
  call void @llvm.lifetime.end.p0(i64 4, ptr %428) #11
  br label %20955

20955:                                            ; preds = %20954
  br label %20956

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

20957:                                            ; No predecessors!
  br label %20958

20958:                                            ; preds = %20957
  br label %20959

20959:                                            ; preds = %20958, %20901
  br label %20960

20960:                                            ; preds = %20959
  br label %20961

20961:                                            ; preds = %20960
  br label %20636, !llvm.loop !52

20962:                                            ; preds = %20636
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_reads, align 1, !tbaa !43
  br label %20963

20963:                                            ; preds = %20962
  br label %20964

20964:                                            ; preds = %20963
  br label %20965

20965:                                            ; preds = %20964
  %20966 = load i32, ptr @test_count, align 4, !tbaa !5
  %20967 = add nsw i32 %20966, 1
  store i32 %20967, ptr @test_count, align 4, !tbaa !5
  %20968 = load ptr, ptr %376, align 8, !tbaa !9
  %20969 = getelementptr inbounds [100 x i8], ptr %385, i64 0, i64 0
  %20970 = call i32 @s2n_recv_early_data(ptr noundef %20968, ptr noundef %20969, i64 noundef 100, ptr noundef %387, ptr noundef %386)
  %20971 = icmp eq i32 %20970, -1
  br i1 %20971, label %21025, label %20972

20972:                                            ; preds = %20965
  br label %20973

20973:                                            ; preds = %20972
  br label %20974

20974:                                            ; preds = %20973
  call void @llvm.lifetime.start.p0(i64 4, ptr %429) #11
  %20975 = call ptr @__errno_location() #12
  %20976 = load i32, ptr %20975, align 4, !tbaa !5
  store i32 %20976, ptr %429, align 4, !tbaa !5
  %20977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20978 = call i32 @s2n_print_stacktrace(ptr noundef %20977)
  %20979 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %20980 = trunc i8 %20979 to i1
  br i1 %20980, label %20981, label %21003

20981:                                            ; preds = %20974
  %20982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20983 = call i32 @fileno(ptr noundef %20982) #11
  %20984 = call i32 @isatty(i32 noundef %20983) #11
  %20985 = icmp ne i32 %20984, 0
  br i1 %20985, label %20986, label %21003

20986:                                            ; preds = %20981
  %20987 = load i32, ptr %429, align 4, !tbaa !5
  %20988 = call ptr @__errno_location() #12
  store i32 %20987, ptr %20988, align 4, !tbaa !5
  %20989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %20990 = load i32, ptr @test_count, align 4, !tbaa !5
  %20991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20992 = load i32, ptr %20991, align 4, !tbaa !5
  %20993 = call ptr @s2n_strerror(i32 noundef %20992, ptr noundef @.str.4)
  %20994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %20995 = load i32, ptr %20994, align 4, !tbaa !5
  %20996 = call ptr @s2n_strerror_debug(i32 noundef %20995, ptr noundef @.str.4)
  %20997 = call ptr @__errno_location() #12
  %20998 = load i32, ptr %20997, align 4, !tbaa !5
  %20999 = call ptr @strerror(i32 noundef %20998) #11
  %21000 = call ptr @__errno_location() #12
  %21001 = load i32, ptr %21000, align 4, !tbaa !5
  %21002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %20989, ptr noundef @.str.2, i32 noundef %20990, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 639, ptr noundef %20993, ptr noundef %20996, ptr noundef %20999, i32 noundef %21001) #11
  br label %21020

21003:                                            ; preds = %20981, %20974
  %21004 = load i32, ptr %429, align 4, !tbaa !5
  %21005 = call ptr @__errno_location() #12
  store i32 %21004, ptr %21005, align 4, !tbaa !5
  %21006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21007 = load i32, ptr @test_count, align 4, !tbaa !5
  %21008 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21009 = load i32, ptr %21008, align 4, !tbaa !5
  %21010 = call ptr @s2n_strerror(i32 noundef %21009, ptr noundef @.str.4)
  %21011 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21012 = load i32, ptr %21011, align 4, !tbaa !5
  %21013 = call ptr @s2n_strerror_debug(i32 noundef %21012, ptr noundef @.str.4)
  %21014 = call ptr @__errno_location() #12
  %21015 = load i32, ptr %21014, align 4, !tbaa !5
  %21016 = call ptr @strerror(i32 noundef %21015) #11
  %21017 = call ptr @__errno_location() #12
  %21018 = load i32, ptr %21017, align 4, !tbaa !5
  %21019 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21006, ptr noundef @.str.5, i32 noundef %21007, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 639, ptr noundef %21010, ptr noundef %21013, ptr noundef %21016, i32 noundef %21018) #11
  br label %21020

21020:                                            ; preds = %21003, %20986
  call void @llvm.lifetime.end.p0(i64 4, ptr %429) #11
  br label %21021

21021:                                            ; preds = %21020
  br label %21022

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

21023:                                            ; No predecessors!
  br label %21024

21024:                                            ; preds = %21023
  br label %21025

21025:                                            ; preds = %21024, %20965
  br label %21026

21026:                                            ; preds = %21025
  br label %21027

21027:                                            ; preds = %21026
  br label %21028

21028:                                            ; preds = %21027
  %21029 = load i32, ptr @test_count, align 4, !tbaa !5
  %21030 = add nsw i32 %21029, 1
  store i32 %21030, ptr @test_count, align 4, !tbaa !5
  %21031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21032 = load i32, ptr %21031, align 4, !tbaa !5
  %21033 = icmp eq i32 %21032, 201326592
  br i1 %21033, label %21087, label %21034

21034:                                            ; preds = %21028
  br label %21035

21035:                                            ; preds = %21034
  br label %21036

21036:                                            ; preds = %21035
  call void @llvm.lifetime.start.p0(i64 4, ptr %430) #11
  %21037 = call ptr @__errno_location() #12
  %21038 = load i32, ptr %21037, align 4, !tbaa !5
  store i32 %21038, ptr %430, align 4, !tbaa !5
  %21039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21040 = call i32 @s2n_print_stacktrace(ptr noundef %21039)
  %21041 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21042 = trunc i8 %21041 to i1
  br i1 %21042, label %21043, label %21065

21043:                                            ; preds = %21036
  %21044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21045 = call i32 @fileno(ptr noundef %21044) #11
  %21046 = call i32 @isatty(i32 noundef %21045) #11
  %21047 = icmp ne i32 %21046, 0
  br i1 %21047, label %21048, label %21065

21048:                                            ; preds = %21043
  %21049 = load i32, ptr %430, align 4, !tbaa !5
  %21050 = call ptr @__errno_location() #12
  store i32 %21049, ptr %21050, align 4, !tbaa !5
  %21051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21052 = load i32, ptr @test_count, align 4, !tbaa !5
  %21053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21054 = load i32, ptr %21053, align 4, !tbaa !5
  %21055 = call ptr @s2n_strerror(i32 noundef %21054, ptr noundef @.str.4)
  %21056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21057 = load i32, ptr %21056, align 4, !tbaa !5
  %21058 = call ptr @s2n_strerror_debug(i32 noundef %21057, ptr noundef @.str.4)
  %21059 = call ptr @__errno_location() #12
  %21060 = load i32, ptr %21059, align 4, !tbaa !5
  %21061 = call ptr @strerror(i32 noundef %21060) #11
  %21062 = call ptr @__errno_location() #12
  %21063 = load i32, ptr %21062, align 4, !tbaa !5
  %21064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21051, ptr noundef @.str.2, i32 noundef %21052, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 639, ptr noundef %21055, ptr noundef %21058, ptr noundef %21061, i32 noundef %21063) #11
  br label %21082

21065:                                            ; preds = %21043, %21036
  %21066 = load i32, ptr %430, align 4, !tbaa !5
  %21067 = call ptr @__errno_location() #12
  store i32 %21066, ptr %21067, align 4, !tbaa !5
  %21068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21069 = load i32, ptr @test_count, align 4, !tbaa !5
  %21070 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21071 = load i32, ptr %21070, align 4, !tbaa !5
  %21072 = call ptr @s2n_strerror(i32 noundef %21071, ptr noundef @.str.4)
  %21073 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21074 = load i32, ptr %21073, align 4, !tbaa !5
  %21075 = call ptr @s2n_strerror_debug(i32 noundef %21074, ptr noundef @.str.4)
  %21076 = call ptr @__errno_location() #12
  %21077 = load i32, ptr %21076, align 4, !tbaa !5
  %21078 = call ptr @strerror(i32 noundef %21077) #11
  %21079 = call ptr @__errno_location() #12
  %21080 = load i32, ptr %21079, align 4, !tbaa !5
  %21081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21068, ptr noundef @.str.5, i32 noundef %21069, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 639, ptr noundef %21072, ptr noundef %21075, ptr noundef %21078, i32 noundef %21080) #11
  br label %21082

21082:                                            ; preds = %21065, %21048
  call void @llvm.lifetime.end.p0(i64 4, ptr %430) #11
  br label %21083

21083:                                            ; preds = %21082
  br label %21084

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

21085:                                            ; No predecessors!
  br label %21086

21086:                                            ; preds = %21085
  br label %21087

21087:                                            ; preds = %21086, %21028
  br label %21088

21088:                                            ; preds = %21087
  br label %21089

21089:                                            ; preds = %21088
  br label %21090

21090:                                            ; preds = %21089
  %21091 = load i32, ptr @test_count, align 4, !tbaa !5
  %21092 = add nsw i32 %21091, 1
  store i32 %21092, ptr @test_count, align 4, !tbaa !5
  %21093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21094 = load i32, ptr %21093, align 4, !tbaa !5
  %21095 = call ptr @s2n_strerror_debug(i32 noundef %21094, ptr noundef @.str.4)
  %21096 = icmp eq ptr %21095, null
  br i1 %21096, label %21097, label %21150

21097:                                            ; preds = %21090
  br label %21098

21098:                                            ; preds = %21097
  br label %21099

21099:                                            ; preds = %21098
  call void @llvm.lifetime.start.p0(i64 4, ptr %431) #11
  %21100 = call ptr @__errno_location() #12
  %21101 = load i32, ptr %21100, align 4, !tbaa !5
  store i32 %21101, ptr %431, align 4, !tbaa !5
  %21102 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21103 = call i32 @s2n_print_stacktrace(ptr noundef %21102)
  %21104 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21105 = trunc i8 %21104 to i1
  br i1 %21105, label %21106, label %21128

21106:                                            ; preds = %21099
  %21107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21108 = call i32 @fileno(ptr noundef %21107) #11
  %21109 = call i32 @isatty(i32 noundef %21108) #11
  %21110 = icmp ne i32 %21109, 0
  br i1 %21110, label %21111, label %21128

21111:                                            ; preds = %21106
  %21112 = load i32, ptr %431, align 4, !tbaa !5
  %21113 = call ptr @__errno_location() #12
  store i32 %21112, ptr %21113, align 4, !tbaa !5
  %21114 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21115 = load i32, ptr @test_count, align 4, !tbaa !5
  %21116 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21117 = load i32, ptr %21116, align 4, !tbaa !5
  %21118 = call ptr @s2n_strerror(i32 noundef %21117, ptr noundef @.str.4)
  %21119 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21120 = load i32, ptr %21119, align 4, !tbaa !5
  %21121 = call ptr @s2n_strerror_debug(i32 noundef %21120, ptr noundef @.str.4)
  %21122 = call ptr @__errno_location() #12
  %21123 = load i32, ptr %21122, align 4, !tbaa !5
  %21124 = call ptr @strerror(i32 noundef %21123) #11
  %21125 = call ptr @__errno_location() #12
  %21126 = load i32, ptr %21125, align 4, !tbaa !5
  %21127 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21114, ptr noundef @.str.2, i32 noundef %21115, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 639, ptr noundef %21118, ptr noundef %21121, ptr noundef %21124, i32 noundef %21126) #11
  br label %21145

21128:                                            ; preds = %21106, %21099
  %21129 = load i32, ptr %431, align 4, !tbaa !5
  %21130 = call ptr @__errno_location() #12
  store i32 %21129, ptr %21130, align 4, !tbaa !5
  %21131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21132 = load i32, ptr @test_count, align 4, !tbaa !5
  %21133 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21134 = load i32, ptr %21133, align 4, !tbaa !5
  %21135 = call ptr @s2n_strerror(i32 noundef %21134, ptr noundef @.str.4)
  %21136 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21137 = load i32, ptr %21136, align 4, !tbaa !5
  %21138 = call ptr @s2n_strerror_debug(i32 noundef %21137, ptr noundef @.str.4)
  %21139 = call ptr @__errno_location() #12
  %21140 = load i32, ptr %21139, align 4, !tbaa !5
  %21141 = call ptr @strerror(i32 noundef %21140) #11
  %21142 = call ptr @__errno_location() #12
  %21143 = load i32, ptr %21142, align 4, !tbaa !5
  %21144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21131, ptr noundef @.str.5, i32 noundef %21132, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 639, ptr noundef %21135, ptr noundef %21138, ptr noundef %21141, i32 noundef %21143) #11
  br label %21145

21145:                                            ; preds = %21128, %21111
  call void @llvm.lifetime.end.p0(i64 4, ptr %431) #11
  br label %21146

21146:                                            ; preds = %21145
  br label %21147

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

21148:                                            ; No predecessors!
  br label %21149

21149:                                            ; preds = %21148
  br label %21150

21150:                                            ; preds = %21149, %21090
  br label %21151

21151:                                            ; preds = %21150
  br label %21152

21152:                                            ; preds = %21151
  br label %21153

21153:                                            ; preds = %21152
  br label %21154

21154:                                            ; preds = %21153
  br label %21155

21155:                                            ; preds = %21154
  %21156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21156, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21157 = call ptr @__errno_location() #12
  store i32 0, ptr %21157, align 4, !tbaa !5
  br label %21158

21158:                                            ; preds = %21155
  br label %21159

21159:                                            ; preds = %21158
  br label %21160

21160:                                            ; preds = %21159
  br label %21161

21161:                                            ; preds = %21160
  br label %21162

21162:                                            ; preds = %21161
  %21163 = load i32, ptr @test_count, align 4, !tbaa !5
  %21164 = add nsw i32 %21163, 1
  store i32 %21164, ptr @test_count, align 4, !tbaa !5
  %21165 = load i32, ptr %386, align 4, !tbaa !5
  %21166 = icmp eq i32 %21165, 1
  br i1 %21166, label %21220, label %21167

21167:                                            ; preds = %21162
  br label %21168

21168:                                            ; preds = %21167
  br label %21169

21169:                                            ; preds = %21168
  call void @llvm.lifetime.start.p0(i64 4, ptr %432) #11
  %21170 = call ptr @__errno_location() #12
  %21171 = load i32, ptr %21170, align 4, !tbaa !5
  store i32 %21171, ptr %432, align 4, !tbaa !5
  %21172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21173 = call i32 @s2n_print_stacktrace(ptr noundef %21172)
  %21174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21175 = trunc i8 %21174 to i1
  br i1 %21175, label %21176, label %21198

21176:                                            ; preds = %21169
  %21177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21178 = call i32 @fileno(ptr noundef %21177) #11
  %21179 = call i32 @isatty(i32 noundef %21178) #11
  %21180 = icmp ne i32 %21179, 0
  br i1 %21180, label %21181, label %21198

21181:                                            ; preds = %21176
  %21182 = load i32, ptr %432, align 4, !tbaa !5
  %21183 = call ptr @__errno_location() #12
  store i32 %21182, ptr %21183, align 4, !tbaa !5
  %21184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21185 = load i32, ptr @test_count, align 4, !tbaa !5
  %21186 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21187 = load i32, ptr %21186, align 4, !tbaa !5
  %21188 = call ptr @s2n_strerror(i32 noundef %21187, ptr noundef @.str.4)
  %21189 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21190 = load i32, ptr %21189, align 4, !tbaa !5
  %21191 = call ptr @s2n_strerror_debug(i32 noundef %21190, ptr noundef @.str.4)
  %21192 = call ptr @__errno_location() #12
  %21193 = load i32, ptr %21192, align 4, !tbaa !5
  %21194 = call ptr @strerror(i32 noundef %21193) #11
  %21195 = call ptr @__errno_location() #12
  %21196 = load i32, ptr %21195, align 4, !tbaa !5
  %21197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21184, ptr noundef @.str.2, i32 noundef %21185, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 640, ptr noundef %21188, ptr noundef %21191, ptr noundef %21194, i32 noundef %21196) #11
  br label %21215

21198:                                            ; preds = %21176, %21169
  %21199 = load i32, ptr %432, align 4, !tbaa !5
  %21200 = call ptr @__errno_location() #12
  store i32 %21199, ptr %21200, align 4, !tbaa !5
  %21201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21202 = load i32, ptr @test_count, align 4, !tbaa !5
  %21203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21204 = load i32, ptr %21203, align 4, !tbaa !5
  %21205 = call ptr @s2n_strerror(i32 noundef %21204, ptr noundef @.str.4)
  %21206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21207 = load i32, ptr %21206, align 4, !tbaa !5
  %21208 = call ptr @s2n_strerror_debug(i32 noundef %21207, ptr noundef @.str.4)
  %21209 = call ptr @__errno_location() #12
  %21210 = load i32, ptr %21209, align 4, !tbaa !5
  %21211 = call ptr @strerror(i32 noundef %21210) #11
  %21212 = call ptr @__errno_location() #12
  %21213 = load i32, ptr %21212, align 4, !tbaa !5
  %21214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21201, ptr noundef @.str.5, i32 noundef %21202, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 640, ptr noundef %21205, ptr noundef %21208, ptr noundef %21211, i32 noundef %21213) #11
  br label %21215

21215:                                            ; preds = %21198, %21181
  call void @llvm.lifetime.end.p0(i64 4, ptr %432) #11
  br label %21216

21216:                                            ; preds = %21215
  br label %21217

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

21218:                                            ; No predecessors!
  br label %21219

21219:                                            ; preds = %21218
  br label %21220

21220:                                            ; preds = %21219, %21162
  br label %21221

21221:                                            ; preds = %21220
  br label %21222

21222:                                            ; preds = %21221
  br label %21223

21223:                                            ; preds = %21222
  %21224 = load i32, ptr @test_count, align 4, !tbaa !5
  %21225 = add nsw i32 %21224, 1
  store i32 %21225, ptr @test_count, align 4, !tbaa !5
  %21226 = load ptr, ptr %376, align 8, !tbaa !9
  %21227 = call i32 @s2n_conn_get_current_message_type(ptr noundef %21226)
  %21228 = icmp eq i32 %21227, 19
  br i1 %21228, label %21282, label %21229

21229:                                            ; preds = %21223
  br label %21230

21230:                                            ; preds = %21229
  br label %21231

21231:                                            ; preds = %21230
  call void @llvm.lifetime.start.p0(i64 4, ptr %433) #11
  %21232 = call ptr @__errno_location() #12
  %21233 = load i32, ptr %21232, align 4, !tbaa !5
  store i32 %21233, ptr %433, align 4, !tbaa !5
  %21234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21235 = call i32 @s2n_print_stacktrace(ptr noundef %21234)
  %21236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21237 = trunc i8 %21236 to i1
  br i1 %21237, label %21238, label %21260

21238:                                            ; preds = %21231
  %21239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21240 = call i32 @fileno(ptr noundef %21239) #11
  %21241 = call i32 @isatty(i32 noundef %21240) #11
  %21242 = icmp ne i32 %21241, 0
  br i1 %21242, label %21243, label %21260

21243:                                            ; preds = %21238
  %21244 = load i32, ptr %433, align 4, !tbaa !5
  %21245 = call ptr @__errno_location() #12
  store i32 %21244, ptr %21245, align 4, !tbaa !5
  %21246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21247 = load i32, ptr @test_count, align 4, !tbaa !5
  %21248 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21249 = load i32, ptr %21248, align 4, !tbaa !5
  %21250 = call ptr @s2n_strerror(i32 noundef %21249, ptr noundef @.str.4)
  %21251 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21252 = load i32, ptr %21251, align 4, !tbaa !5
  %21253 = call ptr @s2n_strerror_debug(i32 noundef %21252, ptr noundef @.str.4)
  %21254 = call ptr @__errno_location() #12
  %21255 = load i32, ptr %21254, align 4, !tbaa !5
  %21256 = call ptr @strerror(i32 noundef %21255) #11
  %21257 = call ptr @__errno_location() #12
  %21258 = load i32, ptr %21257, align 4, !tbaa !5
  %21259 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21246, ptr noundef @.str.2, i32 noundef %21247, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 640, ptr noundef %21250, ptr noundef %21253, ptr noundef %21256, i32 noundef %21258) #11
  br label %21277

21260:                                            ; preds = %21238, %21231
  %21261 = load i32, ptr %433, align 4, !tbaa !5
  %21262 = call ptr @__errno_location() #12
  store i32 %21261, ptr %21262, align 4, !tbaa !5
  %21263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21264 = load i32, ptr @test_count, align 4, !tbaa !5
  %21265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21266 = load i32, ptr %21265, align 4, !tbaa !5
  %21267 = call ptr @s2n_strerror(i32 noundef %21266, ptr noundef @.str.4)
  %21268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21269 = load i32, ptr %21268, align 4, !tbaa !5
  %21270 = call ptr @s2n_strerror_debug(i32 noundef %21269, ptr noundef @.str.4)
  %21271 = call ptr @__errno_location() #12
  %21272 = load i32, ptr %21271, align 4, !tbaa !5
  %21273 = call ptr @strerror(i32 noundef %21272) #11
  %21274 = call ptr @__errno_location() #12
  %21275 = load i32, ptr %21274, align 4, !tbaa !5
  %21276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21263, ptr noundef @.str.5, i32 noundef %21264, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 640, ptr noundef %21267, ptr noundef %21270, ptr noundef %21273, i32 noundef %21275) #11
  br label %21277

21277:                                            ; preds = %21260, %21243
  call void @llvm.lifetime.end.p0(i64 4, ptr %433) #11
  br label %21278

21278:                                            ; preds = %21277
  br label %21279

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

21280:                                            ; No predecessors!
  br label %21281

21281:                                            ; preds = %21280
  br label %21282

21282:                                            ; preds = %21281, %21223
  br label %21283

21283:                                            ; preds = %21282
  br label %21284

21284:                                            ; preds = %21283
  br label %21285

21285:                                            ; preds = %21284
  %21286 = load i32, ptr @test_count, align 4, !tbaa !5
  %21287 = add nsw i32 %21286, 1
  store i32 %21287, ptr @test_count, align 4, !tbaa !5
  %21288 = load i64, ptr %387, align 8, !tbaa !42
  %21289 = icmp eq i64 %21288, 0
  br i1 %21289, label %21343, label %21290

21290:                                            ; preds = %21285
  br label %21291

21291:                                            ; preds = %21290
  br label %21292

21292:                                            ; preds = %21291
  call void @llvm.lifetime.start.p0(i64 4, ptr %434) #11
  %21293 = call ptr @__errno_location() #12
  %21294 = load i32, ptr %21293, align 4, !tbaa !5
  store i32 %21294, ptr %434, align 4, !tbaa !5
  %21295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21296 = call i32 @s2n_print_stacktrace(ptr noundef %21295)
  %21297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21298 = trunc i8 %21297 to i1
  br i1 %21298, label %21299, label %21321

21299:                                            ; preds = %21292
  %21300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21301 = call i32 @fileno(ptr noundef %21300) #11
  %21302 = call i32 @isatty(i32 noundef %21301) #11
  %21303 = icmp ne i32 %21302, 0
  br i1 %21303, label %21304, label %21321

21304:                                            ; preds = %21299
  %21305 = load i32, ptr %434, align 4, !tbaa !5
  %21306 = call ptr @__errno_location() #12
  store i32 %21305, ptr %21306, align 4, !tbaa !5
  %21307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21308 = load i32, ptr @test_count, align 4, !tbaa !5
  %21309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21310 = load i32, ptr %21309, align 4, !tbaa !5
  %21311 = call ptr @s2n_strerror(i32 noundef %21310, ptr noundef @.str.4)
  %21312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21313 = load i32, ptr %21312, align 4, !tbaa !5
  %21314 = call ptr @s2n_strerror_debug(i32 noundef %21313, ptr noundef @.str.4)
  %21315 = call ptr @__errno_location() #12
  %21316 = load i32, ptr %21315, align 4, !tbaa !5
  %21317 = call ptr @strerror(i32 noundef %21316) #11
  %21318 = call ptr @__errno_location() #12
  %21319 = load i32, ptr %21318, align 4, !tbaa !5
  %21320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21307, ptr noundef @.str.2, i32 noundef %21308, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 641, ptr noundef %21311, ptr noundef %21314, ptr noundef %21317, i32 noundef %21319) #11
  br label %21338

21321:                                            ; preds = %21299, %21292
  %21322 = load i32, ptr %434, align 4, !tbaa !5
  %21323 = call ptr @__errno_location() #12
  store i32 %21322, ptr %21323, align 4, !tbaa !5
  %21324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21325 = load i32, ptr @test_count, align 4, !tbaa !5
  %21326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21327 = load i32, ptr %21326, align 4, !tbaa !5
  %21328 = call ptr @s2n_strerror(i32 noundef %21327, ptr noundef @.str.4)
  %21329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21330 = load i32, ptr %21329, align 4, !tbaa !5
  %21331 = call ptr @s2n_strerror_debug(i32 noundef %21330, ptr noundef @.str.4)
  %21332 = call ptr @__errno_location() #12
  %21333 = load i32, ptr %21332, align 4, !tbaa !5
  %21334 = call ptr @strerror(i32 noundef %21333) #11
  %21335 = call ptr @__errno_location() #12
  %21336 = load i32, ptr %21335, align 4, !tbaa !5
  %21337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21324, ptr noundef @.str.5, i32 noundef %21325, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 641, ptr noundef %21328, ptr noundef %21331, ptr noundef %21334, i32 noundef %21336) #11
  br label %21338

21338:                                            ; preds = %21321, %21304
  call void @llvm.lifetime.end.p0(i64 4, ptr %434) #11
  br label %21339

21339:                                            ; preds = %21338
  br label %21340

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

21341:                                            ; No predecessors!
  br label %21342

21342:                                            ; preds = %21341
  br label %21343

21343:                                            ; preds = %21342, %21285
  br label %21344

21344:                                            ; preds = %21343
  br label %21345

21345:                                            ; preds = %21344
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  br label %21346

21346:                                            ; preds = %21345
  br label %21347

21347:                                            ; preds = %21346
  br label %21348

21348:                                            ; preds = %21347
  %21349 = load i32, ptr @test_count, align 4, !tbaa !5
  %21350 = add nsw i32 %21349, 1
  store i32 %21350, ptr @test_count, align 4, !tbaa !5
  %21351 = load ptr, ptr %376, align 8, !tbaa !9
  %21352 = getelementptr inbounds [100 x i8], ptr %385, i64 0, i64 0
  %21353 = call i32 @s2n_recv_early_data(ptr noundef %21351, ptr noundef %21352, i64 noundef 100, ptr noundef %387, ptr noundef %386)
  %21354 = icmp eq i32 %21353, -1
  br i1 %21354, label %21408, label %21355

21355:                                            ; preds = %21348
  br label %21356

21356:                                            ; preds = %21355
  br label %21357

21357:                                            ; preds = %21356
  call void @llvm.lifetime.start.p0(i64 4, ptr %435) #11
  %21358 = call ptr @__errno_location() #12
  %21359 = load i32, ptr %21358, align 4, !tbaa !5
  store i32 %21359, ptr %435, align 4, !tbaa !5
  %21360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21361 = call i32 @s2n_print_stacktrace(ptr noundef %21360)
  %21362 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21363 = trunc i8 %21362 to i1
  br i1 %21363, label %21364, label %21386

21364:                                            ; preds = %21357
  %21365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21366 = call i32 @fileno(ptr noundef %21365) #11
  %21367 = call i32 @isatty(i32 noundef %21366) #11
  %21368 = icmp ne i32 %21367, 0
  br i1 %21368, label %21369, label %21386

21369:                                            ; preds = %21364
  %21370 = load i32, ptr %435, align 4, !tbaa !5
  %21371 = call ptr @__errno_location() #12
  store i32 %21370, ptr %21371, align 4, !tbaa !5
  %21372 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21373 = load i32, ptr @test_count, align 4, !tbaa !5
  %21374 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21375 = load i32, ptr %21374, align 4, !tbaa !5
  %21376 = call ptr @s2n_strerror(i32 noundef %21375, ptr noundef @.str.4)
  %21377 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21378 = load i32, ptr %21377, align 4, !tbaa !5
  %21379 = call ptr @s2n_strerror_debug(i32 noundef %21378, ptr noundef @.str.4)
  %21380 = call ptr @__errno_location() #12
  %21381 = load i32, ptr %21380, align 4, !tbaa !5
  %21382 = call ptr @strerror(i32 noundef %21381) #11
  %21383 = call ptr @__errno_location() #12
  %21384 = load i32, ptr %21383, align 4, !tbaa !5
  %21385 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21372, ptr noundef @.str.2, i32 noundef %21373, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 645, ptr noundef %21376, ptr noundef %21379, ptr noundef %21382, i32 noundef %21384) #11
  br label %21403

21386:                                            ; preds = %21364, %21357
  %21387 = load i32, ptr %435, align 4, !tbaa !5
  %21388 = call ptr @__errno_location() #12
  store i32 %21387, ptr %21388, align 4, !tbaa !5
  %21389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21390 = load i32, ptr @test_count, align 4, !tbaa !5
  %21391 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21392 = load i32, ptr %21391, align 4, !tbaa !5
  %21393 = call ptr @s2n_strerror(i32 noundef %21392, ptr noundef @.str.4)
  %21394 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21395 = load i32, ptr %21394, align 4, !tbaa !5
  %21396 = call ptr @s2n_strerror_debug(i32 noundef %21395, ptr noundef @.str.4)
  %21397 = call ptr @__errno_location() #12
  %21398 = load i32, ptr %21397, align 4, !tbaa !5
  %21399 = call ptr @strerror(i32 noundef %21398) #11
  %21400 = call ptr @__errno_location() #12
  %21401 = load i32, ptr %21400, align 4, !tbaa !5
  %21402 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21389, ptr noundef @.str.5, i32 noundef %21390, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 645, ptr noundef %21393, ptr noundef %21396, ptr noundef %21399, i32 noundef %21401) #11
  br label %21403

21403:                                            ; preds = %21386, %21369
  call void @llvm.lifetime.end.p0(i64 4, ptr %435) #11
  br label %21404

21404:                                            ; preds = %21403
  br label %21405

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

21406:                                            ; No predecessors!
  br label %21407

21407:                                            ; preds = %21406
  br label %21408

21408:                                            ; preds = %21407, %21348
  br label %21409

21409:                                            ; preds = %21408
  br label %21410

21410:                                            ; preds = %21409
  br label %21411

21411:                                            ; preds = %21410
  %21412 = load i32, ptr @test_count, align 4, !tbaa !5
  %21413 = add nsw i32 %21412, 1
  store i32 %21413, ptr @test_count, align 4, !tbaa !5
  %21414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21415 = load i32, ptr %21414, align 4, !tbaa !5
  %21416 = icmp eq i32 %21415, 201326592
  br i1 %21416, label %21470, label %21417

21417:                                            ; preds = %21411
  br label %21418

21418:                                            ; preds = %21417
  br label %21419

21419:                                            ; preds = %21418
  call void @llvm.lifetime.start.p0(i64 4, ptr %436) #11
  %21420 = call ptr @__errno_location() #12
  %21421 = load i32, ptr %21420, align 4, !tbaa !5
  store i32 %21421, ptr %436, align 4, !tbaa !5
  %21422 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21423 = call i32 @s2n_print_stacktrace(ptr noundef %21422)
  %21424 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21425 = trunc i8 %21424 to i1
  br i1 %21425, label %21426, label %21448

21426:                                            ; preds = %21419
  %21427 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21428 = call i32 @fileno(ptr noundef %21427) #11
  %21429 = call i32 @isatty(i32 noundef %21428) #11
  %21430 = icmp ne i32 %21429, 0
  br i1 %21430, label %21431, label %21448

21431:                                            ; preds = %21426
  %21432 = load i32, ptr %436, align 4, !tbaa !5
  %21433 = call ptr @__errno_location() #12
  store i32 %21432, ptr %21433, align 4, !tbaa !5
  %21434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21435 = load i32, ptr @test_count, align 4, !tbaa !5
  %21436 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21437 = load i32, ptr %21436, align 4, !tbaa !5
  %21438 = call ptr @s2n_strerror(i32 noundef %21437, ptr noundef @.str.4)
  %21439 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21440 = load i32, ptr %21439, align 4, !tbaa !5
  %21441 = call ptr @s2n_strerror_debug(i32 noundef %21440, ptr noundef @.str.4)
  %21442 = call ptr @__errno_location() #12
  %21443 = load i32, ptr %21442, align 4, !tbaa !5
  %21444 = call ptr @strerror(i32 noundef %21443) #11
  %21445 = call ptr @__errno_location() #12
  %21446 = load i32, ptr %21445, align 4, !tbaa !5
  %21447 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21434, ptr noundef @.str.2, i32 noundef %21435, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 645, ptr noundef %21438, ptr noundef %21441, ptr noundef %21444, i32 noundef %21446) #11
  br label %21465

21448:                                            ; preds = %21426, %21419
  %21449 = load i32, ptr %436, align 4, !tbaa !5
  %21450 = call ptr @__errno_location() #12
  store i32 %21449, ptr %21450, align 4, !tbaa !5
  %21451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21452 = load i32, ptr @test_count, align 4, !tbaa !5
  %21453 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21454 = load i32, ptr %21453, align 4, !tbaa !5
  %21455 = call ptr @s2n_strerror(i32 noundef %21454, ptr noundef @.str.4)
  %21456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21457 = load i32, ptr %21456, align 4, !tbaa !5
  %21458 = call ptr @s2n_strerror_debug(i32 noundef %21457, ptr noundef @.str.4)
  %21459 = call ptr @__errno_location() #12
  %21460 = load i32, ptr %21459, align 4, !tbaa !5
  %21461 = call ptr @strerror(i32 noundef %21460) #11
  %21462 = call ptr @__errno_location() #12
  %21463 = load i32, ptr %21462, align 4, !tbaa !5
  %21464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21451, ptr noundef @.str.5, i32 noundef %21452, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 645, ptr noundef %21455, ptr noundef %21458, ptr noundef %21461, i32 noundef %21463) #11
  br label %21465

21465:                                            ; preds = %21448, %21431
  call void @llvm.lifetime.end.p0(i64 4, ptr %436) #11
  br label %21466

21466:                                            ; preds = %21465
  br label %21467

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

21468:                                            ; No predecessors!
  br label %21469

21469:                                            ; preds = %21468
  br label %21470

21470:                                            ; preds = %21469, %21411
  br label %21471

21471:                                            ; preds = %21470
  br label %21472

21472:                                            ; preds = %21471
  br label %21473

21473:                                            ; preds = %21472
  %21474 = load i32, ptr @test_count, align 4, !tbaa !5
  %21475 = add nsw i32 %21474, 1
  store i32 %21475, ptr @test_count, align 4, !tbaa !5
  %21476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21477 = load i32, ptr %21476, align 4, !tbaa !5
  %21478 = call ptr @s2n_strerror_debug(i32 noundef %21477, ptr noundef @.str.4)
  %21479 = icmp eq ptr %21478, null
  br i1 %21479, label %21480, label %21533

21480:                                            ; preds = %21473
  br label %21481

21481:                                            ; preds = %21480
  br label %21482

21482:                                            ; preds = %21481
  call void @llvm.lifetime.start.p0(i64 4, ptr %437) #11
  %21483 = call ptr @__errno_location() #12
  %21484 = load i32, ptr %21483, align 4, !tbaa !5
  store i32 %21484, ptr %437, align 4, !tbaa !5
  %21485 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21486 = call i32 @s2n_print_stacktrace(ptr noundef %21485)
  %21487 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21488 = trunc i8 %21487 to i1
  br i1 %21488, label %21489, label %21511

21489:                                            ; preds = %21482
  %21490 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21491 = call i32 @fileno(ptr noundef %21490) #11
  %21492 = call i32 @isatty(i32 noundef %21491) #11
  %21493 = icmp ne i32 %21492, 0
  br i1 %21493, label %21494, label %21511

21494:                                            ; preds = %21489
  %21495 = load i32, ptr %437, align 4, !tbaa !5
  %21496 = call ptr @__errno_location() #12
  store i32 %21495, ptr %21496, align 4, !tbaa !5
  %21497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21498 = load i32, ptr @test_count, align 4, !tbaa !5
  %21499 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21500 = load i32, ptr %21499, align 4, !tbaa !5
  %21501 = call ptr @s2n_strerror(i32 noundef %21500, ptr noundef @.str.4)
  %21502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21503 = load i32, ptr %21502, align 4, !tbaa !5
  %21504 = call ptr @s2n_strerror_debug(i32 noundef %21503, ptr noundef @.str.4)
  %21505 = call ptr @__errno_location() #12
  %21506 = load i32, ptr %21505, align 4, !tbaa !5
  %21507 = call ptr @strerror(i32 noundef %21506) #11
  %21508 = call ptr @__errno_location() #12
  %21509 = load i32, ptr %21508, align 4, !tbaa !5
  %21510 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21497, ptr noundef @.str.2, i32 noundef %21498, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 645, ptr noundef %21501, ptr noundef %21504, ptr noundef %21507, i32 noundef %21509) #11
  br label %21528

21511:                                            ; preds = %21489, %21482
  %21512 = load i32, ptr %437, align 4, !tbaa !5
  %21513 = call ptr @__errno_location() #12
  store i32 %21512, ptr %21513, align 4, !tbaa !5
  %21514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21515 = load i32, ptr @test_count, align 4, !tbaa !5
  %21516 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21517 = load i32, ptr %21516, align 4, !tbaa !5
  %21518 = call ptr @s2n_strerror(i32 noundef %21517, ptr noundef @.str.4)
  %21519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21520 = load i32, ptr %21519, align 4, !tbaa !5
  %21521 = call ptr @s2n_strerror_debug(i32 noundef %21520, ptr noundef @.str.4)
  %21522 = call ptr @__errno_location() #12
  %21523 = load i32, ptr %21522, align 4, !tbaa !5
  %21524 = call ptr @strerror(i32 noundef %21523) #11
  %21525 = call ptr @__errno_location() #12
  %21526 = load i32, ptr %21525, align 4, !tbaa !5
  %21527 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21514, ptr noundef @.str.5, i32 noundef %21515, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 645, ptr noundef %21518, ptr noundef %21521, ptr noundef %21524, i32 noundef %21526) #11
  br label %21528

21528:                                            ; preds = %21511, %21494
  call void @llvm.lifetime.end.p0(i64 4, ptr %437) #11
  br label %21529

21529:                                            ; preds = %21528
  br label %21530

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

21531:                                            ; No predecessors!
  br label %21532

21532:                                            ; preds = %21531
  br label %21533

21533:                                            ; preds = %21532, %21473
  br label %21534

21534:                                            ; preds = %21533
  br label %21535

21535:                                            ; preds = %21534
  br label %21536

21536:                                            ; preds = %21535
  br label %21537

21537:                                            ; preds = %21536
  br label %21538

21538:                                            ; preds = %21537
  %21539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21539, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21540 = call ptr @__errno_location() #12
  store i32 0, ptr %21540, align 4, !tbaa !5
  br label %21541

21541:                                            ; preds = %21538
  br label %21542

21542:                                            ; preds = %21541
  br label %21543

21543:                                            ; preds = %21542
  br label %21544

21544:                                            ; preds = %21543
  br label %21545

21545:                                            ; preds = %21544
  %21546 = load i32, ptr @test_count, align 4, !tbaa !5
  %21547 = add nsw i32 %21546, 1
  store i32 %21547, ptr @test_count, align 4, !tbaa !5
  %21548 = load i32, ptr %386, align 4, !tbaa !5
  %21549 = icmp eq i32 %21548, 1
  br i1 %21549, label %21603, label %21550

21550:                                            ; preds = %21545
  br label %21551

21551:                                            ; preds = %21550
  br label %21552

21552:                                            ; preds = %21551
  call void @llvm.lifetime.start.p0(i64 4, ptr %438) #11
  %21553 = call ptr @__errno_location() #12
  %21554 = load i32, ptr %21553, align 4, !tbaa !5
  store i32 %21554, ptr %438, align 4, !tbaa !5
  %21555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21556 = call i32 @s2n_print_stacktrace(ptr noundef %21555)
  %21557 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21558 = trunc i8 %21557 to i1
  br i1 %21558, label %21559, label %21581

21559:                                            ; preds = %21552
  %21560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21561 = call i32 @fileno(ptr noundef %21560) #11
  %21562 = call i32 @isatty(i32 noundef %21561) #11
  %21563 = icmp ne i32 %21562, 0
  br i1 %21563, label %21564, label %21581

21564:                                            ; preds = %21559
  %21565 = load i32, ptr %438, align 4, !tbaa !5
  %21566 = call ptr @__errno_location() #12
  store i32 %21565, ptr %21566, align 4, !tbaa !5
  %21567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21568 = load i32, ptr @test_count, align 4, !tbaa !5
  %21569 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21570 = load i32, ptr %21569, align 4, !tbaa !5
  %21571 = call ptr @s2n_strerror(i32 noundef %21570, ptr noundef @.str.4)
  %21572 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21573 = load i32, ptr %21572, align 4, !tbaa !5
  %21574 = call ptr @s2n_strerror_debug(i32 noundef %21573, ptr noundef @.str.4)
  %21575 = call ptr @__errno_location() #12
  %21576 = load i32, ptr %21575, align 4, !tbaa !5
  %21577 = call ptr @strerror(i32 noundef %21576) #11
  %21578 = call ptr @__errno_location() #12
  %21579 = load i32, ptr %21578, align 4, !tbaa !5
  %21580 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21567, ptr noundef @.str.2, i32 noundef %21568, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 646, ptr noundef %21571, ptr noundef %21574, ptr noundef %21577, i32 noundef %21579) #11
  br label %21598

21581:                                            ; preds = %21559, %21552
  %21582 = load i32, ptr %438, align 4, !tbaa !5
  %21583 = call ptr @__errno_location() #12
  store i32 %21582, ptr %21583, align 4, !tbaa !5
  %21584 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21585 = load i32, ptr @test_count, align 4, !tbaa !5
  %21586 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21587 = load i32, ptr %21586, align 4, !tbaa !5
  %21588 = call ptr @s2n_strerror(i32 noundef %21587, ptr noundef @.str.4)
  %21589 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21590 = load i32, ptr %21589, align 4, !tbaa !5
  %21591 = call ptr @s2n_strerror_debug(i32 noundef %21590, ptr noundef @.str.4)
  %21592 = call ptr @__errno_location() #12
  %21593 = load i32, ptr %21592, align 4, !tbaa !5
  %21594 = call ptr @strerror(i32 noundef %21593) #11
  %21595 = call ptr @__errno_location() #12
  %21596 = load i32, ptr %21595, align 4, !tbaa !5
  %21597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21584, ptr noundef @.str.5, i32 noundef %21585, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 646, ptr noundef %21588, ptr noundef %21591, ptr noundef %21594, i32 noundef %21596) #11
  br label %21598

21598:                                            ; preds = %21581, %21564
  call void @llvm.lifetime.end.p0(i64 4, ptr %438) #11
  br label %21599

21599:                                            ; preds = %21598
  br label %21600

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

21601:                                            ; No predecessors!
  br label %21602

21602:                                            ; preds = %21601
  br label %21603

21603:                                            ; preds = %21602, %21545
  br label %21604

21604:                                            ; preds = %21603
  br label %21605

21605:                                            ; preds = %21604
  br label %21606

21606:                                            ; preds = %21605
  %21607 = load i32, ptr @test_count, align 4, !tbaa !5
  %21608 = add nsw i32 %21607, 1
  store i32 %21608, ptr @test_count, align 4, !tbaa !5
  %21609 = load ptr, ptr %376, align 8, !tbaa !9
  %21610 = call i32 @s2n_conn_get_current_message_type(ptr noundef %21609)
  %21611 = icmp eq i32 %21610, 19
  br i1 %21611, label %21665, label %21612

21612:                                            ; preds = %21606
  br label %21613

21613:                                            ; preds = %21612
  br label %21614

21614:                                            ; preds = %21613
  call void @llvm.lifetime.start.p0(i64 4, ptr %439) #11
  %21615 = call ptr @__errno_location() #12
  %21616 = load i32, ptr %21615, align 4, !tbaa !5
  store i32 %21616, ptr %439, align 4, !tbaa !5
  %21617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21618 = call i32 @s2n_print_stacktrace(ptr noundef %21617)
  %21619 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21620 = trunc i8 %21619 to i1
  br i1 %21620, label %21621, label %21643

21621:                                            ; preds = %21614
  %21622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21623 = call i32 @fileno(ptr noundef %21622) #11
  %21624 = call i32 @isatty(i32 noundef %21623) #11
  %21625 = icmp ne i32 %21624, 0
  br i1 %21625, label %21626, label %21643

21626:                                            ; preds = %21621
  %21627 = load i32, ptr %439, align 4, !tbaa !5
  %21628 = call ptr @__errno_location() #12
  store i32 %21627, ptr %21628, align 4, !tbaa !5
  %21629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21630 = load i32, ptr @test_count, align 4, !tbaa !5
  %21631 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21632 = load i32, ptr %21631, align 4, !tbaa !5
  %21633 = call ptr @s2n_strerror(i32 noundef %21632, ptr noundef @.str.4)
  %21634 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21635 = load i32, ptr %21634, align 4, !tbaa !5
  %21636 = call ptr @s2n_strerror_debug(i32 noundef %21635, ptr noundef @.str.4)
  %21637 = call ptr @__errno_location() #12
  %21638 = load i32, ptr %21637, align 4, !tbaa !5
  %21639 = call ptr @strerror(i32 noundef %21638) #11
  %21640 = call ptr @__errno_location() #12
  %21641 = load i32, ptr %21640, align 4, !tbaa !5
  %21642 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21629, ptr noundef @.str.2, i32 noundef %21630, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 646, ptr noundef %21633, ptr noundef %21636, ptr noundef %21639, i32 noundef %21641) #11
  br label %21660

21643:                                            ; preds = %21621, %21614
  %21644 = load i32, ptr %439, align 4, !tbaa !5
  %21645 = call ptr @__errno_location() #12
  store i32 %21644, ptr %21645, align 4, !tbaa !5
  %21646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21647 = load i32, ptr @test_count, align 4, !tbaa !5
  %21648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21649 = load i32, ptr %21648, align 4, !tbaa !5
  %21650 = call ptr @s2n_strerror(i32 noundef %21649, ptr noundef @.str.4)
  %21651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21652 = load i32, ptr %21651, align 4, !tbaa !5
  %21653 = call ptr @s2n_strerror_debug(i32 noundef %21652, ptr noundef @.str.4)
  %21654 = call ptr @__errno_location() #12
  %21655 = load i32, ptr %21654, align 4, !tbaa !5
  %21656 = call ptr @strerror(i32 noundef %21655) #11
  %21657 = call ptr @__errno_location() #12
  %21658 = load i32, ptr %21657, align 4, !tbaa !5
  %21659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21646, ptr noundef @.str.5, i32 noundef %21647, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 646, ptr noundef %21650, ptr noundef %21653, ptr noundef %21656, i32 noundef %21658) #11
  br label %21660

21660:                                            ; preds = %21643, %21626
  call void @llvm.lifetime.end.p0(i64 4, ptr %439) #11
  br label %21661

21661:                                            ; preds = %21660
  br label %21662

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

21663:                                            ; No predecessors!
  br label %21664

21664:                                            ; preds = %21663
  br label %21665

21665:                                            ; preds = %21664, %21606
  br label %21666

21666:                                            ; preds = %21665
  br label %21667

21667:                                            ; preds = %21666
  br label %21668

21668:                                            ; preds = %21667
  %21669 = load i32, ptr @test_count, align 4, !tbaa !5
  %21670 = add nsw i32 %21669, 1
  store i32 %21670, ptr @test_count, align 4, !tbaa !5
  %21671 = load i64, ptr %387, align 8, !tbaa !42
  %21672 = icmp eq i64 %21671, 0
  br i1 %21672, label %21726, label %21673

21673:                                            ; preds = %21668
  br label %21674

21674:                                            ; preds = %21673
  br label %21675

21675:                                            ; preds = %21674
  call void @llvm.lifetime.start.p0(i64 4, ptr %440) #11
  %21676 = call ptr @__errno_location() #12
  %21677 = load i32, ptr %21676, align 4, !tbaa !5
  store i32 %21677, ptr %440, align 4, !tbaa !5
  %21678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21679 = call i32 @s2n_print_stacktrace(ptr noundef %21678)
  %21680 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21681 = trunc i8 %21680 to i1
  br i1 %21681, label %21682, label %21704

21682:                                            ; preds = %21675
  %21683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21684 = call i32 @fileno(ptr noundef %21683) #11
  %21685 = call i32 @isatty(i32 noundef %21684) #11
  %21686 = icmp ne i32 %21685, 0
  br i1 %21686, label %21687, label %21704

21687:                                            ; preds = %21682
  %21688 = load i32, ptr %440, align 4, !tbaa !5
  %21689 = call ptr @__errno_location() #12
  store i32 %21688, ptr %21689, align 4, !tbaa !5
  %21690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21691 = load i32, ptr @test_count, align 4, !tbaa !5
  %21692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21693 = load i32, ptr %21692, align 4, !tbaa !5
  %21694 = call ptr @s2n_strerror(i32 noundef %21693, ptr noundef @.str.4)
  %21695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21696 = load i32, ptr %21695, align 4, !tbaa !5
  %21697 = call ptr @s2n_strerror_debug(i32 noundef %21696, ptr noundef @.str.4)
  %21698 = call ptr @__errno_location() #12
  %21699 = load i32, ptr %21698, align 4, !tbaa !5
  %21700 = call ptr @strerror(i32 noundef %21699) #11
  %21701 = call ptr @__errno_location() #12
  %21702 = load i32, ptr %21701, align 4, !tbaa !5
  %21703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21690, ptr noundef @.str.2, i32 noundef %21691, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 647, ptr noundef %21694, ptr noundef %21697, ptr noundef %21700, i32 noundef %21702) #11
  br label %21721

21704:                                            ; preds = %21682, %21675
  %21705 = load i32, ptr %440, align 4, !tbaa !5
  %21706 = call ptr @__errno_location() #12
  store i32 %21705, ptr %21706, align 4, !tbaa !5
  %21707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21708 = load i32, ptr @test_count, align 4, !tbaa !5
  %21709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21710 = load i32, ptr %21709, align 4, !tbaa !5
  %21711 = call ptr @s2n_strerror(i32 noundef %21710, ptr noundef @.str.4)
  %21712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21713 = load i32, ptr %21712, align 4, !tbaa !5
  %21714 = call ptr @s2n_strerror_debug(i32 noundef %21713, ptr noundef @.str.4)
  %21715 = call ptr @__errno_location() #12
  %21716 = load i32, ptr %21715, align 4, !tbaa !5
  %21717 = call ptr @strerror(i32 noundef %21716) #11
  %21718 = call ptr @__errno_location() #12
  %21719 = load i32, ptr %21718, align 4, !tbaa !5
  %21720 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21707, ptr noundef @.str.5, i32 noundef %21708, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 647, ptr noundef %21711, ptr noundef %21714, ptr noundef %21717, i32 noundef %21719) #11
  br label %21721

21721:                                            ; preds = %21704, %21687
  call void @llvm.lifetime.end.p0(i64 4, ptr %440) #11
  br label %21722

21722:                                            ; preds = %21721
  br label %21723

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

21724:                                            ; No predecessors!
  br label %21725

21725:                                            ; preds = %21724
  br label %21726

21726:                                            ; preds = %21725, %21668
  br label %21727

21727:                                            ; preds = %21726
  br label %21728

21728:                                            ; preds = %21727
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  br label %21729

21729:                                            ; preds = %21728
  br label %21730

21730:                                            ; preds = %21729
  br label %21731

21731:                                            ; preds = %21730
  %21732 = load i32, ptr @test_count, align 4, !tbaa !5
  %21733 = add nsw i32 %21732, 1
  store i32 %21733, ptr @test_count, align 4, !tbaa !5
  %21734 = load ptr, ptr %376, align 8, !tbaa !9
  %21735 = getelementptr inbounds [100 x i8], ptr %385, i64 0, i64 0
  %21736 = call i32 @s2n_recv_early_data(ptr noundef %21734, ptr noundef %21735, i64 noundef 100, ptr noundef %387, ptr noundef %386)
  %21737 = icmp eq i32 %21736, -1
  br i1 %21737, label %21791, label %21738

21738:                                            ; preds = %21731
  br label %21739

21739:                                            ; preds = %21738
  br label %21740

21740:                                            ; preds = %21739
  call void @llvm.lifetime.start.p0(i64 4, ptr %441) #11
  %21741 = call ptr @__errno_location() #12
  %21742 = load i32, ptr %21741, align 4, !tbaa !5
  store i32 %21742, ptr %441, align 4, !tbaa !5
  %21743 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21744 = call i32 @s2n_print_stacktrace(ptr noundef %21743)
  %21745 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21746 = trunc i8 %21745 to i1
  br i1 %21746, label %21747, label %21769

21747:                                            ; preds = %21740
  %21748 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21749 = call i32 @fileno(ptr noundef %21748) #11
  %21750 = call i32 @isatty(i32 noundef %21749) #11
  %21751 = icmp ne i32 %21750, 0
  br i1 %21751, label %21752, label %21769

21752:                                            ; preds = %21747
  %21753 = load i32, ptr %441, align 4, !tbaa !5
  %21754 = call ptr @__errno_location() #12
  store i32 %21753, ptr %21754, align 4, !tbaa !5
  %21755 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21756 = load i32, ptr @test_count, align 4, !tbaa !5
  %21757 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21758 = load i32, ptr %21757, align 4, !tbaa !5
  %21759 = call ptr @s2n_strerror(i32 noundef %21758, ptr noundef @.str.4)
  %21760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21761 = load i32, ptr %21760, align 4, !tbaa !5
  %21762 = call ptr @s2n_strerror_debug(i32 noundef %21761, ptr noundef @.str.4)
  %21763 = call ptr @__errno_location() #12
  %21764 = load i32, ptr %21763, align 4, !tbaa !5
  %21765 = call ptr @strerror(i32 noundef %21764) #11
  %21766 = call ptr @__errno_location() #12
  %21767 = load i32, ptr %21766, align 4, !tbaa !5
  %21768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21755, ptr noundef @.str.2, i32 noundef %21756, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 651, ptr noundef %21759, ptr noundef %21762, ptr noundef %21765, i32 noundef %21767) #11
  br label %21786

21769:                                            ; preds = %21747, %21740
  %21770 = load i32, ptr %441, align 4, !tbaa !5
  %21771 = call ptr @__errno_location() #12
  store i32 %21770, ptr %21771, align 4, !tbaa !5
  %21772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21773 = load i32, ptr @test_count, align 4, !tbaa !5
  %21774 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21775 = load i32, ptr %21774, align 4, !tbaa !5
  %21776 = call ptr @s2n_strerror(i32 noundef %21775, ptr noundef @.str.4)
  %21777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21778 = load i32, ptr %21777, align 4, !tbaa !5
  %21779 = call ptr @s2n_strerror_debug(i32 noundef %21778, ptr noundef @.str.4)
  %21780 = call ptr @__errno_location() #12
  %21781 = load i32, ptr %21780, align 4, !tbaa !5
  %21782 = call ptr @strerror(i32 noundef %21781) #11
  %21783 = call ptr @__errno_location() #12
  %21784 = load i32, ptr %21783, align 4, !tbaa !5
  %21785 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21772, ptr noundef @.str.5, i32 noundef %21773, ptr noundef @.str.73, ptr noundef @.str.1, i32 noundef 651, ptr noundef %21776, ptr noundef %21779, ptr noundef %21782, i32 noundef %21784) #11
  br label %21786

21786:                                            ; preds = %21769, %21752
  call void @llvm.lifetime.end.p0(i64 4, ptr %441) #11
  br label %21787

21787:                                            ; preds = %21786
  br label %21788

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

21789:                                            ; No predecessors!
  br label %21790

21790:                                            ; preds = %21789
  br label %21791

21791:                                            ; preds = %21790, %21731
  br label %21792

21792:                                            ; preds = %21791
  br label %21793

21793:                                            ; preds = %21792
  br label %21794

21794:                                            ; preds = %21793
  %21795 = load i32, ptr @test_count, align 4, !tbaa !5
  %21796 = add nsw i32 %21795, 1
  store i32 %21796, ptr @test_count, align 4, !tbaa !5
  %21797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21798 = load i32, ptr %21797, align 4, !tbaa !5
  %21799 = icmp eq i32 %21798, 201326592
  br i1 %21799, label %21853, label %21800

21800:                                            ; preds = %21794
  br label %21801

21801:                                            ; preds = %21800
  br label %21802

21802:                                            ; preds = %21801
  call void @llvm.lifetime.start.p0(i64 4, ptr %442) #11
  %21803 = call ptr @__errno_location() #12
  %21804 = load i32, ptr %21803, align 4, !tbaa !5
  store i32 %21804, ptr %442, align 4, !tbaa !5
  %21805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21806 = call i32 @s2n_print_stacktrace(ptr noundef %21805)
  %21807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21808 = trunc i8 %21807 to i1
  br i1 %21808, label %21809, label %21831

21809:                                            ; preds = %21802
  %21810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21811 = call i32 @fileno(ptr noundef %21810) #11
  %21812 = call i32 @isatty(i32 noundef %21811) #11
  %21813 = icmp ne i32 %21812, 0
  br i1 %21813, label %21814, label %21831

21814:                                            ; preds = %21809
  %21815 = load i32, ptr %442, align 4, !tbaa !5
  %21816 = call ptr @__errno_location() #12
  store i32 %21815, ptr %21816, align 4, !tbaa !5
  %21817 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21818 = load i32, ptr @test_count, align 4, !tbaa !5
  %21819 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21820 = load i32, ptr %21819, align 4, !tbaa !5
  %21821 = call ptr @s2n_strerror(i32 noundef %21820, ptr noundef @.str.4)
  %21822 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21823 = load i32, ptr %21822, align 4, !tbaa !5
  %21824 = call ptr @s2n_strerror_debug(i32 noundef %21823, ptr noundef @.str.4)
  %21825 = call ptr @__errno_location() #12
  %21826 = load i32, ptr %21825, align 4, !tbaa !5
  %21827 = call ptr @strerror(i32 noundef %21826) #11
  %21828 = call ptr @__errno_location() #12
  %21829 = load i32, ptr %21828, align 4, !tbaa !5
  %21830 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21817, ptr noundef @.str.2, i32 noundef %21818, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 651, ptr noundef %21821, ptr noundef %21824, ptr noundef %21827, i32 noundef %21829) #11
  br label %21848

21831:                                            ; preds = %21809, %21802
  %21832 = load i32, ptr %442, align 4, !tbaa !5
  %21833 = call ptr @__errno_location() #12
  store i32 %21832, ptr %21833, align 4, !tbaa !5
  %21834 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21835 = load i32, ptr @test_count, align 4, !tbaa !5
  %21836 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21837 = load i32, ptr %21836, align 4, !tbaa !5
  %21838 = call ptr @s2n_strerror(i32 noundef %21837, ptr noundef @.str.4)
  %21839 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21840 = load i32, ptr %21839, align 4, !tbaa !5
  %21841 = call ptr @s2n_strerror_debug(i32 noundef %21840, ptr noundef @.str.4)
  %21842 = call ptr @__errno_location() #12
  %21843 = load i32, ptr %21842, align 4, !tbaa !5
  %21844 = call ptr @strerror(i32 noundef %21843) #11
  %21845 = call ptr @__errno_location() #12
  %21846 = load i32, ptr %21845, align 4, !tbaa !5
  %21847 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21834, ptr noundef @.str.5, i32 noundef %21835, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 651, ptr noundef %21838, ptr noundef %21841, ptr noundef %21844, i32 noundef %21846) #11
  br label %21848

21848:                                            ; preds = %21831, %21814
  call void @llvm.lifetime.end.p0(i64 4, ptr %442) #11
  br label %21849

21849:                                            ; preds = %21848
  br label %21850

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

21851:                                            ; No predecessors!
  br label %21852

21852:                                            ; preds = %21851
  br label %21853

21853:                                            ; preds = %21852, %21794
  br label %21854

21854:                                            ; preds = %21853
  br label %21855

21855:                                            ; preds = %21854
  br label %21856

21856:                                            ; preds = %21855
  %21857 = load i32, ptr @test_count, align 4, !tbaa !5
  %21858 = add nsw i32 %21857, 1
  store i32 %21858, ptr @test_count, align 4, !tbaa !5
  %21859 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21860 = load i32, ptr %21859, align 4, !tbaa !5
  %21861 = call ptr @s2n_strerror_debug(i32 noundef %21860, ptr noundef @.str.4)
  %21862 = icmp eq ptr %21861, null
  br i1 %21862, label %21863, label %21916

21863:                                            ; preds = %21856
  br label %21864

21864:                                            ; preds = %21863
  br label %21865

21865:                                            ; preds = %21864
  call void @llvm.lifetime.start.p0(i64 4, ptr %443) #11
  %21866 = call ptr @__errno_location() #12
  %21867 = load i32, ptr %21866, align 4, !tbaa !5
  store i32 %21867, ptr %443, align 4, !tbaa !5
  %21868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21869 = call i32 @s2n_print_stacktrace(ptr noundef %21868)
  %21870 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21871 = trunc i8 %21870 to i1
  br i1 %21871, label %21872, label %21894

21872:                                            ; preds = %21865
  %21873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21874 = call i32 @fileno(ptr noundef %21873) #11
  %21875 = call i32 @isatty(i32 noundef %21874) #11
  %21876 = icmp ne i32 %21875, 0
  br i1 %21876, label %21877, label %21894

21877:                                            ; preds = %21872
  %21878 = load i32, ptr %443, align 4, !tbaa !5
  %21879 = call ptr @__errno_location() #12
  store i32 %21878, ptr %21879, align 4, !tbaa !5
  %21880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21881 = load i32, ptr @test_count, align 4, !tbaa !5
  %21882 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21883 = load i32, ptr %21882, align 4, !tbaa !5
  %21884 = call ptr @s2n_strerror(i32 noundef %21883, ptr noundef @.str.4)
  %21885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21886 = load i32, ptr %21885, align 4, !tbaa !5
  %21887 = call ptr @s2n_strerror_debug(i32 noundef %21886, ptr noundef @.str.4)
  %21888 = call ptr @__errno_location() #12
  %21889 = load i32, ptr %21888, align 4, !tbaa !5
  %21890 = call ptr @strerror(i32 noundef %21889) #11
  %21891 = call ptr @__errno_location() #12
  %21892 = load i32, ptr %21891, align 4, !tbaa !5
  %21893 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21880, ptr noundef @.str.2, i32 noundef %21881, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 651, ptr noundef %21884, ptr noundef %21887, ptr noundef %21890, i32 noundef %21892) #11
  br label %21911

21894:                                            ; preds = %21872, %21865
  %21895 = load i32, ptr %443, align 4, !tbaa !5
  %21896 = call ptr @__errno_location() #12
  store i32 %21895, ptr %21896, align 4, !tbaa !5
  %21897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21898 = load i32, ptr @test_count, align 4, !tbaa !5
  %21899 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21900 = load i32, ptr %21899, align 4, !tbaa !5
  %21901 = call ptr @s2n_strerror(i32 noundef %21900, ptr noundef @.str.4)
  %21902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21903 = load i32, ptr %21902, align 4, !tbaa !5
  %21904 = call ptr @s2n_strerror_debug(i32 noundef %21903, ptr noundef @.str.4)
  %21905 = call ptr @__errno_location() #12
  %21906 = load i32, ptr %21905, align 4, !tbaa !5
  %21907 = call ptr @strerror(i32 noundef %21906) #11
  %21908 = call ptr @__errno_location() #12
  %21909 = load i32, ptr %21908, align 4, !tbaa !5
  %21910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21897, ptr noundef @.str.5, i32 noundef %21898, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 651, ptr noundef %21901, ptr noundef %21904, ptr noundef %21907, i32 noundef %21909) #11
  br label %21911

21911:                                            ; preds = %21894, %21877
  call void @llvm.lifetime.end.p0(i64 4, ptr %443) #11
  br label %21912

21912:                                            ; preds = %21911
  br label %21913

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

21914:                                            ; No predecessors!
  br label %21915

21915:                                            ; preds = %21914
  br label %21916

21916:                                            ; preds = %21915, %21856
  br label %21917

21917:                                            ; preds = %21916
  br label %21918

21918:                                            ; preds = %21917
  br label %21919

21919:                                            ; preds = %21918
  br label %21920

21920:                                            ; preds = %21919
  br label %21921

21921:                                            ; preds = %21920
  %21922 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %21922, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %21923 = call ptr @__errno_location() #12
  store i32 0, ptr %21923, align 4, !tbaa !5
  br label %21924

21924:                                            ; preds = %21921
  br label %21925

21925:                                            ; preds = %21924
  br label %21926

21926:                                            ; preds = %21925
  br label %21927

21927:                                            ; preds = %21926
  br label %21928

21928:                                            ; preds = %21927
  %21929 = load i32, ptr @test_count, align 4, !tbaa !5
  %21930 = add nsw i32 %21929, 1
  store i32 %21930, ptr @test_count, align 4, !tbaa !5
  %21931 = load i32, ptr %386, align 4, !tbaa !5
  %21932 = icmp eq i32 %21931, 1
  br i1 %21932, label %21986, label %21933

21933:                                            ; preds = %21928
  br label %21934

21934:                                            ; preds = %21933
  br label %21935

21935:                                            ; preds = %21934
  call void @llvm.lifetime.start.p0(i64 4, ptr %444) #11
  %21936 = call ptr @__errno_location() #12
  %21937 = load i32, ptr %21936, align 4, !tbaa !5
  store i32 %21937, ptr %444, align 4, !tbaa !5
  %21938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21939 = call i32 @s2n_print_stacktrace(ptr noundef %21938)
  %21940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %21941 = trunc i8 %21940 to i1
  br i1 %21941, label %21942, label %21964

21942:                                            ; preds = %21935
  %21943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21944 = call i32 @fileno(ptr noundef %21943) #11
  %21945 = call i32 @isatty(i32 noundef %21944) #11
  %21946 = icmp ne i32 %21945, 0
  br i1 %21946, label %21947, label %21964

21947:                                            ; preds = %21942
  %21948 = load i32, ptr %444, align 4, !tbaa !5
  %21949 = call ptr @__errno_location() #12
  store i32 %21948, ptr %21949, align 4, !tbaa !5
  %21950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21951 = load i32, ptr @test_count, align 4, !tbaa !5
  %21952 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21953 = load i32, ptr %21952, align 4, !tbaa !5
  %21954 = call ptr @s2n_strerror(i32 noundef %21953, ptr noundef @.str.4)
  %21955 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21956 = load i32, ptr %21955, align 4, !tbaa !5
  %21957 = call ptr @s2n_strerror_debug(i32 noundef %21956, ptr noundef @.str.4)
  %21958 = call ptr @__errno_location() #12
  %21959 = load i32, ptr %21958, align 4, !tbaa !5
  %21960 = call ptr @strerror(i32 noundef %21959) #11
  %21961 = call ptr @__errno_location() #12
  %21962 = load i32, ptr %21961, align 4, !tbaa !5
  %21963 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21950, ptr noundef @.str.2, i32 noundef %21951, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 652, ptr noundef %21954, ptr noundef %21957, ptr noundef %21960, i32 noundef %21962) #11
  br label %21981

21964:                                            ; preds = %21942, %21935
  %21965 = load i32, ptr %444, align 4, !tbaa !5
  %21966 = call ptr @__errno_location() #12
  store i32 %21965, ptr %21966, align 4, !tbaa !5
  %21967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %21968 = load i32, ptr @test_count, align 4, !tbaa !5
  %21969 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21970 = load i32, ptr %21969, align 4, !tbaa !5
  %21971 = call ptr @s2n_strerror(i32 noundef %21970, ptr noundef @.str.4)
  %21972 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %21973 = load i32, ptr %21972, align 4, !tbaa !5
  %21974 = call ptr @s2n_strerror_debug(i32 noundef %21973, ptr noundef @.str.4)
  %21975 = call ptr @__errno_location() #12
  %21976 = load i32, ptr %21975, align 4, !tbaa !5
  %21977 = call ptr @strerror(i32 noundef %21976) #11
  %21978 = call ptr @__errno_location() #12
  %21979 = load i32, ptr %21978, align 4, !tbaa !5
  %21980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %21967, ptr noundef @.str.5, i32 noundef %21968, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 652, ptr noundef %21971, ptr noundef %21974, ptr noundef %21977, i32 noundef %21979) #11
  br label %21981

21981:                                            ; preds = %21964, %21947
  call void @llvm.lifetime.end.p0(i64 4, ptr %444) #11
  br label %21982

21982:                                            ; preds = %21981
  br label %21983

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

21984:                                            ; No predecessors!
  br label %21985

21985:                                            ; preds = %21984
  br label %21986

21986:                                            ; preds = %21985, %21928
  br label %21987

21987:                                            ; preds = %21986
  br label %21988

21988:                                            ; preds = %21987
  br label %21989

21989:                                            ; preds = %21988
  %21990 = load i32, ptr @test_count, align 4, !tbaa !5
  %21991 = add nsw i32 %21990, 1
  store i32 %21991, ptr @test_count, align 4, !tbaa !5
  %21992 = load ptr, ptr %376, align 8, !tbaa !9
  %21993 = call i32 @s2n_conn_get_current_message_type(ptr noundef %21992)
  %21994 = icmp eq i32 %21993, 19
  br i1 %21994, label %22048, label %21995

21995:                                            ; preds = %21989
  br label %21996

21996:                                            ; preds = %21995
  br label %21997

21997:                                            ; preds = %21996
  call void @llvm.lifetime.start.p0(i64 4, ptr %445) #11
  %21998 = call ptr @__errno_location() #12
  %21999 = load i32, ptr %21998, align 4, !tbaa !5
  store i32 %21999, ptr %445, align 4, !tbaa !5
  %22000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22001 = call i32 @s2n_print_stacktrace(ptr noundef %22000)
  %22002 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22003 = trunc i8 %22002 to i1
  br i1 %22003, label %22004, label %22026

22004:                                            ; preds = %21997
  %22005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22006 = call i32 @fileno(ptr noundef %22005) #11
  %22007 = call i32 @isatty(i32 noundef %22006) #11
  %22008 = icmp ne i32 %22007, 0
  br i1 %22008, label %22009, label %22026

22009:                                            ; preds = %22004
  %22010 = load i32, ptr %445, align 4, !tbaa !5
  %22011 = call ptr @__errno_location() #12
  store i32 %22010, ptr %22011, align 4, !tbaa !5
  %22012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22013 = load i32, ptr @test_count, align 4, !tbaa !5
  %22014 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22015 = load i32, ptr %22014, align 4, !tbaa !5
  %22016 = call ptr @s2n_strerror(i32 noundef %22015, ptr noundef @.str.4)
  %22017 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22018 = load i32, ptr %22017, align 4, !tbaa !5
  %22019 = call ptr @s2n_strerror_debug(i32 noundef %22018, ptr noundef @.str.4)
  %22020 = call ptr @__errno_location() #12
  %22021 = load i32, ptr %22020, align 4, !tbaa !5
  %22022 = call ptr @strerror(i32 noundef %22021) #11
  %22023 = call ptr @__errno_location() #12
  %22024 = load i32, ptr %22023, align 4, !tbaa !5
  %22025 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22012, ptr noundef @.str.2, i32 noundef %22013, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 652, ptr noundef %22016, ptr noundef %22019, ptr noundef %22022, i32 noundef %22024) #11
  br label %22043

22026:                                            ; preds = %22004, %21997
  %22027 = load i32, ptr %445, align 4, !tbaa !5
  %22028 = call ptr @__errno_location() #12
  store i32 %22027, ptr %22028, align 4, !tbaa !5
  %22029 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22030 = load i32, ptr @test_count, align 4, !tbaa !5
  %22031 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22032 = load i32, ptr %22031, align 4, !tbaa !5
  %22033 = call ptr @s2n_strerror(i32 noundef %22032, ptr noundef @.str.4)
  %22034 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22035 = load i32, ptr %22034, align 4, !tbaa !5
  %22036 = call ptr @s2n_strerror_debug(i32 noundef %22035, ptr noundef @.str.4)
  %22037 = call ptr @__errno_location() #12
  %22038 = load i32, ptr %22037, align 4, !tbaa !5
  %22039 = call ptr @strerror(i32 noundef %22038) #11
  %22040 = call ptr @__errno_location() #12
  %22041 = load i32, ptr %22040, align 4, !tbaa !5
  %22042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22029, ptr noundef @.str.5, i32 noundef %22030, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 652, ptr noundef %22033, ptr noundef %22036, ptr noundef %22039, i32 noundef %22041) #11
  br label %22043

22043:                                            ; preds = %22026, %22009
  call void @llvm.lifetime.end.p0(i64 4, ptr %445) #11
  br label %22044

22044:                                            ; preds = %22043
  br label %22045

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

22046:                                            ; No predecessors!
  br label %22047

22047:                                            ; preds = %22046
  br label %22048

22048:                                            ; preds = %22047, %21989
  br label %22049

22049:                                            ; preds = %22048
  br label %22050

22050:                                            ; preds = %22049
  br label %22051

22051:                                            ; preds = %22050
  %22052 = load i32, ptr @test_count, align 4, !tbaa !5
  %22053 = add nsw i32 %22052, 1
  store i32 %22053, ptr @test_count, align 4, !tbaa !5
  %22054 = load i64, ptr %387, align 8, !tbaa !42
  %22055 = icmp eq i64 %22054, 12
  br i1 %22055, label %22109, label %22056

22056:                                            ; preds = %22051
  br label %22057

22057:                                            ; preds = %22056
  br label %22058

22058:                                            ; preds = %22057
  call void @llvm.lifetime.start.p0(i64 4, ptr %446) #11
  %22059 = call ptr @__errno_location() #12
  %22060 = load i32, ptr %22059, align 4, !tbaa !5
  store i32 %22060, ptr %446, align 4, !tbaa !5
  %22061 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22062 = call i32 @s2n_print_stacktrace(ptr noundef %22061)
  %22063 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22064 = trunc i8 %22063 to i1
  br i1 %22064, label %22065, label %22087

22065:                                            ; preds = %22058
  %22066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22067 = call i32 @fileno(ptr noundef %22066) #11
  %22068 = call i32 @isatty(i32 noundef %22067) #11
  %22069 = icmp ne i32 %22068, 0
  br i1 %22069, label %22070, label %22087

22070:                                            ; preds = %22065
  %22071 = load i32, ptr %446, align 4, !tbaa !5
  %22072 = call ptr @__errno_location() #12
  store i32 %22071, ptr %22072, align 4, !tbaa !5
  %22073 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22074 = load i32, ptr @test_count, align 4, !tbaa !5
  %22075 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22076 = load i32, ptr %22075, align 4, !tbaa !5
  %22077 = call ptr @s2n_strerror(i32 noundef %22076, ptr noundef @.str.4)
  %22078 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22079 = load i32, ptr %22078, align 4, !tbaa !5
  %22080 = call ptr @s2n_strerror_debug(i32 noundef %22079, ptr noundef @.str.4)
  %22081 = call ptr @__errno_location() #12
  %22082 = load i32, ptr %22081, align 4, !tbaa !5
  %22083 = call ptr @strerror(i32 noundef %22082) #11
  %22084 = call ptr @__errno_location() #12
  %22085 = load i32, ptr %22084, align 4, !tbaa !5
  %22086 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22073, ptr noundef @.str.2, i32 noundef %22074, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 653, ptr noundef %22077, ptr noundef %22080, ptr noundef %22083, i32 noundef %22085) #11
  br label %22104

22087:                                            ; preds = %22065, %22058
  %22088 = load i32, ptr %446, align 4, !tbaa !5
  %22089 = call ptr @__errno_location() #12
  store i32 %22088, ptr %22089, align 4, !tbaa !5
  %22090 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22091 = load i32, ptr @test_count, align 4, !tbaa !5
  %22092 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22093 = load i32, ptr %22092, align 4, !tbaa !5
  %22094 = call ptr @s2n_strerror(i32 noundef %22093, ptr noundef @.str.4)
  %22095 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22096 = load i32, ptr %22095, align 4, !tbaa !5
  %22097 = call ptr @s2n_strerror_debug(i32 noundef %22096, ptr noundef @.str.4)
  %22098 = call ptr @__errno_location() #12
  %22099 = load i32, ptr %22098, align 4, !tbaa !5
  %22100 = call ptr @strerror(i32 noundef %22099) #11
  %22101 = call ptr @__errno_location() #12
  %22102 = load i32, ptr %22101, align 4, !tbaa !5
  %22103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22090, ptr noundef @.str.5, i32 noundef %22091, ptr noundef @.str.72, ptr noundef @.str.1, i32 noundef 653, ptr noundef %22094, ptr noundef %22097, ptr noundef %22100, i32 noundef %22102) #11
  br label %22104

22104:                                            ; preds = %22087, %22070
  call void @llvm.lifetime.end.p0(i64 4, ptr %446) #11
  br label %22105

22105:                                            ; preds = %22104
  br label %22106

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

22107:                                            ; No predecessors!
  br label %22108

22108:                                            ; preds = %22107
  br label %22109

22109:                                            ; preds = %22108, %22051
  br label %22110

22110:                                            ; preds = %22109
  br label %22111

22111:                                            ; preds = %22110
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %22112

22112:                                            ; preds = %22111
  br label %22113

22113:                                            ; preds = %22112
  br label %22114

22114:                                            ; preds = %22113
  %22115 = load i32, ptr @test_count, align 4, !tbaa !5
  %22116 = add nsw i32 %22115, 1
  store i32 %22116, ptr @test_count, align 4, !tbaa !5
  %22117 = load ptr, ptr %372, align 8, !tbaa !9
  %22118 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %22119 = call i32 @s2n_send_early_data(ptr noundef %22117, ptr noundef %22118, i64 noundef 12, ptr noundef %387, ptr noundef %386)
  %22120 = icmp eq i32 %22119, -1
  br i1 %22120, label %22174, label %22121

22121:                                            ; preds = %22114
  br label %22122

22122:                                            ; preds = %22121
  br label %22123

22123:                                            ; preds = %22122
  call void @llvm.lifetime.start.p0(i64 4, ptr %447) #11
  %22124 = call ptr @__errno_location() #12
  %22125 = load i32, ptr %22124, align 4, !tbaa !5
  store i32 %22125, ptr %447, align 4, !tbaa !5
  %22126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22127 = call i32 @s2n_print_stacktrace(ptr noundef %22126)
  %22128 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22129 = trunc i8 %22128 to i1
  br i1 %22129, label %22130, label %22152

22130:                                            ; preds = %22123
  %22131 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22132 = call i32 @fileno(ptr noundef %22131) #11
  %22133 = call i32 @isatty(i32 noundef %22132) #11
  %22134 = icmp ne i32 %22133, 0
  br i1 %22134, label %22135, label %22152

22135:                                            ; preds = %22130
  %22136 = load i32, ptr %447, align 4, !tbaa !5
  %22137 = call ptr @__errno_location() #12
  store i32 %22136, ptr %22137, align 4, !tbaa !5
  %22138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22139 = load i32, ptr @test_count, align 4, !tbaa !5
  %22140 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22141 = load i32, ptr %22140, align 4, !tbaa !5
  %22142 = call ptr @s2n_strerror(i32 noundef %22141, ptr noundef @.str.4)
  %22143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22144 = load i32, ptr %22143, align 4, !tbaa !5
  %22145 = call ptr @s2n_strerror_debug(i32 noundef %22144, ptr noundef @.str.4)
  %22146 = call ptr @__errno_location() #12
  %22147 = load i32, ptr %22146, align 4, !tbaa !5
  %22148 = call ptr @strerror(i32 noundef %22147) #11
  %22149 = call ptr @__errno_location() #12
  %22150 = load i32, ptr %22149, align 4, !tbaa !5
  %22151 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22138, ptr noundef @.str.2, i32 noundef %22139, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22142, ptr noundef %22145, ptr noundef %22148, i32 noundef %22150) #11
  br label %22169

22152:                                            ; preds = %22130, %22123
  %22153 = load i32, ptr %447, align 4, !tbaa !5
  %22154 = call ptr @__errno_location() #12
  store i32 %22153, ptr %22154, align 4, !tbaa !5
  %22155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22156 = load i32, ptr @test_count, align 4, !tbaa !5
  %22157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22158 = load i32, ptr %22157, align 4, !tbaa !5
  %22159 = call ptr @s2n_strerror(i32 noundef %22158, ptr noundef @.str.4)
  %22160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22161 = load i32, ptr %22160, align 4, !tbaa !5
  %22162 = call ptr @s2n_strerror_debug(i32 noundef %22161, ptr noundef @.str.4)
  %22163 = call ptr @__errno_location() #12
  %22164 = load i32, ptr %22163, align 4, !tbaa !5
  %22165 = call ptr @strerror(i32 noundef %22164) #11
  %22166 = call ptr @__errno_location() #12
  %22167 = load i32, ptr %22166, align 4, !tbaa !5
  %22168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22155, ptr noundef @.str.5, i32 noundef %22156, ptr noundef @.str.60, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22159, ptr noundef %22162, ptr noundef %22165, i32 noundef %22167) #11
  br label %22169

22169:                                            ; preds = %22152, %22135
  call void @llvm.lifetime.end.p0(i64 4, ptr %447) #11
  br label %22170

22170:                                            ; preds = %22169
  br label %22171

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

22172:                                            ; No predecessors!
  br label %22173

22173:                                            ; preds = %22172
  br label %22174

22174:                                            ; preds = %22173, %22114
  br label %22175

22175:                                            ; preds = %22174
  br label %22176

22176:                                            ; preds = %22175
  br label %22177

22177:                                            ; preds = %22176
  %22178 = load i32, ptr @test_count, align 4, !tbaa !5
  %22179 = add nsw i32 %22178, 1
  store i32 %22179, ptr @test_count, align 4, !tbaa !5
  %22180 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22181 = load i32, ptr %22180, align 4, !tbaa !5
  %22182 = icmp eq i32 %22181, 201326592
  br i1 %22182, label %22236, label %22183

22183:                                            ; preds = %22177
  br label %22184

22184:                                            ; preds = %22183
  br label %22185

22185:                                            ; preds = %22184
  call void @llvm.lifetime.start.p0(i64 4, ptr %448) #11
  %22186 = call ptr @__errno_location() #12
  %22187 = load i32, ptr %22186, align 4, !tbaa !5
  store i32 %22187, ptr %448, align 4, !tbaa !5
  %22188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22189 = call i32 @s2n_print_stacktrace(ptr noundef %22188)
  %22190 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22191 = trunc i8 %22190 to i1
  br i1 %22191, label %22192, label %22214

22192:                                            ; preds = %22185
  %22193 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22194 = call i32 @fileno(ptr noundef %22193) #11
  %22195 = call i32 @isatty(i32 noundef %22194) #11
  %22196 = icmp ne i32 %22195, 0
  br i1 %22196, label %22197, label %22214

22197:                                            ; preds = %22192
  %22198 = load i32, ptr %448, align 4, !tbaa !5
  %22199 = call ptr @__errno_location() #12
  store i32 %22198, ptr %22199, align 4, !tbaa !5
  %22200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22201 = load i32, ptr @test_count, align 4, !tbaa !5
  %22202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22203 = load i32, ptr %22202, align 4, !tbaa !5
  %22204 = call ptr @s2n_strerror(i32 noundef %22203, ptr noundef @.str.4)
  %22205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22206 = load i32, ptr %22205, align 4, !tbaa !5
  %22207 = call ptr @s2n_strerror_debug(i32 noundef %22206, ptr noundef @.str.4)
  %22208 = call ptr @__errno_location() #12
  %22209 = load i32, ptr %22208, align 4, !tbaa !5
  %22210 = call ptr @strerror(i32 noundef %22209) #11
  %22211 = call ptr @__errno_location() #12
  %22212 = load i32, ptr %22211, align 4, !tbaa !5
  %22213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22200, ptr noundef @.str.2, i32 noundef %22201, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22204, ptr noundef %22207, ptr noundef %22210, i32 noundef %22212) #11
  br label %22231

22214:                                            ; preds = %22192, %22185
  %22215 = load i32, ptr %448, align 4, !tbaa !5
  %22216 = call ptr @__errno_location() #12
  store i32 %22215, ptr %22216, align 4, !tbaa !5
  %22217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22218 = load i32, ptr @test_count, align 4, !tbaa !5
  %22219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22220 = load i32, ptr %22219, align 4, !tbaa !5
  %22221 = call ptr @s2n_strerror(i32 noundef %22220, ptr noundef @.str.4)
  %22222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22223 = load i32, ptr %22222, align 4, !tbaa !5
  %22224 = call ptr @s2n_strerror_debug(i32 noundef %22223, ptr noundef @.str.4)
  %22225 = call ptr @__errno_location() #12
  %22226 = load i32, ptr %22225, align 4, !tbaa !5
  %22227 = call ptr @strerror(i32 noundef %22226) #11
  %22228 = call ptr @__errno_location() #12
  %22229 = load i32, ptr %22228, align 4, !tbaa !5
  %22230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22217, ptr noundef @.str.5, i32 noundef %22218, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22221, ptr noundef %22224, ptr noundef %22227, i32 noundef %22229) #11
  br label %22231

22231:                                            ; preds = %22214, %22197
  call void @llvm.lifetime.end.p0(i64 4, ptr %448) #11
  br label %22232

22232:                                            ; preds = %22231
  br label %22233

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

22234:                                            ; No predecessors!
  br label %22235

22235:                                            ; preds = %22234
  br label %22236

22236:                                            ; preds = %22235, %22177
  br label %22237

22237:                                            ; preds = %22236
  br label %22238

22238:                                            ; preds = %22237
  br label %22239

22239:                                            ; preds = %22238
  %22240 = load i32, ptr @test_count, align 4, !tbaa !5
  %22241 = add nsw i32 %22240, 1
  store i32 %22241, ptr @test_count, align 4, !tbaa !5
  %22242 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22243 = load i32, ptr %22242, align 4, !tbaa !5
  %22244 = call ptr @s2n_strerror_debug(i32 noundef %22243, ptr noundef @.str.4)
  %22245 = icmp eq ptr %22244, null
  br i1 %22245, label %22246, label %22299

22246:                                            ; preds = %22239
  br label %22247

22247:                                            ; preds = %22246
  br label %22248

22248:                                            ; preds = %22247
  call void @llvm.lifetime.start.p0(i64 4, ptr %449) #11
  %22249 = call ptr @__errno_location() #12
  %22250 = load i32, ptr %22249, align 4, !tbaa !5
  store i32 %22250, ptr %449, align 4, !tbaa !5
  %22251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22252 = call i32 @s2n_print_stacktrace(ptr noundef %22251)
  %22253 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22254 = trunc i8 %22253 to i1
  br i1 %22254, label %22255, label %22277

22255:                                            ; preds = %22248
  %22256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22257 = call i32 @fileno(ptr noundef %22256) #11
  %22258 = call i32 @isatty(i32 noundef %22257) #11
  %22259 = icmp ne i32 %22258, 0
  br i1 %22259, label %22260, label %22277

22260:                                            ; preds = %22255
  %22261 = load i32, ptr %449, align 4, !tbaa !5
  %22262 = call ptr @__errno_location() #12
  store i32 %22261, ptr %22262, align 4, !tbaa !5
  %22263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22264 = load i32, ptr @test_count, align 4, !tbaa !5
  %22265 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22266 = load i32, ptr %22265, align 4, !tbaa !5
  %22267 = call ptr @s2n_strerror(i32 noundef %22266, ptr noundef @.str.4)
  %22268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22269 = load i32, ptr %22268, align 4, !tbaa !5
  %22270 = call ptr @s2n_strerror_debug(i32 noundef %22269, ptr noundef @.str.4)
  %22271 = call ptr @__errno_location() #12
  %22272 = load i32, ptr %22271, align 4, !tbaa !5
  %22273 = call ptr @strerror(i32 noundef %22272) #11
  %22274 = call ptr @__errno_location() #12
  %22275 = load i32, ptr %22274, align 4, !tbaa !5
  %22276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22263, ptr noundef @.str.2, i32 noundef %22264, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22267, ptr noundef %22270, ptr noundef %22273, i32 noundef %22275) #11
  br label %22294

22277:                                            ; preds = %22255, %22248
  %22278 = load i32, ptr %449, align 4, !tbaa !5
  %22279 = call ptr @__errno_location() #12
  store i32 %22278, ptr %22279, align 4, !tbaa !5
  %22280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22281 = load i32, ptr @test_count, align 4, !tbaa !5
  %22282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22283 = load i32, ptr %22282, align 4, !tbaa !5
  %22284 = call ptr @s2n_strerror(i32 noundef %22283, ptr noundef @.str.4)
  %22285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22286 = load i32, ptr %22285, align 4, !tbaa !5
  %22287 = call ptr @s2n_strerror_debug(i32 noundef %22286, ptr noundef @.str.4)
  %22288 = call ptr @__errno_location() #12
  %22289 = load i32, ptr %22288, align 4, !tbaa !5
  %22290 = call ptr @strerror(i32 noundef %22289) #11
  %22291 = call ptr @__errno_location() #12
  %22292 = load i32, ptr %22291, align 4, !tbaa !5
  %22293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22280, ptr noundef @.str.5, i32 noundef %22281, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 658, ptr noundef %22284, ptr noundef %22287, ptr noundef %22290, i32 noundef %22292) #11
  br label %22294

22294:                                            ; preds = %22277, %22260
  call void @llvm.lifetime.end.p0(i64 4, ptr %449) #11
  br label %22295

22295:                                            ; preds = %22294
  br label %22296

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

22297:                                            ; No predecessors!
  br label %22298

22298:                                            ; preds = %22297
  br label %22299

22299:                                            ; preds = %22298, %22239
  br label %22300

22300:                                            ; preds = %22299
  br label %22301

22301:                                            ; preds = %22300
  br label %22302

22302:                                            ; preds = %22301
  br label %22303

22303:                                            ; preds = %22302
  br label %22304

22304:                                            ; preds = %22303
  %22305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %22305, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %22306 = call ptr @__errno_location() #12
  store i32 0, ptr %22306, align 4, !tbaa !5
  br label %22307

22307:                                            ; preds = %22304
  br label %22308

22308:                                            ; preds = %22307
  br label %22309

22309:                                            ; preds = %22308
  br label %22310

22310:                                            ; preds = %22309
  br label %22311

22311:                                            ; preds = %22310
  %22312 = load i32, ptr @test_count, align 4, !tbaa !5
  %22313 = add nsw i32 %22312, 1
  store i32 %22313, ptr @test_count, align 4, !tbaa !5
  %22314 = load i32, ptr %386, align 4, !tbaa !5
  %22315 = icmp eq i32 %22314, 2
  br i1 %22315, label %22369, label %22316

22316:                                            ; preds = %22311
  br label %22317

22317:                                            ; preds = %22316
  br label %22318

22318:                                            ; preds = %22317
  call void @llvm.lifetime.start.p0(i64 4, ptr %450) #11
  %22319 = call ptr @__errno_location() #12
  %22320 = load i32, ptr %22319, align 4, !tbaa !5
  store i32 %22320, ptr %450, align 4, !tbaa !5
  %22321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22322 = call i32 @s2n_print_stacktrace(ptr noundef %22321)
  %22323 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22324 = trunc i8 %22323 to i1
  br i1 %22324, label %22325, label %22347

22325:                                            ; preds = %22318
  %22326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22327 = call i32 @fileno(ptr noundef %22326) #11
  %22328 = call i32 @isatty(i32 noundef %22327) #11
  %22329 = icmp ne i32 %22328, 0
  br i1 %22329, label %22330, label %22347

22330:                                            ; preds = %22325
  %22331 = load i32, ptr %450, align 4, !tbaa !5
  %22332 = call ptr @__errno_location() #12
  store i32 %22331, ptr %22332, align 4, !tbaa !5
  %22333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22334 = load i32, ptr @test_count, align 4, !tbaa !5
  %22335 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22336 = load i32, ptr %22335, align 4, !tbaa !5
  %22337 = call ptr @s2n_strerror(i32 noundef %22336, ptr noundef @.str.4)
  %22338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22339 = load i32, ptr %22338, align 4, !tbaa !5
  %22340 = call ptr @s2n_strerror_debug(i32 noundef %22339, ptr noundef @.str.4)
  %22341 = call ptr @__errno_location() #12
  %22342 = load i32, ptr %22341, align 4, !tbaa !5
  %22343 = call ptr @strerror(i32 noundef %22342) #11
  %22344 = call ptr @__errno_location() #12
  %22345 = load i32, ptr %22344, align 4, !tbaa !5
  %22346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22333, ptr noundef @.str.2, i32 noundef %22334, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 659, ptr noundef %22337, ptr noundef %22340, ptr noundef %22343, i32 noundef %22345) #11
  br label %22364

22347:                                            ; preds = %22325, %22318
  %22348 = load i32, ptr %450, align 4, !tbaa !5
  %22349 = call ptr @__errno_location() #12
  store i32 %22348, ptr %22349, align 4, !tbaa !5
  %22350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22351 = load i32, ptr @test_count, align 4, !tbaa !5
  %22352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22353 = load i32, ptr %22352, align 4, !tbaa !5
  %22354 = call ptr @s2n_strerror(i32 noundef %22353, ptr noundef @.str.4)
  %22355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22356 = load i32, ptr %22355, align 4, !tbaa !5
  %22357 = call ptr @s2n_strerror_debug(i32 noundef %22356, ptr noundef @.str.4)
  %22358 = call ptr @__errno_location() #12
  %22359 = load i32, ptr %22358, align 4, !tbaa !5
  %22360 = call ptr @strerror(i32 noundef %22359) #11
  %22361 = call ptr @__errno_location() #12
  %22362 = load i32, ptr %22361, align 4, !tbaa !5
  %22363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22350, ptr noundef @.str.5, i32 noundef %22351, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 659, ptr noundef %22354, ptr noundef %22357, ptr noundef %22360, i32 noundef %22362) #11
  br label %22364

22364:                                            ; preds = %22347, %22330
  call void @llvm.lifetime.end.p0(i64 4, ptr %450) #11
  br label %22365

22365:                                            ; preds = %22364
  br label %22366

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

22367:                                            ; No predecessors!
  br label %22368

22368:                                            ; preds = %22367
  br label %22369

22369:                                            ; preds = %22368, %22311
  br label %22370

22370:                                            ; preds = %22369
  br label %22371

22371:                                            ; preds = %22370
  br label %22372

22372:                                            ; preds = %22371
  %22373 = load i32, ptr @test_count, align 4, !tbaa !5
  %22374 = add nsw i32 %22373, 1
  store i32 %22374, ptr @test_count, align 4, !tbaa !5
  %22375 = load ptr, ptr %372, align 8, !tbaa !9
  %22376 = call i32 @s2n_conn_get_current_message_type(ptr noundef %22375)
  %22377 = icmp eq i32 %22376, 16
  br i1 %22377, label %22431, label %22378

22378:                                            ; preds = %22372
  br label %22379

22379:                                            ; preds = %22378
  br label %22380

22380:                                            ; preds = %22379
  call void @llvm.lifetime.start.p0(i64 4, ptr %451) #11
  %22381 = call ptr @__errno_location() #12
  %22382 = load i32, ptr %22381, align 4, !tbaa !5
  store i32 %22382, ptr %451, align 4, !tbaa !5
  %22383 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22384 = call i32 @s2n_print_stacktrace(ptr noundef %22383)
  %22385 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22386 = trunc i8 %22385 to i1
  br i1 %22386, label %22387, label %22409

22387:                                            ; preds = %22380
  %22388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22389 = call i32 @fileno(ptr noundef %22388) #11
  %22390 = call i32 @isatty(i32 noundef %22389) #11
  %22391 = icmp ne i32 %22390, 0
  br i1 %22391, label %22392, label %22409

22392:                                            ; preds = %22387
  %22393 = load i32, ptr %451, align 4, !tbaa !5
  %22394 = call ptr @__errno_location() #12
  store i32 %22393, ptr %22394, align 4, !tbaa !5
  %22395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22396 = load i32, ptr @test_count, align 4, !tbaa !5
  %22397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22398 = load i32, ptr %22397, align 4, !tbaa !5
  %22399 = call ptr @s2n_strerror(i32 noundef %22398, ptr noundef @.str.4)
  %22400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22401 = load i32, ptr %22400, align 4, !tbaa !5
  %22402 = call ptr @s2n_strerror_debug(i32 noundef %22401, ptr noundef @.str.4)
  %22403 = call ptr @__errno_location() #12
  %22404 = load i32, ptr %22403, align 4, !tbaa !5
  %22405 = call ptr @strerror(i32 noundef %22404) #11
  %22406 = call ptr @__errno_location() #12
  %22407 = load i32, ptr %22406, align 4, !tbaa !5
  %22408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22395, ptr noundef @.str.2, i32 noundef %22396, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 659, ptr noundef %22399, ptr noundef %22402, ptr noundef %22405, i32 noundef %22407) #11
  br label %22426

22409:                                            ; preds = %22387, %22380
  %22410 = load i32, ptr %451, align 4, !tbaa !5
  %22411 = call ptr @__errno_location() #12
  store i32 %22410, ptr %22411, align 4, !tbaa !5
  %22412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22413 = load i32, ptr @test_count, align 4, !tbaa !5
  %22414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22415 = load i32, ptr %22414, align 4, !tbaa !5
  %22416 = call ptr @s2n_strerror(i32 noundef %22415, ptr noundef @.str.4)
  %22417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22418 = load i32, ptr %22417, align 4, !tbaa !5
  %22419 = call ptr @s2n_strerror_debug(i32 noundef %22418, ptr noundef @.str.4)
  %22420 = call ptr @__errno_location() #12
  %22421 = load i32, ptr %22420, align 4, !tbaa !5
  %22422 = call ptr @strerror(i32 noundef %22421) #11
  %22423 = call ptr @__errno_location() #12
  %22424 = load i32, ptr %22423, align 4, !tbaa !5
  %22425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22412, ptr noundef @.str.5, i32 noundef %22413, ptr noundef @.str.109, ptr noundef @.str.1, i32 noundef 659, ptr noundef %22416, ptr noundef %22419, ptr noundef %22422, i32 noundef %22424) #11
  br label %22426

22426:                                            ; preds = %22409, %22392
  call void @llvm.lifetime.end.p0(i64 4, ptr %451) #11
  br label %22427

22427:                                            ; preds = %22426
  br label %22428

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

22429:                                            ; No predecessors!
  br label %22430

22430:                                            ; preds = %22429
  br label %22431

22431:                                            ; preds = %22430, %22372
  br label %22432

22432:                                            ; preds = %22431
  br label %22433

22433:                                            ; preds = %22432
  br label %22434

22434:                                            ; preds = %22433
  %22435 = load i32, ptr @test_count, align 4, !tbaa !5
  %22436 = add nsw i32 %22435, 1
  store i32 %22436, ptr @test_count, align 4, !tbaa !5
  %22437 = load i64, ptr %387, align 8, !tbaa !42
  %22438 = icmp eq i64 %22437, 0
  br i1 %22438, label %22492, label %22439

22439:                                            ; preds = %22434
  br label %22440

22440:                                            ; preds = %22439
  br label %22441

22441:                                            ; preds = %22440
  call void @llvm.lifetime.start.p0(i64 4, ptr %452) #11
  %22442 = call ptr @__errno_location() #12
  %22443 = load i32, ptr %22442, align 4, !tbaa !5
  store i32 %22443, ptr %452, align 4, !tbaa !5
  %22444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22445 = call i32 @s2n_print_stacktrace(ptr noundef %22444)
  %22446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22447 = trunc i8 %22446 to i1
  br i1 %22447, label %22448, label %22470

22448:                                            ; preds = %22441
  %22449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22450 = call i32 @fileno(ptr noundef %22449) #11
  %22451 = call i32 @isatty(i32 noundef %22450) #11
  %22452 = icmp ne i32 %22451, 0
  br i1 %22452, label %22453, label %22470

22453:                                            ; preds = %22448
  %22454 = load i32, ptr %452, align 4, !tbaa !5
  %22455 = call ptr @__errno_location() #12
  store i32 %22454, ptr %22455, align 4, !tbaa !5
  %22456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22457 = load i32, ptr @test_count, align 4, !tbaa !5
  %22458 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22459 = load i32, ptr %22458, align 4, !tbaa !5
  %22460 = call ptr @s2n_strerror(i32 noundef %22459, ptr noundef @.str.4)
  %22461 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22462 = load i32, ptr %22461, align 4, !tbaa !5
  %22463 = call ptr @s2n_strerror_debug(i32 noundef %22462, ptr noundef @.str.4)
  %22464 = call ptr @__errno_location() #12
  %22465 = load i32, ptr %22464, align 4, !tbaa !5
  %22466 = call ptr @strerror(i32 noundef %22465) #11
  %22467 = call ptr @__errno_location() #12
  %22468 = load i32, ptr %22467, align 4, !tbaa !5
  %22469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22456, ptr noundef @.str.2, i32 noundef %22457, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 660, ptr noundef %22460, ptr noundef %22463, ptr noundef %22466, i32 noundef %22468) #11
  br label %22487

22470:                                            ; preds = %22448, %22441
  %22471 = load i32, ptr %452, align 4, !tbaa !5
  %22472 = call ptr @__errno_location() #12
  store i32 %22471, ptr %22472, align 4, !tbaa !5
  %22473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22474 = load i32, ptr @test_count, align 4, !tbaa !5
  %22475 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22476 = load i32, ptr %22475, align 4, !tbaa !5
  %22477 = call ptr @s2n_strerror(i32 noundef %22476, ptr noundef @.str.4)
  %22478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22479 = load i32, ptr %22478, align 4, !tbaa !5
  %22480 = call ptr @s2n_strerror_debug(i32 noundef %22479, ptr noundef @.str.4)
  %22481 = call ptr @__errno_location() #12
  %22482 = load i32, ptr %22481, align 4, !tbaa !5
  %22483 = call ptr @strerror(i32 noundef %22482) #11
  %22484 = call ptr @__errno_location() #12
  %22485 = load i32, ptr %22484, align 4, !tbaa !5
  %22486 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22473, ptr noundef @.str.5, i32 noundef %22474, ptr noundef @.str.41, ptr noundef @.str.1, i32 noundef 660, ptr noundef %22477, ptr noundef %22480, ptr noundef %22483, i32 noundef %22485) #11
  br label %22487

22487:                                            ; preds = %22470, %22453
  call void @llvm.lifetime.end.p0(i64 4, ptr %452) #11
  br label %22488

22488:                                            ; preds = %22487
  br label %22489

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

22490:                                            ; No predecessors!
  br label %22491

22491:                                            ; preds = %22490
  br label %22492

22492:                                            ; preds = %22491, %22434
  br label %22493

22493:                                            ; preds = %22492
  br label %22494

22494:                                            ; preds = %22493
  br label %22495

22495:                                            ; preds = %22494
  %22496 = load i32, ptr @test_count, align 4, !tbaa !5
  %22497 = add nsw i32 %22496, 1
  store i32 %22497, ptr @test_count, align 4, !tbaa !5
  %22498 = load ptr, ptr %372, align 8, !tbaa !9
  %22499 = call i32 @s2n_connection_free(ptr noundef %22498)
  %22500 = icmp eq i32 %22499, -1
  br i1 %22500, label %22501, label %22554

22501:                                            ; preds = %22495
  br label %22502

22502:                                            ; preds = %22501
  br label %22503

22503:                                            ; preds = %22502
  call void @llvm.lifetime.start.p0(i64 4, ptr %453) #11
  %22504 = call ptr @__errno_location() #12
  %22505 = load i32, ptr %22504, align 4, !tbaa !5
  store i32 %22505, ptr %453, align 4, !tbaa !5
  %22506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22507 = call i32 @s2n_print_stacktrace(ptr noundef %22506)
  %22508 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22509 = trunc i8 %22508 to i1
  br i1 %22509, label %22510, label %22532

22510:                                            ; preds = %22503
  %22511 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22512 = call i32 @fileno(ptr noundef %22511) #11
  %22513 = call i32 @isatty(i32 noundef %22512) #11
  %22514 = icmp ne i32 %22513, 0
  br i1 %22514, label %22515, label %22532

22515:                                            ; preds = %22510
  %22516 = load i32, ptr %453, align 4, !tbaa !5
  %22517 = call ptr @__errno_location() #12
  store i32 %22516, ptr %22517, align 4, !tbaa !5
  %22518 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22519 = load i32, ptr @test_count, align 4, !tbaa !5
  %22520 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22521 = load i32, ptr %22520, align 4, !tbaa !5
  %22522 = call ptr @s2n_strerror(i32 noundef %22521, ptr noundef @.str.4)
  %22523 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22524 = load i32, ptr %22523, align 4, !tbaa !5
  %22525 = call ptr @s2n_strerror_debug(i32 noundef %22524, ptr noundef @.str.4)
  %22526 = call ptr @__errno_location() #12
  %22527 = load i32, ptr %22526, align 4, !tbaa !5
  %22528 = call ptr @strerror(i32 noundef %22527) #11
  %22529 = call ptr @__errno_location() #12
  %22530 = load i32, ptr %22529, align 4, !tbaa !5
  %22531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22518, ptr noundef @.str.2, i32 noundef %22519, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 662, ptr noundef %22522, ptr noundef %22525, ptr noundef %22528, i32 noundef %22530) #11
  br label %22549

22532:                                            ; preds = %22510, %22503
  %22533 = load i32, ptr %453, align 4, !tbaa !5
  %22534 = call ptr @__errno_location() #12
  store i32 %22533, ptr %22534, align 4, !tbaa !5
  %22535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22536 = load i32, ptr @test_count, align 4, !tbaa !5
  %22537 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22538 = load i32, ptr %22537, align 4, !tbaa !5
  %22539 = call ptr @s2n_strerror(i32 noundef %22538, ptr noundef @.str.4)
  %22540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22541 = load i32, ptr %22540, align 4, !tbaa !5
  %22542 = call ptr @s2n_strerror_debug(i32 noundef %22541, ptr noundef @.str.4)
  %22543 = call ptr @__errno_location() #12
  %22544 = load i32, ptr %22543, align 4, !tbaa !5
  %22545 = call ptr @strerror(i32 noundef %22544) #11
  %22546 = call ptr @__errno_location() #12
  %22547 = load i32, ptr %22546, align 4, !tbaa !5
  %22548 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22535, ptr noundef @.str.5, i32 noundef %22536, ptr noundef @.str.44, ptr noundef @.str.1, i32 noundef 662, ptr noundef %22539, ptr noundef %22542, ptr noundef %22545, i32 noundef %22547) #11
  br label %22549

22549:                                            ; preds = %22532, %22515
  call void @llvm.lifetime.end.p0(i64 4, ptr %453) #11
  br label %22550

22550:                                            ; preds = %22549
  br label %22551

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

22552:                                            ; No predecessors!
  br label %22553

22553:                                            ; preds = %22552
  br label %22554

22554:                                            ; preds = %22553, %22495
  br label %22555

22555:                                            ; preds = %22554
  br label %22556

22556:                                            ; preds = %22555
  br label %22557

22557:                                            ; preds = %22556
  %22558 = load i32, ptr @test_count, align 4, !tbaa !5
  %22559 = add nsw i32 %22558, 1
  store i32 %22559, ptr @test_count, align 4, !tbaa !5
  %22560 = load ptr, ptr %376, align 8, !tbaa !9
  %22561 = call i32 @s2n_connection_free(ptr noundef %22560)
  %22562 = icmp eq i32 %22561, -1
  br i1 %22562, label %22563, label %22616

22563:                                            ; preds = %22557
  br label %22564

22564:                                            ; preds = %22563
  br label %22565

22565:                                            ; preds = %22564
  call void @llvm.lifetime.start.p0(i64 4, ptr %454) #11
  %22566 = call ptr @__errno_location() #12
  %22567 = load i32, ptr %22566, align 4, !tbaa !5
  store i32 %22567, ptr %454, align 4, !tbaa !5
  %22568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22569 = call i32 @s2n_print_stacktrace(ptr noundef %22568)
  %22570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22571 = trunc i8 %22570 to i1
  br i1 %22571, label %22572, label %22594

22572:                                            ; preds = %22565
  %22573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22574 = call i32 @fileno(ptr noundef %22573) #11
  %22575 = call i32 @isatty(i32 noundef %22574) #11
  %22576 = icmp ne i32 %22575, 0
  br i1 %22576, label %22577, label %22594

22577:                                            ; preds = %22572
  %22578 = load i32, ptr %454, align 4, !tbaa !5
  %22579 = call ptr @__errno_location() #12
  store i32 %22578, ptr %22579, align 4, !tbaa !5
  %22580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22581 = load i32, ptr @test_count, align 4, !tbaa !5
  %22582 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22583 = load i32, ptr %22582, align 4, !tbaa !5
  %22584 = call ptr @s2n_strerror(i32 noundef %22583, ptr noundef @.str.4)
  %22585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22586 = load i32, ptr %22585, align 4, !tbaa !5
  %22587 = call ptr @s2n_strerror_debug(i32 noundef %22586, ptr noundef @.str.4)
  %22588 = call ptr @__errno_location() #12
  %22589 = load i32, ptr %22588, align 4, !tbaa !5
  %22590 = call ptr @strerror(i32 noundef %22589) #11
  %22591 = call ptr @__errno_location() #12
  %22592 = load i32, ptr %22591, align 4, !tbaa !5
  %22593 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22580, ptr noundef @.str.2, i32 noundef %22581, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 663, ptr noundef %22584, ptr noundef %22587, ptr noundef %22590, i32 noundef %22592) #11
  br label %22611

22594:                                            ; preds = %22572, %22565
  %22595 = load i32, ptr %454, align 4, !tbaa !5
  %22596 = call ptr @__errno_location() #12
  store i32 %22595, ptr %22596, align 4, !tbaa !5
  %22597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22598 = load i32, ptr @test_count, align 4, !tbaa !5
  %22599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22600 = load i32, ptr %22599, align 4, !tbaa !5
  %22601 = call ptr @s2n_strerror(i32 noundef %22600, ptr noundef @.str.4)
  %22602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22603 = load i32, ptr %22602, align 4, !tbaa !5
  %22604 = call ptr @s2n_strerror_debug(i32 noundef %22603, ptr noundef @.str.4)
  %22605 = call ptr @__errno_location() #12
  %22606 = load i32, ptr %22605, align 4, !tbaa !5
  %22607 = call ptr @strerror(i32 noundef %22606) #11
  %22608 = call ptr @__errno_location() #12
  %22609 = load i32, ptr %22608, align 4, !tbaa !5
  %22610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22597, ptr noundef @.str.5, i32 noundef %22598, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 663, ptr noundef %22601, ptr noundef %22604, ptr noundef %22607, i32 noundef %22609) #11
  br label %22611

22611:                                            ; preds = %22594, %22577
  call void @llvm.lifetime.end.p0(i64 4, ptr %454) #11
  br label %22612

22612:                                            ; preds = %22611
  br label %22613

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

22614:                                            ; No predecessors!
  br label %22615

22615:                                            ; preds = %22614
  br label %22616

22616:                                            ; preds = %22615, %22557
  br label %22617

22617:                                            ; preds = %22616
  br label %22618

22618:                                            ; preds = %22617
  call void @llvm.lifetime.end.p0(i64 8, ptr %387) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %386) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %385) #11
  %22619 = call i32 @s2n_stuffer_free(ptr noundef %382)
  call void @llvm.lifetime.end.p0(i64 40, ptr %382) #11
  %22620 = call i32 @s2n_stuffer_free(ptr noundef %381)
  call void @llvm.lifetime.end.p0(i64 40, ptr %381) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %376) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %372) #11
  call void @llvm.lifetime.end.p0(i64 1, ptr %371) #11
  call void @llvm.lifetime.start.p0(i64 4, ptr %455) #11
  store i32 65535, ptr %455, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %456) #11
  %22621 = call ptr @s2n_external_psk_new()
  store ptr %22621, ptr %456, align 8, !tbaa !9
  br label %22622

22622:                                            ; preds = %22618
  %22623 = load i32, ptr @test_count, align 4, !tbaa !5
  %22624 = add nsw i32 %22623, 1
  store i32 %22624, ptr @test_count, align 4, !tbaa !5
  %22625 = load ptr, ptr %456, align 8, !tbaa !9
  %22626 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %22627 = call i32 @s2n_psk_set_identity(ptr noundef %22625, ptr noundef %22626, i16 noundef zeroext 12)
  %22628 = icmp eq i32 %22627, -1
  br i1 %22628, label %22629, label %22682

22629:                                            ; preds = %22622
  br label %22630

22630:                                            ; preds = %22629
  br label %22631

22631:                                            ; preds = %22630
  call void @llvm.lifetime.start.p0(i64 4, ptr %457) #11
  %22632 = call ptr @__errno_location() #12
  %22633 = load i32, ptr %22632, align 4, !tbaa !5
  store i32 %22633, ptr %457, align 4, !tbaa !5
  %22634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22635 = call i32 @s2n_print_stacktrace(ptr noundef %22634)
  %22636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22637 = trunc i8 %22636 to i1
  br i1 %22637, label %22638, label %22660

22638:                                            ; preds = %22631
  %22639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22640 = call i32 @fileno(ptr noundef %22639) #11
  %22641 = call i32 @isatty(i32 noundef %22640) #11
  %22642 = icmp ne i32 %22641, 0
  br i1 %22642, label %22643, label %22660

22643:                                            ; preds = %22638
  %22644 = load i32, ptr %457, align 4, !tbaa !5
  %22645 = call ptr @__errno_location() #12
  store i32 %22644, ptr %22645, align 4, !tbaa !5
  %22646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22647 = load i32, ptr @test_count, align 4, !tbaa !5
  %22648 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22649 = load i32, ptr %22648, align 4, !tbaa !5
  %22650 = call ptr @s2n_strerror(i32 noundef %22649, ptr noundef @.str.4)
  %22651 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22652 = load i32, ptr %22651, align 4, !tbaa !5
  %22653 = call ptr @s2n_strerror_debug(i32 noundef %22652, ptr noundef @.str.4)
  %22654 = call ptr @__errno_location() #12
  %22655 = load i32, ptr %22654, align 4, !tbaa !5
  %22656 = call ptr @strerror(i32 noundef %22655) #11
  %22657 = call ptr @__errno_location() #12
  %22658 = load i32, ptr %22657, align 4, !tbaa !5
  %22659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22646, ptr noundef @.str.2, i32 noundef %22647, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 674, ptr noundef %22650, ptr noundef %22653, ptr noundef %22656, i32 noundef %22658) #11
  br label %22677

22660:                                            ; preds = %22638, %22631
  %22661 = load i32, ptr %457, align 4, !tbaa !5
  %22662 = call ptr @__errno_location() #12
  store i32 %22661, ptr %22662, align 4, !tbaa !5
  %22663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22664 = load i32, ptr @test_count, align 4, !tbaa !5
  %22665 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22666 = load i32, ptr %22665, align 4, !tbaa !5
  %22667 = call ptr @s2n_strerror(i32 noundef %22666, ptr noundef @.str.4)
  %22668 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22669 = load i32, ptr %22668, align 4, !tbaa !5
  %22670 = call ptr @s2n_strerror_debug(i32 noundef %22669, ptr noundef @.str.4)
  %22671 = call ptr @__errno_location() #12
  %22672 = load i32, ptr %22671, align 4, !tbaa !5
  %22673 = call ptr @strerror(i32 noundef %22672) #11
  %22674 = call ptr @__errno_location() #12
  %22675 = load i32, ptr %22674, align 4, !tbaa !5
  %22676 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22663, ptr noundef @.str.5, i32 noundef %22664, ptr noundef @.str.110, ptr noundef @.str.1, i32 noundef 674, ptr noundef %22667, ptr noundef %22670, ptr noundef %22673, i32 noundef %22675) #11
  br label %22677

22677:                                            ; preds = %22660, %22643
  call void @llvm.lifetime.end.p0(i64 4, ptr %457) #11
  br label %22678

22678:                                            ; preds = %22677
  br label %22679

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

22680:                                            ; No predecessors!
  br label %22681

22681:                                            ; preds = %22680
  br label %22682

22682:                                            ; preds = %22681, %22622
  br label %22683

22683:                                            ; preds = %22682
  br label %22684

22684:                                            ; preds = %22683
  br label %22685

22685:                                            ; preds = %22684
  %22686 = load i32, ptr @test_count, align 4, !tbaa !5
  %22687 = add nsw i32 %22686, 1
  store i32 %22687, ptr @test_count, align 4, !tbaa !5
  %22688 = load ptr, ptr %456, align 8, !tbaa !9
  %22689 = getelementptr inbounds [12 x i8], ptr %11, i64 0, i64 0
  %22690 = call i32 @s2n_psk_set_secret(ptr noundef %22688, ptr noundef %22689, i16 noundef zeroext 12)
  %22691 = icmp eq i32 %22690, -1
  br i1 %22691, label %22692, label %22745

22692:                                            ; preds = %22685
  br label %22693

22693:                                            ; preds = %22692
  br label %22694

22694:                                            ; preds = %22693
  call void @llvm.lifetime.start.p0(i64 4, ptr %458) #11
  %22695 = call ptr @__errno_location() #12
  %22696 = load i32, ptr %22695, align 4, !tbaa !5
  store i32 %22696, ptr %458, align 4, !tbaa !5
  %22697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22698 = call i32 @s2n_print_stacktrace(ptr noundef %22697)
  %22699 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22700 = trunc i8 %22699 to i1
  br i1 %22700, label %22701, label %22723

22701:                                            ; preds = %22694
  %22702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22703 = call i32 @fileno(ptr noundef %22702) #11
  %22704 = call i32 @isatty(i32 noundef %22703) #11
  %22705 = icmp ne i32 %22704, 0
  br i1 %22705, label %22706, label %22723

22706:                                            ; preds = %22701
  %22707 = load i32, ptr %458, align 4, !tbaa !5
  %22708 = call ptr @__errno_location() #12
  store i32 %22707, ptr %22708, align 4, !tbaa !5
  %22709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22710 = load i32, ptr @test_count, align 4, !tbaa !5
  %22711 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22712 = load i32, ptr %22711, align 4, !tbaa !5
  %22713 = call ptr @s2n_strerror(i32 noundef %22712, ptr noundef @.str.4)
  %22714 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22715 = load i32, ptr %22714, align 4, !tbaa !5
  %22716 = call ptr @s2n_strerror_debug(i32 noundef %22715, ptr noundef @.str.4)
  %22717 = call ptr @__errno_location() #12
  %22718 = load i32, ptr %22717, align 4, !tbaa !5
  %22719 = call ptr @strerror(i32 noundef %22718) #11
  %22720 = call ptr @__errno_location() #12
  %22721 = load i32, ptr %22720, align 4, !tbaa !5
  %22722 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22709, ptr noundef @.str.2, i32 noundef %22710, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 675, ptr noundef %22713, ptr noundef %22716, ptr noundef %22719, i32 noundef %22721) #11
  br label %22740

22723:                                            ; preds = %22701, %22694
  %22724 = load i32, ptr %458, align 4, !tbaa !5
  %22725 = call ptr @__errno_location() #12
  store i32 %22724, ptr %22725, align 4, !tbaa !5
  %22726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22727 = load i32, ptr @test_count, align 4, !tbaa !5
  %22728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22729 = load i32, ptr %22728, align 4, !tbaa !5
  %22730 = call ptr @s2n_strerror(i32 noundef %22729, ptr noundef @.str.4)
  %22731 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22732 = load i32, ptr %22731, align 4, !tbaa !5
  %22733 = call ptr @s2n_strerror_debug(i32 noundef %22732, ptr noundef @.str.4)
  %22734 = call ptr @__errno_location() #12
  %22735 = load i32, ptr %22734, align 4, !tbaa !5
  %22736 = call ptr @strerror(i32 noundef %22735) #11
  %22737 = call ptr @__errno_location() #12
  %22738 = load i32, ptr %22737, align 4, !tbaa !5
  %22739 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22726, ptr noundef @.str.5, i32 noundef %22727, ptr noundef @.str.111, ptr noundef @.str.1, i32 noundef 675, ptr noundef %22730, ptr noundef %22733, ptr noundef %22736, i32 noundef %22738) #11
  br label %22740

22740:                                            ; preds = %22723, %22706
  call void @llvm.lifetime.end.p0(i64 4, ptr %458) #11
  br label %22741

22741:                                            ; preds = %22740
  br label %22742

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

22743:                                            ; No predecessors!
  br label %22744

22744:                                            ; preds = %22743
  br label %22745

22745:                                            ; preds = %22744, %22685
  br label %22746

22746:                                            ; preds = %22745
  br label %22747

22747:                                            ; preds = %22746
  br label %22748

22748:                                            ; preds = %22747
  %22749 = load i32, ptr @test_count, align 4, !tbaa !5
  %22750 = add nsw i32 %22749, 1
  store i32 %22750, ptr @test_count, align 4, !tbaa !5
  %22751 = load ptr, ptr %456, align 8, !tbaa !9
  %22752 = call i32 @s2n_psk_configure_early_data(ptr noundef %22751, i32 noundef 65535, i8 noundef zeroext 19, i8 noundef zeroext 1)
  %22753 = icmp eq i32 %22752, -1
  br i1 %22753, label %22754, label %22807

22754:                                            ; preds = %22748
  br label %22755

22755:                                            ; preds = %22754
  br label %22756

22756:                                            ; preds = %22755
  call void @llvm.lifetime.start.p0(i64 4, ptr %459) #11
  %22757 = call ptr @__errno_location() #12
  %22758 = load i32, ptr %22757, align 4, !tbaa !5
  store i32 %22758, ptr %459, align 4, !tbaa !5
  %22759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22760 = call i32 @s2n_print_stacktrace(ptr noundef %22759)
  %22761 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22762 = trunc i8 %22761 to i1
  br i1 %22762, label %22763, label %22785

22763:                                            ; preds = %22756
  %22764 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22765 = call i32 @fileno(ptr noundef %22764) #11
  %22766 = call i32 @isatty(i32 noundef %22765) #11
  %22767 = icmp ne i32 %22766, 0
  br i1 %22767, label %22768, label %22785

22768:                                            ; preds = %22763
  %22769 = load i32, ptr %459, align 4, !tbaa !5
  %22770 = call ptr @__errno_location() #12
  store i32 %22769, ptr %22770, align 4, !tbaa !5
  %22771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22772 = load i32, ptr @test_count, align 4, !tbaa !5
  %22773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22774 = load i32, ptr %22773, align 4, !tbaa !5
  %22775 = call ptr @s2n_strerror(i32 noundef %22774, ptr noundef @.str.4)
  %22776 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22777 = load i32, ptr %22776, align 4, !tbaa !5
  %22778 = call ptr @s2n_strerror_debug(i32 noundef %22777, ptr noundef @.str.4)
  %22779 = call ptr @__errno_location() #12
  %22780 = load i32, ptr %22779, align 4, !tbaa !5
  %22781 = call ptr @strerror(i32 noundef %22780) #11
  %22782 = call ptr @__errno_location() #12
  %22783 = load i32, ptr %22782, align 4, !tbaa !5
  %22784 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22771, ptr noundef @.str.2, i32 noundef %22772, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 676, ptr noundef %22775, ptr noundef %22778, ptr noundef %22781, i32 noundef %22783) #11
  br label %22802

22785:                                            ; preds = %22763, %22756
  %22786 = load i32, ptr %459, align 4, !tbaa !5
  %22787 = call ptr @__errno_location() #12
  store i32 %22786, ptr %22787, align 4, !tbaa !5
  %22788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22789 = load i32, ptr @test_count, align 4, !tbaa !5
  %22790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22791 = load i32, ptr %22790, align 4, !tbaa !5
  %22792 = call ptr @s2n_strerror(i32 noundef %22791, ptr noundef @.str.4)
  %22793 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22794 = load i32, ptr %22793, align 4, !tbaa !5
  %22795 = call ptr @s2n_strerror_debug(i32 noundef %22794, ptr noundef @.str.4)
  %22796 = call ptr @__errno_location() #12
  %22797 = load i32, ptr %22796, align 4, !tbaa !5
  %22798 = call ptr @strerror(i32 noundef %22797) #11
  %22799 = call ptr @__errno_location() #12
  %22800 = load i32, ptr %22799, align 4, !tbaa !5
  %22801 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22788, ptr noundef @.str.5, i32 noundef %22789, ptr noundef @.str.112, ptr noundef @.str.1, i32 noundef 676, ptr noundef %22792, ptr noundef %22795, ptr noundef %22798, i32 noundef %22800) #11
  br label %22802

22802:                                            ; preds = %22785, %22768
  call void @llvm.lifetime.end.p0(i64 4, ptr %459) #11
  br label %22803

22803:                                            ; preds = %22802
  br label %22804

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

22805:                                            ; No predecessors!
  br label %22806

22806:                                            ; preds = %22805
  br label %22807

22807:                                            ; preds = %22806, %22748
  br label %22808

22808:                                            ; preds = %22807
  br label %22809

22809:                                            ; preds = %22808
  call void @llvm.lifetime.start.p0(i64 8, ptr %460) #11
  %22810 = call ptr @s2n_connection_new(i32 noundef 1)
  store ptr %22810, ptr %460, align 8, !tbaa !9
  br label %22811

22811:                                            ; preds = %22809
  %22812 = load i32, ptr @test_count, align 4, !tbaa !5
  %22813 = add nsw i32 %22812, 1
  store i32 %22813, ptr @test_count, align 4, !tbaa !5
  %22814 = load ptr, ptr %460, align 8, !tbaa !9
  %22815 = icmp eq ptr %22814, null
  br i1 %22815, label %22816, label %22869

22816:                                            ; preds = %22811
  br label %22817

22817:                                            ; preds = %22816
  br label %22818

22818:                                            ; preds = %22817
  call void @llvm.lifetime.start.p0(i64 4, ptr %461) #11
  %22819 = call ptr @__errno_location() #12
  %22820 = load i32, ptr %22819, align 4, !tbaa !5
  store i32 %22820, ptr %461, align 4, !tbaa !5
  %22821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22822 = call i32 @s2n_print_stacktrace(ptr noundef %22821)
  %22823 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22824 = trunc i8 %22823 to i1
  br i1 %22824, label %22825, label %22847

22825:                                            ; preds = %22818
  %22826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22827 = call i32 @fileno(ptr noundef %22826) #11
  %22828 = call i32 @isatty(i32 noundef %22827) #11
  %22829 = icmp ne i32 %22828, 0
  br i1 %22829, label %22830, label %22847

22830:                                            ; preds = %22825
  %22831 = load i32, ptr %461, align 4, !tbaa !5
  %22832 = call ptr @__errno_location() #12
  store i32 %22831, ptr %22832, align 4, !tbaa !5
  %22833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22834 = load i32, ptr @test_count, align 4, !tbaa !5
  %22835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22836 = load i32, ptr %22835, align 4, !tbaa !5
  %22837 = call ptr @s2n_strerror(i32 noundef %22836, ptr noundef @.str.4)
  %22838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22839 = load i32, ptr %22838, align 4, !tbaa !5
  %22840 = call ptr @s2n_strerror_debug(i32 noundef %22839, ptr noundef @.str.4)
  %22841 = call ptr @__errno_location() #12
  %22842 = load i32, ptr %22841, align 4, !tbaa !5
  %22843 = call ptr @strerror(i32 noundef %22842) #11
  %22844 = call ptr @__errno_location() #12
  %22845 = load i32, ptr %22844, align 4, !tbaa !5
  %22846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22833, ptr noundef @.str.2, i32 noundef %22834, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 680, ptr noundef %22837, ptr noundef %22840, ptr noundef %22843, i32 noundef %22845) #11
  br label %22864

22847:                                            ; preds = %22825, %22818
  %22848 = load i32, ptr %461, align 4, !tbaa !5
  %22849 = call ptr @__errno_location() #12
  store i32 %22848, ptr %22849, align 4, !tbaa !5
  %22850 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22851 = load i32, ptr @test_count, align 4, !tbaa !5
  %22852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22853 = load i32, ptr %22852, align 4, !tbaa !5
  %22854 = call ptr @s2n_strerror(i32 noundef %22853, ptr noundef @.str.4)
  %22855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22856 = load i32, ptr %22855, align 4, !tbaa !5
  %22857 = call ptr @s2n_strerror_debug(i32 noundef %22856, ptr noundef @.str.4)
  %22858 = call ptr @__errno_location() #12
  %22859 = load i32, ptr %22858, align 4, !tbaa !5
  %22860 = call ptr @strerror(i32 noundef %22859) #11
  %22861 = call ptr @__errno_location() #12
  %22862 = load i32, ptr %22861, align 4, !tbaa !5
  %22863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22850, ptr noundef @.str.5, i32 noundef %22851, ptr noundef @.str.30, ptr noundef @.str.1, i32 noundef 680, ptr noundef %22854, ptr noundef %22857, ptr noundef %22860, i32 noundef %22862) #11
  br label %22864

22864:                                            ; preds = %22847, %22830
  call void @llvm.lifetime.end.p0(i64 4, ptr %461) #11
  br label %22865

22865:                                            ; preds = %22864
  br label %22866

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

22867:                                            ; No predecessors!
  br label %22868

22868:                                            ; preds = %22867
  br label %22869

22869:                                            ; preds = %22868, %22811
  br label %22870

22870:                                            ; preds = %22869
  br label %22871

22871:                                            ; preds = %22870
  br label %22872

22872:                                            ; preds = %22871
  %22873 = load i32, ptr @test_count, align 4, !tbaa !5
  %22874 = add nsw i32 %22873, 1
  store i32 %22874, ptr @test_count, align 4, !tbaa !5
  %22875 = load ptr, ptr %460, align 8, !tbaa !9
  %22876 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %22875, ptr noundef @.str.31)
  %22877 = icmp eq i32 %22876, -1
  br i1 %22877, label %22878, label %22931

22878:                                            ; preds = %22872
  br label %22879

22879:                                            ; preds = %22878
  br label %22880

22880:                                            ; preds = %22879
  call void @llvm.lifetime.start.p0(i64 4, ptr %462) #11
  %22881 = call ptr @__errno_location() #12
  %22882 = load i32, ptr %22881, align 4, !tbaa !5
  store i32 %22882, ptr %462, align 4, !tbaa !5
  %22883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22884 = call i32 @s2n_print_stacktrace(ptr noundef %22883)
  %22885 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22886 = trunc i8 %22885 to i1
  br i1 %22886, label %22887, label %22909

22887:                                            ; preds = %22880
  %22888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22889 = call i32 @fileno(ptr noundef %22888) #11
  %22890 = call i32 @isatty(i32 noundef %22889) #11
  %22891 = icmp ne i32 %22890, 0
  br i1 %22891, label %22892, label %22909

22892:                                            ; preds = %22887
  %22893 = load i32, ptr %462, align 4, !tbaa !5
  %22894 = call ptr @__errno_location() #12
  store i32 %22893, ptr %22894, align 4, !tbaa !5
  %22895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22896 = load i32, ptr @test_count, align 4, !tbaa !5
  %22897 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22898 = load i32, ptr %22897, align 4, !tbaa !5
  %22899 = call ptr @s2n_strerror(i32 noundef %22898, ptr noundef @.str.4)
  %22900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22901 = load i32, ptr %22900, align 4, !tbaa !5
  %22902 = call ptr @s2n_strerror_debug(i32 noundef %22901, ptr noundef @.str.4)
  %22903 = call ptr @__errno_location() #12
  %22904 = load i32, ptr %22903, align 4, !tbaa !5
  %22905 = call ptr @strerror(i32 noundef %22904) #11
  %22906 = call ptr @__errno_location() #12
  %22907 = load i32, ptr %22906, align 4, !tbaa !5
  %22908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22895, ptr noundef @.str.2, i32 noundef %22896, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 681, ptr noundef %22899, ptr noundef %22902, ptr noundef %22905, i32 noundef %22907) #11
  br label %22926

22909:                                            ; preds = %22887, %22880
  %22910 = load i32, ptr %462, align 4, !tbaa !5
  %22911 = call ptr @__errno_location() #12
  store i32 %22910, ptr %22911, align 4, !tbaa !5
  %22912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22913 = load i32, ptr @test_count, align 4, !tbaa !5
  %22914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22915 = load i32, ptr %22914, align 4, !tbaa !5
  %22916 = call ptr @s2n_strerror(i32 noundef %22915, ptr noundef @.str.4)
  %22917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22918 = load i32, ptr %22917, align 4, !tbaa !5
  %22919 = call ptr @s2n_strerror_debug(i32 noundef %22918, ptr noundef @.str.4)
  %22920 = call ptr @__errno_location() #12
  %22921 = load i32, ptr %22920, align 4, !tbaa !5
  %22922 = call ptr @strerror(i32 noundef %22921) #11
  %22923 = call ptr @__errno_location() #12
  %22924 = load i32, ptr %22923, align 4, !tbaa !5
  %22925 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22912, ptr noundef @.str.5, i32 noundef %22913, ptr noundef @.str.32, ptr noundef @.str.1, i32 noundef 681, ptr noundef %22916, ptr noundef %22919, ptr noundef %22922, i32 noundef %22924) #11
  br label %22926

22926:                                            ; preds = %22909, %22892
  call void @llvm.lifetime.end.p0(i64 4, ptr %462) #11
  br label %22927

22927:                                            ; preds = %22926
  br label %22928

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

22929:                                            ; No predecessors!
  br label %22930

22930:                                            ; preds = %22929
  br label %22931

22931:                                            ; preds = %22930, %22872
  br label %22932

22932:                                            ; preds = %22931
  br label %22933

22933:                                            ; preds = %22932
  br label %22934

22934:                                            ; preds = %22933
  %22935 = load i32, ptr @test_count, align 4, !tbaa !5
  %22936 = add nsw i32 %22935, 1
  store i32 %22936, ptr @test_count, align 4, !tbaa !5
  %22937 = load ptr, ptr %460, align 8, !tbaa !9
  %22938 = load ptr, ptr %456, align 8, !tbaa !9
  %22939 = call i32 @s2n_connection_append_psk(ptr noundef %22937, ptr noundef %22938)
  %22940 = icmp eq i32 %22939, -1
  br i1 %22940, label %22941, label %22994

22941:                                            ; preds = %22934
  br label %22942

22942:                                            ; preds = %22941
  br label %22943

22943:                                            ; preds = %22942
  call void @llvm.lifetime.start.p0(i64 4, ptr %463) #11
  %22944 = call ptr @__errno_location() #12
  %22945 = load i32, ptr %22944, align 4, !tbaa !5
  store i32 %22945, ptr %463, align 4, !tbaa !5
  %22946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22947 = call i32 @s2n_print_stacktrace(ptr noundef %22946)
  %22948 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %22949 = trunc i8 %22948 to i1
  br i1 %22949, label %22950, label %22972

22950:                                            ; preds = %22943
  %22951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22952 = call i32 @fileno(ptr noundef %22951) #11
  %22953 = call i32 @isatty(i32 noundef %22952) #11
  %22954 = icmp ne i32 %22953, 0
  br i1 %22954, label %22955, label %22972

22955:                                            ; preds = %22950
  %22956 = load i32, ptr %463, align 4, !tbaa !5
  %22957 = call ptr @__errno_location() #12
  store i32 %22956, ptr %22957, align 4, !tbaa !5
  %22958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22959 = load i32, ptr @test_count, align 4, !tbaa !5
  %22960 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22961 = load i32, ptr %22960, align 4, !tbaa !5
  %22962 = call ptr @s2n_strerror(i32 noundef %22961, ptr noundef @.str.4)
  %22963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22964 = load i32, ptr %22963, align 4, !tbaa !5
  %22965 = call ptr @s2n_strerror_debug(i32 noundef %22964, ptr noundef @.str.4)
  %22966 = call ptr @__errno_location() #12
  %22967 = load i32, ptr %22966, align 4, !tbaa !5
  %22968 = call ptr @strerror(i32 noundef %22967) #11
  %22969 = call ptr @__errno_location() #12
  %22970 = load i32, ptr %22969, align 4, !tbaa !5
  %22971 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22958, ptr noundef @.str.2, i32 noundef %22959, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 682, ptr noundef %22962, ptr noundef %22965, ptr noundef %22968, i32 noundef %22970) #11
  br label %22989

22972:                                            ; preds = %22950, %22943
  %22973 = load i32, ptr %463, align 4, !tbaa !5
  %22974 = call ptr @__errno_location() #12
  store i32 %22973, ptr %22974, align 4, !tbaa !5
  %22975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %22976 = load i32, ptr @test_count, align 4, !tbaa !5
  %22977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22978 = load i32, ptr %22977, align 4, !tbaa !5
  %22979 = call ptr @s2n_strerror(i32 noundef %22978, ptr noundef @.str.4)
  %22980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %22981 = load i32, ptr %22980, align 4, !tbaa !5
  %22982 = call ptr @s2n_strerror_debug(i32 noundef %22981, ptr noundef @.str.4)
  %22983 = call ptr @__errno_location() #12
  %22984 = load i32, ptr %22983, align 4, !tbaa !5
  %22985 = call ptr @strerror(i32 noundef %22984) #11
  %22986 = call ptr @__errno_location() #12
  %22987 = load i32, ptr %22986, align 4, !tbaa !5
  %22988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %22975, ptr noundef @.str.5, i32 noundef %22976, ptr noundef @.str.113, ptr noundef @.str.1, i32 noundef 682, ptr noundef %22979, ptr noundef %22982, ptr noundef %22985, i32 noundef %22987) #11
  br label %22989

22989:                                            ; preds = %22972, %22955
  call void @llvm.lifetime.end.p0(i64 4, ptr %463) #11
  br label %22990

22990:                                            ; preds = %22989
  br label %22991

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

22992:                                            ; No predecessors!
  br label %22993

22993:                                            ; preds = %22992
  br label %22994

22994:                                            ; preds = %22993, %22934
  br label %22995

22995:                                            ; preds = %22994
  br label %22996

22996:                                            ; preds = %22995
  call void @llvm.lifetime.start.p0(i64 8, ptr %464) #11
  %22997 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %22997, ptr %464, align 8, !tbaa !9
  br label %22998

22998:                                            ; preds = %22996
  %22999 = load i32, ptr @test_count, align 4, !tbaa !5
  %23000 = add nsw i32 %22999, 1
  store i32 %23000, ptr @test_count, align 4, !tbaa !5
  %23001 = load ptr, ptr %464, align 8, !tbaa !9
  %23002 = icmp eq ptr %23001, null
  br i1 %23002, label %23003, label %23056

23003:                                            ; preds = %22998
  br label %23004

23004:                                            ; preds = %23003
  br label %23005

23005:                                            ; preds = %23004
  call void @llvm.lifetime.start.p0(i64 4, ptr %465) #11
  %23006 = call ptr @__errno_location() #12
  %23007 = load i32, ptr %23006, align 4, !tbaa !5
  store i32 %23007, ptr %465, align 4, !tbaa !5
  %23008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23009 = call i32 @s2n_print_stacktrace(ptr noundef %23008)
  %23010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23011 = trunc i8 %23010 to i1
  br i1 %23011, label %23012, label %23034

23012:                                            ; preds = %23005
  %23013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23014 = call i32 @fileno(ptr noundef %23013) #11
  %23015 = call i32 @isatty(i32 noundef %23014) #11
  %23016 = icmp ne i32 %23015, 0
  br i1 %23016, label %23017, label %23034

23017:                                            ; preds = %23012
  %23018 = load i32, ptr %465, align 4, !tbaa !5
  %23019 = call ptr @__errno_location() #12
  store i32 %23018, ptr %23019, align 4, !tbaa !5
  %23020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23021 = load i32, ptr @test_count, align 4, !tbaa !5
  %23022 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23023 = load i32, ptr %23022, align 4, !tbaa !5
  %23024 = call ptr @s2n_strerror(i32 noundef %23023, ptr noundef @.str.4)
  %23025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23026 = load i32, ptr %23025, align 4, !tbaa !5
  %23027 = call ptr @s2n_strerror_debug(i32 noundef %23026, ptr noundef @.str.4)
  %23028 = call ptr @__errno_location() #12
  %23029 = load i32, ptr %23028, align 4, !tbaa !5
  %23030 = call ptr @strerror(i32 noundef %23029) #11
  %23031 = call ptr @__errno_location() #12
  %23032 = load i32, ptr %23031, align 4, !tbaa !5
  %23033 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23020, ptr noundef @.str.2, i32 noundef %23021, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 686, ptr noundef %23024, ptr noundef %23027, ptr noundef %23030, i32 noundef %23032) #11
  br label %23051

23034:                                            ; preds = %23012, %23005
  %23035 = load i32, ptr %465, align 4, !tbaa !5
  %23036 = call ptr @__errno_location() #12
  store i32 %23035, ptr %23036, align 4, !tbaa !5
  %23037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23038 = load i32, ptr @test_count, align 4, !tbaa !5
  %23039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23040 = load i32, ptr %23039, align 4, !tbaa !5
  %23041 = call ptr @s2n_strerror(i32 noundef %23040, ptr noundef @.str.4)
  %23042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23043 = load i32, ptr %23042, align 4, !tbaa !5
  %23044 = call ptr @s2n_strerror_debug(i32 noundef %23043, ptr noundef @.str.4)
  %23045 = call ptr @__errno_location() #12
  %23046 = load i32, ptr %23045, align 4, !tbaa !5
  %23047 = call ptr @strerror(i32 noundef %23046) #11
  %23048 = call ptr @__errno_location() #12
  %23049 = load i32, ptr %23048, align 4, !tbaa !5
  %23050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23037, ptr noundef @.str.5, i32 noundef %23038, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 686, ptr noundef %23041, ptr noundef %23044, ptr noundef %23047, i32 noundef %23049) #11
  br label %23051

23051:                                            ; preds = %23034, %23017
  call void @llvm.lifetime.end.p0(i64 4, ptr %465) #11
  br label %23052

23052:                                            ; preds = %23051
  br label %23053

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

23054:                                            ; No predecessors!
  br label %23055

23055:                                            ; preds = %23054
  br label %23056

23056:                                            ; preds = %23055, %22998
  br label %23057

23057:                                            ; preds = %23056
  br label %23058

23058:                                            ; preds = %23057
  br label %23059

23059:                                            ; preds = %23058
  %23060 = load i32, ptr @test_count, align 4, !tbaa !5
  %23061 = add nsw i32 %23060, 1
  store i32 %23061, ptr @test_count, align 4, !tbaa !5
  %23062 = load ptr, ptr %464, align 8, !tbaa !9
  %23063 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %23062, ptr noundef @.str.31)
  %23064 = icmp eq i32 %23063, -1
  br i1 %23064, label %23065, label %23118

23065:                                            ; preds = %23059
  br label %23066

23066:                                            ; preds = %23065
  br label %23067

23067:                                            ; preds = %23066
  call void @llvm.lifetime.start.p0(i64 4, ptr %466) #11
  %23068 = call ptr @__errno_location() #12
  %23069 = load i32, ptr %23068, align 4, !tbaa !5
  store i32 %23069, ptr %466, align 4, !tbaa !5
  %23070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23071 = call i32 @s2n_print_stacktrace(ptr noundef %23070)
  %23072 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23073 = trunc i8 %23072 to i1
  br i1 %23073, label %23074, label %23096

23074:                                            ; preds = %23067
  %23075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23076 = call i32 @fileno(ptr noundef %23075) #11
  %23077 = call i32 @isatty(i32 noundef %23076) #11
  %23078 = icmp ne i32 %23077, 0
  br i1 %23078, label %23079, label %23096

23079:                                            ; preds = %23074
  %23080 = load i32, ptr %466, align 4, !tbaa !5
  %23081 = call ptr @__errno_location() #12
  store i32 %23080, ptr %23081, align 4, !tbaa !5
  %23082 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23083 = load i32, ptr @test_count, align 4, !tbaa !5
  %23084 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23085 = load i32, ptr %23084, align 4, !tbaa !5
  %23086 = call ptr @s2n_strerror(i32 noundef %23085, ptr noundef @.str.4)
  %23087 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23088 = load i32, ptr %23087, align 4, !tbaa !5
  %23089 = call ptr @s2n_strerror_debug(i32 noundef %23088, ptr noundef @.str.4)
  %23090 = call ptr @__errno_location() #12
  %23091 = load i32, ptr %23090, align 4, !tbaa !5
  %23092 = call ptr @strerror(i32 noundef %23091) #11
  %23093 = call ptr @__errno_location() #12
  %23094 = load i32, ptr %23093, align 4, !tbaa !5
  %23095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23082, ptr noundef @.str.2, i32 noundef %23083, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 687, ptr noundef %23086, ptr noundef %23089, ptr noundef %23092, i32 noundef %23094) #11
  br label %23113

23096:                                            ; preds = %23074, %23067
  %23097 = load i32, ptr %466, align 4, !tbaa !5
  %23098 = call ptr @__errno_location() #12
  store i32 %23097, ptr %23098, align 4, !tbaa !5
  %23099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23100 = load i32, ptr @test_count, align 4, !tbaa !5
  %23101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23102 = load i32, ptr %23101, align 4, !tbaa !5
  %23103 = call ptr @s2n_strerror(i32 noundef %23102, ptr noundef @.str.4)
  %23104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23105 = load i32, ptr %23104, align 4, !tbaa !5
  %23106 = call ptr @s2n_strerror_debug(i32 noundef %23105, ptr noundef @.str.4)
  %23107 = call ptr @__errno_location() #12
  %23108 = load i32, ptr %23107, align 4, !tbaa !5
  %23109 = call ptr @strerror(i32 noundef %23108) #11
  %23110 = call ptr @__errno_location() #12
  %23111 = load i32, ptr %23110, align 4, !tbaa !5
  %23112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23099, ptr noundef @.str.5, i32 noundef %23100, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 687, ptr noundef %23103, ptr noundef %23106, ptr noundef %23109, i32 noundef %23111) #11
  br label %23113

23113:                                            ; preds = %23096, %23079
  call void @llvm.lifetime.end.p0(i64 4, ptr %466) #11
  br label %23114

23114:                                            ; preds = %23113
  br label %23115

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

23116:                                            ; No predecessors!
  br label %23117

23117:                                            ; preds = %23116
  br label %23118

23118:                                            ; preds = %23117, %23059
  br label %23119

23119:                                            ; preds = %23118
  br label %23120

23120:                                            ; preds = %23119
  br label %23121

23121:                                            ; preds = %23120
  %23122 = load i32, ptr @test_count, align 4, !tbaa !5
  %23123 = add nsw i32 %23122, 1
  store i32 %23123, ptr @test_count, align 4, !tbaa !5
  %23124 = load ptr, ptr %464, align 8, !tbaa !9
  %23125 = load ptr, ptr %456, align 8, !tbaa !9
  %23126 = call i32 @s2n_connection_append_psk(ptr noundef %23124, ptr noundef %23125)
  %23127 = icmp eq i32 %23126, -1
  br i1 %23127, label %23128, label %23181

23128:                                            ; preds = %23121
  br label %23129

23129:                                            ; preds = %23128
  br label %23130

23130:                                            ; preds = %23129
  call void @llvm.lifetime.start.p0(i64 4, ptr %467) #11
  %23131 = call ptr @__errno_location() #12
  %23132 = load i32, ptr %23131, align 4, !tbaa !5
  store i32 %23132, ptr %467, align 4, !tbaa !5
  %23133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23134 = call i32 @s2n_print_stacktrace(ptr noundef %23133)
  %23135 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23136 = trunc i8 %23135 to i1
  br i1 %23136, label %23137, label %23159

23137:                                            ; preds = %23130
  %23138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23139 = call i32 @fileno(ptr noundef %23138) #11
  %23140 = call i32 @isatty(i32 noundef %23139) #11
  %23141 = icmp ne i32 %23140, 0
  br i1 %23141, label %23142, label %23159

23142:                                            ; preds = %23137
  %23143 = load i32, ptr %467, align 4, !tbaa !5
  %23144 = call ptr @__errno_location() #12
  store i32 %23143, ptr %23144, align 4, !tbaa !5
  %23145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23146 = load i32, ptr @test_count, align 4, !tbaa !5
  %23147 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23148 = load i32, ptr %23147, align 4, !tbaa !5
  %23149 = call ptr @s2n_strerror(i32 noundef %23148, ptr noundef @.str.4)
  %23150 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23151 = load i32, ptr %23150, align 4, !tbaa !5
  %23152 = call ptr @s2n_strerror_debug(i32 noundef %23151, ptr noundef @.str.4)
  %23153 = call ptr @__errno_location() #12
  %23154 = load i32, ptr %23153, align 4, !tbaa !5
  %23155 = call ptr @strerror(i32 noundef %23154) #11
  %23156 = call ptr @__errno_location() #12
  %23157 = load i32, ptr %23156, align 4, !tbaa !5
  %23158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23145, ptr noundef @.str.2, i32 noundef %23146, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 688, ptr noundef %23149, ptr noundef %23152, ptr noundef %23155, i32 noundef %23157) #11
  br label %23176

23159:                                            ; preds = %23137, %23130
  %23160 = load i32, ptr %467, align 4, !tbaa !5
  %23161 = call ptr @__errno_location() #12
  store i32 %23160, ptr %23161, align 4, !tbaa !5
  %23162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23163 = load i32, ptr @test_count, align 4, !tbaa !5
  %23164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23165 = load i32, ptr %23164, align 4, !tbaa !5
  %23166 = call ptr @s2n_strerror(i32 noundef %23165, ptr noundef @.str.4)
  %23167 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23168 = load i32, ptr %23167, align 4, !tbaa !5
  %23169 = call ptr @s2n_strerror_debug(i32 noundef %23168, ptr noundef @.str.4)
  %23170 = call ptr @__errno_location() #12
  %23171 = load i32, ptr %23170, align 4, !tbaa !5
  %23172 = call ptr @strerror(i32 noundef %23171) #11
  %23173 = call ptr @__errno_location() #12
  %23174 = load i32, ptr %23173, align 4, !tbaa !5
  %23175 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23162, ptr noundef @.str.5, i32 noundef %23163, ptr noundef @.str.114, ptr noundef @.str.1, i32 noundef 688, ptr noundef %23166, ptr noundef %23169, ptr noundef %23172, i32 noundef %23174) #11
  br label %23176

23176:                                            ; preds = %23159, %23142
  call void @llvm.lifetime.end.p0(i64 4, ptr %467) #11
  br label %23177

23177:                                            ; preds = %23176
  br label %23178

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

23179:                                            ; No predecessors!
  br label %23180

23180:                                            ; preds = %23179
  br label %23181

23181:                                            ; preds = %23180, %23121
  br label %23182

23182:                                            ; preds = %23181
  br label %23183

23183:                                            ; preds = %23182
  call void @llvm.lifetime.start.p0(i64 40, ptr %468) #11
  call void @llvm.memset.p0.i64(ptr align 8 %468, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %469) #11
  call void @llvm.memset.p0.i64(ptr align 8 %469, i8 0, i64 40, i1 false)
  br label %23184

23184:                                            ; preds = %23183
  %23185 = load i32, ptr @test_count, align 4, !tbaa !5
  %23186 = add nsw i32 %23185, 1
  store i32 %23186, ptr @test_count, align 4, !tbaa !5
  %23187 = load ptr, ptr %460, align 8, !tbaa !9
  %23188 = load ptr, ptr %464, align 8, !tbaa !9
  %23189 = call i32 @s2n_test_set_blocking_stuffer_io(ptr noundef %23187, ptr noundef %23188, ptr noundef %468, ptr noundef %469)
  %23190 = getelementptr inbounds %struct.s2n_result, ptr %470, i32 0, i32 0
  store i32 %23189, ptr %23190, align 4
  %23191 = getelementptr inbounds %struct.s2n_result, ptr %470, i32 0, i32 0
  %23192 = load i32, ptr %23191, align 4
  %23193 = call zeroext i1 @s2n_result_is_ok(i32 %23192)
  br i1 %23193, label %23247, label %23194

23194:                                            ; preds = %23184
  br label %23195

23195:                                            ; preds = %23194
  br label %23196

23196:                                            ; preds = %23195
  call void @llvm.lifetime.start.p0(i64 4, ptr %471) #11
  %23197 = call ptr @__errno_location() #12
  %23198 = load i32, ptr %23197, align 4, !tbaa !5
  store i32 %23198, ptr %471, align 4, !tbaa !5
  %23199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23200 = call i32 @s2n_print_stacktrace(ptr noundef %23199)
  %23201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23202 = trunc i8 %23201 to i1
  br i1 %23202, label %23203, label %23225

23203:                                            ; preds = %23196
  %23204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23205 = call i32 @fileno(ptr noundef %23204) #11
  %23206 = call i32 @isatty(i32 noundef %23205) #11
  %23207 = icmp ne i32 %23206, 0
  br i1 %23207, label %23208, label %23225

23208:                                            ; preds = %23203
  %23209 = load i32, ptr %471, align 4, !tbaa !5
  %23210 = call ptr @__errno_location() #12
  store i32 %23209, ptr %23210, align 4, !tbaa !5
  %23211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23212 = load i32, ptr @test_count, align 4, !tbaa !5
  %23213 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23214 = load i32, ptr %23213, align 4, !tbaa !5
  %23215 = call ptr @s2n_strerror(i32 noundef %23214, ptr noundef @.str.4)
  %23216 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23217 = load i32, ptr %23216, align 4, !tbaa !5
  %23218 = call ptr @s2n_strerror_debug(i32 noundef %23217, ptr noundef @.str.4)
  %23219 = call ptr @__errno_location() #12
  %23220 = load i32, ptr %23219, align 4, !tbaa !5
  %23221 = call ptr @strerror(i32 noundef %23220) #11
  %23222 = call ptr @__errno_location() #12
  %23223 = load i32, ptr %23222, align 4, !tbaa !5
  %23224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23211, ptr noundef @.str.2, i32 noundef %23212, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 692, ptr noundef %23215, ptr noundef %23218, ptr noundef %23221, i32 noundef %23223) #11
  br label %23242

23225:                                            ; preds = %23203, %23196
  %23226 = load i32, ptr %471, align 4, !tbaa !5
  %23227 = call ptr @__errno_location() #12
  store i32 %23226, ptr %23227, align 4, !tbaa !5
  %23228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23229 = load i32, ptr @test_count, align 4, !tbaa !5
  %23230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23231 = load i32, ptr %23230, align 4, !tbaa !5
  %23232 = call ptr @s2n_strerror(i32 noundef %23231, ptr noundef @.str.4)
  %23233 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23234 = load i32, ptr %23233, align 4, !tbaa !5
  %23235 = call ptr @s2n_strerror_debug(i32 noundef %23234, ptr noundef @.str.4)
  %23236 = call ptr @__errno_location() #12
  %23237 = load i32, ptr %23236, align 4, !tbaa !5
  %23238 = call ptr @strerror(i32 noundef %23237) #11
  %23239 = call ptr @__errno_location() #12
  %23240 = load i32, ptr %23239, align 4, !tbaa !5
  %23241 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23228, ptr noundef @.str.5, i32 noundef %23229, ptr noundef @.str.101, ptr noundef @.str.1, i32 noundef 692, ptr noundef %23232, ptr noundef %23235, ptr noundef %23238, i32 noundef %23240) #11
  br label %23242

23242:                                            ; preds = %23225, %23208
  call void @llvm.lifetime.end.p0(i64 4, ptr %471) #11
  br label %23243

23243:                                            ; preds = %23242
  br label %23244

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

23245:                                            ; No predecessors!
  br label %23246

23246:                                            ; preds = %23245
  br label %23247

23247:                                            ; preds = %23246, %23184
  br label %23248

23248:                                            ; preds = %23247
  br label %23249

23249:                                            ; preds = %23248
  call void @llvm.lifetime.start.p0(i64 16174, ptr %472) #11
  call void @llvm.memcpy.p0.p0.i64(ptr align 16 %472, ptr align 16 @__const.main.large_data, i64 16174, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %473) #11
  store i32 0, ptr %473, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %474) #11
  store i64 0, ptr %474, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %475) #11
  store i64 100, ptr %475, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %476) #11
  store i64 0, ptr %476, align 8, !tbaa !42
  br label %23250

23250:                                            ; preds = %23828, %23249
  br label %23251

23251:                                            ; preds = %23250
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br label %23252

23252:                                            ; preds = %23251
  br label %23253

23253:                                            ; preds = %23252
  br label %23254

23254:                                            ; preds = %23253
  %23255 = load i32, ptr @test_count, align 4, !tbaa !5
  %23256 = add nsw i32 %23255, 1
  store i32 %23256, ptr @test_count, align 4, !tbaa !5
  %23257 = load ptr, ptr %460, align 8, !tbaa !9
  %23258 = getelementptr inbounds [16174 x i8], ptr %472, i64 0, i64 0
  %23259 = call i32 @s2n_send_early_data(ptr noundef %23257, ptr noundef %23258, i64 noundef 16174, ptr noundef %474, ptr noundef %473)
  %23260 = icmp eq i32 %23259, -1
  br i1 %23260, label %23314, label %23261

23261:                                            ; preds = %23254
  br label %23262

23262:                                            ; preds = %23261
  br label %23263

23263:                                            ; preds = %23262
  call void @llvm.lifetime.start.p0(i64 4, ptr %477) #11
  %23264 = call ptr @__errno_location() #12
  %23265 = load i32, ptr %23264, align 4, !tbaa !5
  store i32 %23265, ptr %477, align 4, !tbaa !5
  %23266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23267 = call i32 @s2n_print_stacktrace(ptr noundef %23266)
  %23268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23269 = trunc i8 %23268 to i1
  br i1 %23269, label %23270, label %23292

23270:                                            ; preds = %23263
  %23271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23272 = call i32 @fileno(ptr noundef %23271) #11
  %23273 = call i32 @isatty(i32 noundef %23272) #11
  %23274 = icmp ne i32 %23273, 0
  br i1 %23274, label %23275, label %23292

23275:                                            ; preds = %23270
  %23276 = load i32, ptr %477, align 4, !tbaa !5
  %23277 = call ptr @__errno_location() #12
  store i32 %23276, ptr %23277, align 4, !tbaa !5
  %23278 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23279 = load i32, ptr @test_count, align 4, !tbaa !5
  %23280 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23281 = load i32, ptr %23280, align 4, !tbaa !5
  %23282 = call ptr @s2n_strerror(i32 noundef %23281, ptr noundef @.str.4)
  %23283 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23284 = load i32, ptr %23283, align 4, !tbaa !5
  %23285 = call ptr @s2n_strerror_debug(i32 noundef %23284, ptr noundef @.str.4)
  %23286 = call ptr @__errno_location() #12
  %23287 = load i32, ptr %23286, align 4, !tbaa !5
  %23288 = call ptr @strerror(i32 noundef %23287) #11
  %23289 = call ptr @__errno_location() #12
  %23290 = load i32, ptr %23289, align 4, !tbaa !5
  %23291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23278, ptr noundef @.str.2, i32 noundef %23279, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23282, ptr noundef %23285, ptr noundef %23288, i32 noundef %23290) #11
  br label %23309

23292:                                            ; preds = %23270, %23263
  %23293 = load i32, ptr %477, align 4, !tbaa !5
  %23294 = call ptr @__errno_location() #12
  store i32 %23293, ptr %23294, align 4, !tbaa !5
  %23295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23296 = load i32, ptr @test_count, align 4, !tbaa !5
  %23297 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23298 = load i32, ptr %23297, align 4, !tbaa !5
  %23299 = call ptr @s2n_strerror(i32 noundef %23298, ptr noundef @.str.4)
  %23300 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23301 = load i32, ptr %23300, align 4, !tbaa !5
  %23302 = call ptr @s2n_strerror_debug(i32 noundef %23301, ptr noundef @.str.4)
  %23303 = call ptr @__errno_location() #12
  %23304 = load i32, ptr %23303, align 4, !tbaa !5
  %23305 = call ptr @strerror(i32 noundef %23304) #11
  %23306 = call ptr @__errno_location() #12
  %23307 = load i32, ptr %23306, align 4, !tbaa !5
  %23308 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23295, ptr noundef @.str.5, i32 noundef %23296, ptr noundef @.str.115, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23299, ptr noundef %23302, ptr noundef %23305, i32 noundef %23307) #11
  br label %23309

23309:                                            ; preds = %23292, %23275
  call void @llvm.lifetime.end.p0(i64 4, ptr %477) #11
  br label %23310

23310:                                            ; preds = %23309
  br label %23311

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

23312:                                            ; No predecessors!
  br label %23313

23313:                                            ; preds = %23312
  br label %23314

23314:                                            ; preds = %23313, %23254
  br label %23315

23315:                                            ; preds = %23314
  br label %23316

23316:                                            ; preds = %23315
  br label %23317

23317:                                            ; preds = %23316
  %23318 = load i32, ptr @test_count, align 4, !tbaa !5
  %23319 = add nsw i32 %23318, 1
  store i32 %23319, ptr @test_count, align 4, !tbaa !5
  %23320 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23321 = load i32, ptr %23320, align 4, !tbaa !5
  %23322 = icmp eq i32 %23321, 201326592
  br i1 %23322, label %23376, label %23323

23323:                                            ; preds = %23317
  br label %23324

23324:                                            ; preds = %23323
  br label %23325

23325:                                            ; preds = %23324
  call void @llvm.lifetime.start.p0(i64 4, ptr %478) #11
  %23326 = call ptr @__errno_location() #12
  %23327 = load i32, ptr %23326, align 4, !tbaa !5
  store i32 %23327, ptr %478, align 4, !tbaa !5
  %23328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23329 = call i32 @s2n_print_stacktrace(ptr noundef %23328)
  %23330 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23331 = trunc i8 %23330 to i1
  br i1 %23331, label %23332, label %23354

23332:                                            ; preds = %23325
  %23333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23334 = call i32 @fileno(ptr noundef %23333) #11
  %23335 = call i32 @isatty(i32 noundef %23334) #11
  %23336 = icmp ne i32 %23335, 0
  br i1 %23336, label %23337, label %23354

23337:                                            ; preds = %23332
  %23338 = load i32, ptr %478, align 4, !tbaa !5
  %23339 = call ptr @__errno_location() #12
  store i32 %23338, ptr %23339, align 4, !tbaa !5
  %23340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23341 = load i32, ptr @test_count, align 4, !tbaa !5
  %23342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23343 = load i32, ptr %23342, align 4, !tbaa !5
  %23344 = call ptr @s2n_strerror(i32 noundef %23343, ptr noundef @.str.4)
  %23345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23346 = load i32, ptr %23345, align 4, !tbaa !5
  %23347 = call ptr @s2n_strerror_debug(i32 noundef %23346, ptr noundef @.str.4)
  %23348 = call ptr @__errno_location() #12
  %23349 = load i32, ptr %23348, align 4, !tbaa !5
  %23350 = call ptr @strerror(i32 noundef %23349) #11
  %23351 = call ptr @__errno_location() #12
  %23352 = load i32, ptr %23351, align 4, !tbaa !5
  %23353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23340, ptr noundef @.str.2, i32 noundef %23341, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23344, ptr noundef %23347, ptr noundef %23350, i32 noundef %23352) #11
  br label %23371

23354:                                            ; preds = %23332, %23325
  %23355 = load i32, ptr %478, align 4, !tbaa !5
  %23356 = call ptr @__errno_location() #12
  store i32 %23355, ptr %23356, align 4, !tbaa !5
  %23357 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23358 = load i32, ptr @test_count, align 4, !tbaa !5
  %23359 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23360 = load i32, ptr %23359, align 4, !tbaa !5
  %23361 = call ptr @s2n_strerror(i32 noundef %23360, ptr noundef @.str.4)
  %23362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23363 = load i32, ptr %23362, align 4, !tbaa !5
  %23364 = call ptr @s2n_strerror_debug(i32 noundef %23363, ptr noundef @.str.4)
  %23365 = call ptr @__errno_location() #12
  %23366 = load i32, ptr %23365, align 4, !tbaa !5
  %23367 = call ptr @strerror(i32 noundef %23366) #11
  %23368 = call ptr @__errno_location() #12
  %23369 = load i32, ptr %23368, align 4, !tbaa !5
  %23370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23357, ptr noundef @.str.5, i32 noundef %23358, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23361, ptr noundef %23364, ptr noundef %23367, i32 noundef %23369) #11
  br label %23371

23371:                                            ; preds = %23354, %23337
  call void @llvm.lifetime.end.p0(i64 4, ptr %478) #11
  br label %23372

23372:                                            ; preds = %23371
  br label %23373

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

23374:                                            ; No predecessors!
  br label %23375

23375:                                            ; preds = %23374
  br label %23376

23376:                                            ; preds = %23375, %23317
  br label %23377

23377:                                            ; preds = %23376
  br label %23378

23378:                                            ; preds = %23377
  br label %23379

23379:                                            ; preds = %23378
  %23380 = load i32, ptr @test_count, align 4, !tbaa !5
  %23381 = add nsw i32 %23380, 1
  store i32 %23381, ptr @test_count, align 4, !tbaa !5
  %23382 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23383 = load i32, ptr %23382, align 4, !tbaa !5
  %23384 = call ptr @s2n_strerror_debug(i32 noundef %23383, ptr noundef @.str.4)
  %23385 = icmp eq ptr %23384, null
  br i1 %23385, label %23386, label %23439

23386:                                            ; preds = %23379
  br label %23387

23387:                                            ; preds = %23386
  br label %23388

23388:                                            ; preds = %23387
  call void @llvm.lifetime.start.p0(i64 4, ptr %479) #11
  %23389 = call ptr @__errno_location() #12
  %23390 = load i32, ptr %23389, align 4, !tbaa !5
  store i32 %23390, ptr %479, align 4, !tbaa !5
  %23391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23392 = call i32 @s2n_print_stacktrace(ptr noundef %23391)
  %23393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23394 = trunc i8 %23393 to i1
  br i1 %23394, label %23395, label %23417

23395:                                            ; preds = %23388
  %23396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23397 = call i32 @fileno(ptr noundef %23396) #11
  %23398 = call i32 @isatty(i32 noundef %23397) #11
  %23399 = icmp ne i32 %23398, 0
  br i1 %23399, label %23400, label %23417

23400:                                            ; preds = %23395
  %23401 = load i32, ptr %479, align 4, !tbaa !5
  %23402 = call ptr @__errno_location() #12
  store i32 %23401, ptr %23402, align 4, !tbaa !5
  %23403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23404 = load i32, ptr @test_count, align 4, !tbaa !5
  %23405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23406 = load i32, ptr %23405, align 4, !tbaa !5
  %23407 = call ptr @s2n_strerror(i32 noundef %23406, ptr noundef @.str.4)
  %23408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23409 = load i32, ptr %23408, align 4, !tbaa !5
  %23410 = call ptr @s2n_strerror_debug(i32 noundef %23409, ptr noundef @.str.4)
  %23411 = call ptr @__errno_location() #12
  %23412 = load i32, ptr %23411, align 4, !tbaa !5
  %23413 = call ptr @strerror(i32 noundef %23412) #11
  %23414 = call ptr @__errno_location() #12
  %23415 = load i32, ptr %23414, align 4, !tbaa !5
  %23416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23403, ptr noundef @.str.2, i32 noundef %23404, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23407, ptr noundef %23410, ptr noundef %23413, i32 noundef %23415) #11
  br label %23434

23417:                                            ; preds = %23395, %23388
  %23418 = load i32, ptr %479, align 4, !tbaa !5
  %23419 = call ptr @__errno_location() #12
  store i32 %23418, ptr %23419, align 4, !tbaa !5
  %23420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23421 = load i32, ptr @test_count, align 4, !tbaa !5
  %23422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23423 = load i32, ptr %23422, align 4, !tbaa !5
  %23424 = call ptr @s2n_strerror(i32 noundef %23423, ptr noundef @.str.4)
  %23425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23426 = load i32, ptr %23425, align 4, !tbaa !5
  %23427 = call ptr @s2n_strerror_debug(i32 noundef %23426, ptr noundef @.str.4)
  %23428 = call ptr @__errno_location() #12
  %23429 = load i32, ptr %23428, align 4, !tbaa !5
  %23430 = call ptr @strerror(i32 noundef %23429) #11
  %23431 = call ptr @__errno_location() #12
  %23432 = load i32, ptr %23431, align 4, !tbaa !5
  %23433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23420, ptr noundef @.str.5, i32 noundef %23421, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 712, ptr noundef %23424, ptr noundef %23427, ptr noundef %23430, i32 noundef %23432) #11
  br label %23434

23434:                                            ; preds = %23417, %23400
  call void @llvm.lifetime.end.p0(i64 4, ptr %479) #11
  br label %23435

23435:                                            ; preds = %23434
  br label %23436

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

23437:                                            ; No predecessors!
  br label %23438

23438:                                            ; preds = %23437
  br label %23439

23439:                                            ; preds = %23438, %23379
  br label %23440

23440:                                            ; preds = %23439
  br label %23441

23441:                                            ; preds = %23440
  br label %23442

23442:                                            ; preds = %23441
  br label %23443

23443:                                            ; preds = %23442
  br label %23444

23444:                                            ; preds = %23443
  %23445 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %23445, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %23446 = call ptr @__errno_location() #12
  store i32 0, ptr %23446, align 4, !tbaa !5
  br label %23447

23447:                                            ; preds = %23444
  br label %23448

23448:                                            ; preds = %23447
  br label %23449

23449:                                            ; preds = %23448
  br label %23450

23450:                                            ; preds = %23449
  %23451 = load i64, ptr %474, align 8, !tbaa !42
  %23452 = icmp ne i64 %23451, 0
  br i1 %23452, label %23453, label %23639

23453:                                            ; preds = %23450
  br label %23454

23454:                                            ; preds = %23453
  %23455 = load i32, ptr @test_count, align 4, !tbaa !5
  %23456 = add nsw i32 %23455, 1
  store i32 %23456, ptr @test_count, align 4, !tbaa !5
  %23457 = load i32, ptr %473, align 4, !tbaa !5
  %23458 = icmp eq i32 %23457, 1
  br i1 %23458, label %23512, label %23459

23459:                                            ; preds = %23454
  br label %23460

23460:                                            ; preds = %23459
  br label %23461

23461:                                            ; preds = %23460
  call void @llvm.lifetime.start.p0(i64 4, ptr %480) #11
  %23462 = call ptr @__errno_location() #12
  %23463 = load i32, ptr %23462, align 4, !tbaa !5
  store i32 %23463, ptr %480, align 4, !tbaa !5
  %23464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23465 = call i32 @s2n_print_stacktrace(ptr noundef %23464)
  %23466 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23467 = trunc i8 %23466 to i1
  br i1 %23467, label %23468, label %23490

23468:                                            ; preds = %23461
  %23469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23470 = call i32 @fileno(ptr noundef %23469) #11
  %23471 = call i32 @isatty(i32 noundef %23470) #11
  %23472 = icmp ne i32 %23471, 0
  br i1 %23472, label %23473, label %23490

23473:                                            ; preds = %23468
  %23474 = load i32, ptr %480, align 4, !tbaa !5
  %23475 = call ptr @__errno_location() #12
  store i32 %23474, ptr %23475, align 4, !tbaa !5
  %23476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23477 = load i32, ptr @test_count, align 4, !tbaa !5
  %23478 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23479 = load i32, ptr %23478, align 4, !tbaa !5
  %23480 = call ptr @s2n_strerror(i32 noundef %23479, ptr noundef @.str.4)
  %23481 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23482 = load i32, ptr %23481, align 4, !tbaa !5
  %23483 = call ptr @s2n_strerror_debug(i32 noundef %23482, ptr noundef @.str.4)
  %23484 = call ptr @__errno_location() #12
  %23485 = load i32, ptr %23484, align 4, !tbaa !5
  %23486 = call ptr @strerror(i32 noundef %23485) #11
  %23487 = call ptr @__errno_location() #12
  %23488 = load i32, ptr %23487, align 4, !tbaa !5
  %23489 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23476, ptr noundef @.str.2, i32 noundef %23477, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 719, ptr noundef %23480, ptr noundef %23483, ptr noundef %23486, i32 noundef %23488) #11
  br label %23507

23490:                                            ; preds = %23468, %23461
  %23491 = load i32, ptr %480, align 4, !tbaa !5
  %23492 = call ptr @__errno_location() #12
  store i32 %23491, ptr %23492, align 4, !tbaa !5
  %23493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23494 = load i32, ptr @test_count, align 4, !tbaa !5
  %23495 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23496 = load i32, ptr %23495, align 4, !tbaa !5
  %23497 = call ptr @s2n_strerror(i32 noundef %23496, ptr noundef @.str.4)
  %23498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23499 = load i32, ptr %23498, align 4, !tbaa !5
  %23500 = call ptr @s2n_strerror_debug(i32 noundef %23499, ptr noundef @.str.4)
  %23501 = call ptr @__errno_location() #12
  %23502 = load i32, ptr %23501, align 4, !tbaa !5
  %23503 = call ptr @strerror(i32 noundef %23502) #11
  %23504 = call ptr @__errno_location() #12
  %23505 = load i32, ptr %23504, align 4, !tbaa !5
  %23506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23493, ptr noundef @.str.5, i32 noundef %23494, ptr noundef @.str.116, ptr noundef @.str.1, i32 noundef 719, ptr noundef %23497, ptr noundef %23500, ptr noundef %23503, i32 noundef %23505) #11
  br label %23507

23507:                                            ; preds = %23490, %23473
  call void @llvm.lifetime.end.p0(i64 4, ptr %480) #11
  br label %23508

23508:                                            ; preds = %23507
  br label %23509

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

23510:                                            ; No predecessors!
  br label %23511

23511:                                            ; preds = %23510
  br label %23512

23512:                                            ; preds = %23511, %23454
  br label %23513

23513:                                            ; preds = %23512
  br label %23514

23514:                                            ; preds = %23513
  br label %23515

23515:                                            ; preds = %23514
  %23516 = load i32, ptr @test_count, align 4, !tbaa !5
  %23517 = add nsw i32 %23516, 1
  store i32 %23517, ptr @test_count, align 4, !tbaa !5
  %23518 = load i64, ptr %474, align 8, !tbaa !42
  %23519 = icmp eq i64 %23518, 8087
  br i1 %23519, label %23573, label %23520

23520:                                            ; preds = %23515
  br label %23521

23521:                                            ; preds = %23520
  br label %23522

23522:                                            ; preds = %23521
  call void @llvm.lifetime.start.p0(i64 4, ptr %481) #11
  %23523 = call ptr @__errno_location() #12
  %23524 = load i32, ptr %23523, align 4, !tbaa !5
  store i32 %23524, ptr %481, align 4, !tbaa !5
  %23525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23526 = call i32 @s2n_print_stacktrace(ptr noundef %23525)
  %23527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23528 = trunc i8 %23527 to i1
  br i1 %23528, label %23529, label %23551

23529:                                            ; preds = %23522
  %23530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23531 = call i32 @fileno(ptr noundef %23530) #11
  %23532 = call i32 @isatty(i32 noundef %23531) #11
  %23533 = icmp ne i32 %23532, 0
  br i1 %23533, label %23534, label %23551

23534:                                            ; preds = %23529
  %23535 = load i32, ptr %481, align 4, !tbaa !5
  %23536 = call ptr @__errno_location() #12
  store i32 %23535, ptr %23536, align 4, !tbaa !5
  %23537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23538 = load i32, ptr @test_count, align 4, !tbaa !5
  %23539 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23540 = load i32, ptr %23539, align 4, !tbaa !5
  %23541 = call ptr @s2n_strerror(i32 noundef %23540, ptr noundef @.str.4)
  %23542 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23543 = load i32, ptr %23542, align 4, !tbaa !5
  %23544 = call ptr @s2n_strerror_debug(i32 noundef %23543, ptr noundef @.str.4)
  %23545 = call ptr @__errno_location() #12
  %23546 = load i32, ptr %23545, align 4, !tbaa !5
  %23547 = call ptr @strerror(i32 noundef %23546) #11
  %23548 = call ptr @__errno_location() #12
  %23549 = load i32, ptr %23548, align 4, !tbaa !5
  %23550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23537, ptr noundef @.str.2, i32 noundef %23538, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 722, ptr noundef %23541, ptr noundef %23544, ptr noundef %23547, i32 noundef %23549) #11
  br label %23568

23551:                                            ; preds = %23529, %23522
  %23552 = load i32, ptr %481, align 4, !tbaa !5
  %23553 = call ptr @__errno_location() #12
  store i32 %23552, ptr %23553, align 4, !tbaa !5
  %23554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23555 = load i32, ptr @test_count, align 4, !tbaa !5
  %23556 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23557 = load i32, ptr %23556, align 4, !tbaa !5
  %23558 = call ptr @s2n_strerror(i32 noundef %23557, ptr noundef @.str.4)
  %23559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23560 = load i32, ptr %23559, align 4, !tbaa !5
  %23561 = call ptr @s2n_strerror_debug(i32 noundef %23560, ptr noundef @.str.4)
  %23562 = call ptr @__errno_location() #12
  %23563 = load i32, ptr %23562, align 4, !tbaa !5
  %23564 = call ptr @strerror(i32 noundef %23563) #11
  %23565 = call ptr @__errno_location() #12
  %23566 = load i32, ptr %23565, align 4, !tbaa !5
  %23567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23554, ptr noundef @.str.5, i32 noundef %23555, ptr noundef @.str.117, ptr noundef @.str.1, i32 noundef 722, ptr noundef %23558, ptr noundef %23561, ptr noundef %23564, i32 noundef %23566) #11
  br label %23568

23568:                                            ; preds = %23551, %23534
  call void @llvm.lifetime.end.p0(i64 4, ptr %481) #11
  br label %23569

23569:                                            ; preds = %23568
  br label %23570

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

23571:                                            ; No predecessors!
  br label %23572

23572:                                            ; preds = %23571
  br label %23573

23573:                                            ; preds = %23572, %23515
  br label %23574

23574:                                            ; preds = %23573
  br label %23575

23575:                                            ; preds = %23574
  br label %23576

23576:                                            ; preds = %23575
  %23577 = load i32, ptr @test_count, align 4, !tbaa !5
  %23578 = add nsw i32 %23577, 1
  store i32 %23578, ptr @test_count, align 4, !tbaa !5
  %23579 = load ptr, ptr %460, align 8, !tbaa !9
  %23580 = getelementptr inbounds %struct.s2n_connection, ptr %23579, i32 0, i32 60
  %23581 = load i64, ptr %23580, align 8, !tbaa !53
  %23582 = icmp eq i64 %23581, 8087
  br i1 %23582, label %23636, label %23583

23583:                                            ; preds = %23576
  br label %23584

23584:                                            ; preds = %23583
  br label %23585

23585:                                            ; preds = %23584
  call void @llvm.lifetime.start.p0(i64 4, ptr %482) #11
  %23586 = call ptr @__errno_location() #12
  %23587 = load i32, ptr %23586, align 4, !tbaa !5
  store i32 %23587, ptr %482, align 4, !tbaa !5
  %23588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23589 = call i32 @s2n_print_stacktrace(ptr noundef %23588)
  %23590 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23591 = trunc i8 %23590 to i1
  br i1 %23591, label %23592, label %23614

23592:                                            ; preds = %23585
  %23593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23594 = call i32 @fileno(ptr noundef %23593) #11
  %23595 = call i32 @isatty(i32 noundef %23594) #11
  %23596 = icmp ne i32 %23595, 0
  br i1 %23596, label %23597, label %23614

23597:                                            ; preds = %23592
  %23598 = load i32, ptr %482, align 4, !tbaa !5
  %23599 = call ptr @__errno_location() #12
  store i32 %23598, ptr %23599, align 4, !tbaa !5
  %23600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23601 = load i32, ptr @test_count, align 4, !tbaa !5
  %23602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23603 = load i32, ptr %23602, align 4, !tbaa !5
  %23604 = call ptr @s2n_strerror(i32 noundef %23603, ptr noundef @.str.4)
  %23605 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23606 = load i32, ptr %23605, align 4, !tbaa !5
  %23607 = call ptr @s2n_strerror_debug(i32 noundef %23606, ptr noundef @.str.4)
  %23608 = call ptr @__errno_location() #12
  %23609 = load i32, ptr %23608, align 4, !tbaa !5
  %23610 = call ptr @strerror(i32 noundef %23609) #11
  %23611 = call ptr @__errno_location() #12
  %23612 = load i32, ptr %23611, align 4, !tbaa !5
  %23613 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23600, ptr noundef @.str.2, i32 noundef %23601, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 723, ptr noundef %23604, ptr noundef %23607, ptr noundef %23610, i32 noundef %23612) #11
  br label %23631

23614:                                            ; preds = %23592, %23585
  %23615 = load i32, ptr %482, align 4, !tbaa !5
  %23616 = call ptr @__errno_location() #12
  store i32 %23615, ptr %23616, align 4, !tbaa !5
  %23617 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23618 = load i32, ptr @test_count, align 4, !tbaa !5
  %23619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23620 = load i32, ptr %23619, align 4, !tbaa !5
  %23621 = call ptr @s2n_strerror(i32 noundef %23620, ptr noundef @.str.4)
  %23622 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23623 = load i32, ptr %23622, align 4, !tbaa !5
  %23624 = call ptr @s2n_strerror_debug(i32 noundef %23623, ptr noundef @.str.4)
  %23625 = call ptr @__errno_location() #12
  %23626 = load i32, ptr %23625, align 4, !tbaa !5
  %23627 = call ptr @strerror(i32 noundef %23626) #11
  %23628 = call ptr @__errno_location() #12
  %23629 = load i32, ptr %23628, align 4, !tbaa !5
  %23630 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23617, ptr noundef @.str.5, i32 noundef %23618, ptr noundef @.str.118, ptr noundef @.str.1, i32 noundef 723, ptr noundef %23621, ptr noundef %23624, ptr noundef %23627, i32 noundef %23629) #11
  br label %23631

23631:                                            ; preds = %23614, %23597
  call void @llvm.lifetime.end.p0(i64 4, ptr %482) #11
  br label %23632

23632:                                            ; preds = %23631
  br label %23633

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

23634:                                            ; No predecessors!
  br label %23635

23635:                                            ; preds = %23634
  br label %23636

23636:                                            ; preds = %23635, %23576
  br label %23637

23637:                                            ; preds = %23636
  br label %23638

23638:                                            ; preds = %23637
  br label %23829

23639:                                            ; preds = %23450
  br label %23640

23640:                                            ; preds = %23639
  %23641 = load i32, ptr @test_count, align 4, !tbaa !5
  %23642 = add nsw i32 %23641, 1
  store i32 %23642, ptr @test_count, align 4, !tbaa !5
  %23643 = load i32, ptr %473, align 4, !tbaa !5
  %23644 = icmp eq i32 %23643, 2
  br i1 %23644, label %23698, label %23645

23645:                                            ; preds = %23640
  br label %23646

23646:                                            ; preds = %23645
  br label %23647

23647:                                            ; preds = %23646
  call void @llvm.lifetime.start.p0(i64 4, ptr %483) #11
  %23648 = call ptr @__errno_location() #12
  %23649 = load i32, ptr %23648, align 4, !tbaa !5
  store i32 %23649, ptr %483, align 4, !tbaa !5
  %23650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23651 = call i32 @s2n_print_stacktrace(ptr noundef %23650)
  %23652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23653 = trunc i8 %23652 to i1
  br i1 %23653, label %23654, label %23676

23654:                                            ; preds = %23647
  %23655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23656 = call i32 @fileno(ptr noundef %23655) #11
  %23657 = call i32 @isatty(i32 noundef %23656) #11
  %23658 = icmp ne i32 %23657, 0
  br i1 %23658, label %23659, label %23676

23659:                                            ; preds = %23654
  %23660 = load i32, ptr %483, align 4, !tbaa !5
  %23661 = call ptr @__errno_location() #12
  store i32 %23660, ptr %23661, align 4, !tbaa !5
  %23662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23663 = load i32, ptr @test_count, align 4, !tbaa !5
  %23664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23665 = load i32, ptr %23664, align 4, !tbaa !5
  %23666 = call ptr @s2n_strerror(i32 noundef %23665, ptr noundef @.str.4)
  %23667 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23668 = load i32, ptr %23667, align 4, !tbaa !5
  %23669 = call ptr @s2n_strerror_debug(i32 noundef %23668, ptr noundef @.str.4)
  %23670 = call ptr @__errno_location() #12
  %23671 = load i32, ptr %23670, align 4, !tbaa !5
  %23672 = call ptr @strerror(i32 noundef %23671) #11
  %23673 = call ptr @__errno_location() #12
  %23674 = load i32, ptr %23673, align 4, !tbaa !5
  %23675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23662, ptr noundef @.str.2, i32 noundef %23663, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 729, ptr noundef %23666, ptr noundef %23669, ptr noundef %23672, i32 noundef %23674) #11
  br label %23693

23676:                                            ; preds = %23654, %23647
  %23677 = load i32, ptr %483, align 4, !tbaa !5
  %23678 = call ptr @__errno_location() #12
  store i32 %23677, ptr %23678, align 4, !tbaa !5
  %23679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23680 = load i32, ptr @test_count, align 4, !tbaa !5
  %23681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23682 = load i32, ptr %23681, align 4, !tbaa !5
  %23683 = call ptr @s2n_strerror(i32 noundef %23682, ptr noundef @.str.4)
  %23684 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23685 = load i32, ptr %23684, align 4, !tbaa !5
  %23686 = call ptr @s2n_strerror_debug(i32 noundef %23685, ptr noundef @.str.4)
  %23687 = call ptr @__errno_location() #12
  %23688 = load i32, ptr %23687, align 4, !tbaa !5
  %23689 = call ptr @strerror(i32 noundef %23688) #11
  %23690 = call ptr @__errno_location() #12
  %23691 = load i32, ptr %23690, align 4, !tbaa !5
  %23692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23679, ptr noundef @.str.5, i32 noundef %23680, ptr noundef @.str.108, ptr noundef @.str.1, i32 noundef 729, ptr noundef %23683, ptr noundef %23686, ptr noundef %23689, i32 noundef %23691) #11
  br label %23693

23693:                                            ; preds = %23676, %23659
  call void @llvm.lifetime.end.p0(i64 4, ptr %483) #11
  br label %23694

23694:                                            ; preds = %23693
  br label %23695

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

23696:                                            ; No predecessors!
  br label %23697

23697:                                            ; preds = %23696
  br label %23698

23698:                                            ; preds = %23697, %23640
  br label %23699

23699:                                            ; preds = %23698
  br label %23700

23700:                                            ; preds = %23699
  br label %23701

23701:                                            ; preds = %23700
  %23702 = load i32, ptr @test_count, align 4, !tbaa !5
  %23703 = add nsw i32 %23702, 1
  store i32 %23703, ptr @test_count, align 4, !tbaa !5
  %23704 = load ptr, ptr %460, align 8, !tbaa !9
  %23705 = getelementptr inbounds %struct.s2n_connection, ptr %23704, i32 0, i32 60
  %23706 = load i64, ptr %23705, align 8, !tbaa !53
  %23707 = icmp eq i64 %23706, 0
  br i1 %23707, label %23761, label %23708

23708:                                            ; preds = %23701
  br label %23709

23709:                                            ; preds = %23708
  br label %23710

23710:                                            ; preds = %23709
  call void @llvm.lifetime.start.p0(i64 4, ptr %484) #11
  %23711 = call ptr @__errno_location() #12
  %23712 = load i32, ptr %23711, align 4, !tbaa !5
  store i32 %23712, ptr %484, align 4, !tbaa !5
  %23713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23714 = call i32 @s2n_print_stacktrace(ptr noundef %23713)
  %23715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23716 = trunc i8 %23715 to i1
  br i1 %23716, label %23717, label %23739

23717:                                            ; preds = %23710
  %23718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23719 = call i32 @fileno(ptr noundef %23718) #11
  %23720 = call i32 @isatty(i32 noundef %23719) #11
  %23721 = icmp ne i32 %23720, 0
  br i1 %23721, label %23722, label %23739

23722:                                            ; preds = %23717
  %23723 = load i32, ptr %484, align 4, !tbaa !5
  %23724 = call ptr @__errno_location() #12
  store i32 %23723, ptr %23724, align 4, !tbaa !5
  %23725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23726 = load i32, ptr @test_count, align 4, !tbaa !5
  %23727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23728 = load i32, ptr %23727, align 4, !tbaa !5
  %23729 = call ptr @s2n_strerror(i32 noundef %23728, ptr noundef @.str.4)
  %23730 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23731 = load i32, ptr %23730, align 4, !tbaa !5
  %23732 = call ptr @s2n_strerror_debug(i32 noundef %23731, ptr noundef @.str.4)
  %23733 = call ptr @__errno_location() #12
  %23734 = load i32, ptr %23733, align 4, !tbaa !5
  %23735 = call ptr @strerror(i32 noundef %23734) #11
  %23736 = call ptr @__errno_location() #12
  %23737 = load i32, ptr %23736, align 4, !tbaa !5
  %23738 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23725, ptr noundef @.str.2, i32 noundef %23726, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 732, ptr noundef %23729, ptr noundef %23732, ptr noundef %23735, i32 noundef %23737) #11
  br label %23756

23739:                                            ; preds = %23717, %23710
  %23740 = load i32, ptr %484, align 4, !tbaa !5
  %23741 = call ptr @__errno_location() #12
  store i32 %23740, ptr %23741, align 4, !tbaa !5
  %23742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23743 = load i32, ptr @test_count, align 4, !tbaa !5
  %23744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23745 = load i32, ptr %23744, align 4, !tbaa !5
  %23746 = call ptr @s2n_strerror(i32 noundef %23745, ptr noundef @.str.4)
  %23747 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23748 = load i32, ptr %23747, align 4, !tbaa !5
  %23749 = call ptr @s2n_strerror_debug(i32 noundef %23748, ptr noundef @.str.4)
  %23750 = call ptr @__errno_location() #12
  %23751 = load i32, ptr %23750, align 4, !tbaa !5
  %23752 = call ptr @strerror(i32 noundef %23751) #11
  %23753 = call ptr @__errno_location() #12
  %23754 = load i32, ptr %23753, align 4, !tbaa !5
  %23755 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23742, ptr noundef @.str.5, i32 noundef %23743, ptr noundef @.str.119, ptr noundef @.str.1, i32 noundef 732, ptr noundef %23746, ptr noundef %23749, ptr noundef %23752, i32 noundef %23754) #11
  br label %23756

23756:                                            ; preds = %23739, %23722
  call void @llvm.lifetime.end.p0(i64 4, ptr %484) #11
  br label %23757

23757:                                            ; preds = %23756
  br label %23758

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

23759:                                            ; No predecessors!
  br label %23760

23760:                                            ; preds = %23759
  br label %23761

23761:                                            ; preds = %23760, %23701
  br label %23762

23762:                                            ; preds = %23761
  br label %23763

23763:                                            ; preds = %23762
  br label %23764

23764:                                            ; preds = %23763
  %23765 = load i64, ptr %476, align 8, !tbaa !42
  %23766 = add i64 %23765, 1
  store i64 %23766, ptr %476, align 8, !tbaa !42
  br label %23767

23767:                                            ; preds = %23764
  %23768 = load i32, ptr @test_count, align 4, !tbaa !5
  %23769 = add nsw i32 %23768, 1
  store i32 %23769, ptr @test_count, align 4, !tbaa !5
  %23770 = load i64, ptr %476, align 8, !tbaa !42
  %23771 = load i64, ptr %475, align 8, !tbaa !42
  %23772 = icmp ult i64 %23770, %23771
  br i1 %23772, label %23826, label %23773

23773:                                            ; preds = %23767
  br label %23774

23774:                                            ; preds = %23773
  br label %23775

23775:                                            ; preds = %23774
  call void @llvm.lifetime.start.p0(i64 4, ptr %485) #11
  %23776 = call ptr @__errno_location() #12
  %23777 = load i32, ptr %23776, align 4, !tbaa !5
  store i32 %23777, ptr %485, align 4, !tbaa !5
  %23778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23779 = call i32 @s2n_print_stacktrace(ptr noundef %23778)
  %23780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23781 = trunc i8 %23780 to i1
  br i1 %23781, label %23782, label %23804

23782:                                            ; preds = %23775
  %23783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23784 = call i32 @fileno(ptr noundef %23783) #11
  %23785 = call i32 @isatty(i32 noundef %23784) #11
  %23786 = icmp ne i32 %23785, 0
  br i1 %23786, label %23787, label %23804

23787:                                            ; preds = %23782
  %23788 = load i32, ptr %485, align 4, !tbaa !5
  %23789 = call ptr @__errno_location() #12
  store i32 %23788, ptr %23789, align 4, !tbaa !5
  %23790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23791 = load i32, ptr @test_count, align 4, !tbaa !5
  %23792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23793 = load i32, ptr %23792, align 4, !tbaa !5
  %23794 = call ptr @s2n_strerror(i32 noundef %23793, ptr noundef @.str.4)
  %23795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23796 = load i32, ptr %23795, align 4, !tbaa !5
  %23797 = call ptr @s2n_strerror_debug(i32 noundef %23796, ptr noundef @.str.4)
  %23798 = call ptr @__errno_location() #12
  %23799 = load i32, ptr %23798, align 4, !tbaa !5
  %23800 = call ptr @strerror(i32 noundef %23799) #11
  %23801 = call ptr @__errno_location() #12
  %23802 = load i32, ptr %23801, align 4, !tbaa !5
  %23803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23790, ptr noundef @.str.2, i32 noundef %23791, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 736, ptr noundef %23794, ptr noundef %23797, ptr noundef %23800, i32 noundef %23802) #11
  br label %23821

23804:                                            ; preds = %23782, %23775
  %23805 = load i32, ptr %485, align 4, !tbaa !5
  %23806 = call ptr @__errno_location() #12
  store i32 %23805, ptr %23806, align 4, !tbaa !5
  %23807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23808 = load i32, ptr @test_count, align 4, !tbaa !5
  %23809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23810 = load i32, ptr %23809, align 4, !tbaa !5
  %23811 = call ptr @s2n_strerror(i32 noundef %23810, ptr noundef @.str.4)
  %23812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23813 = load i32, ptr %23812, align 4, !tbaa !5
  %23814 = call ptr @s2n_strerror_debug(i32 noundef %23813, ptr noundef @.str.4)
  %23815 = call ptr @__errno_location() #12
  %23816 = load i32, ptr %23815, align 4, !tbaa !5
  %23817 = call ptr @strerror(i32 noundef %23816) #11
  %23818 = call ptr @__errno_location() #12
  %23819 = load i32, ptr %23818, align 4, !tbaa !5
  %23820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23807, ptr noundef @.str.5, i32 noundef %23808, ptr noundef @.str.120, ptr noundef @.str.1, i32 noundef 736, ptr noundef %23811, ptr noundef %23814, ptr noundef %23817, i32 noundef %23819) #11
  br label %23821

23821:                                            ; preds = %23804, %23787
  call void @llvm.lifetime.end.p0(i64 4, ptr %485) #11
  br label %23822

23822:                                            ; preds = %23821
  br label %23823

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

23824:                                            ; No predecessors!
  br label %23825

23825:                                            ; preds = %23824
  br label %23826

23826:                                            ; preds = %23825, %23767
  br label %23827

23827:                                            ; preds = %23826
  br label %23828

23828:                                            ; preds = %23827
  br label %23250

23829:                                            ; preds = %23638
  call void @llvm.lifetime.end.p0(i64 8, ptr %476) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %475) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %474) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %473) #11
  call void @llvm.lifetime.end.p0(i64 16174, ptr %472) #11
  %23830 = call i32 @s2n_stuffer_free(ptr noundef %469)
  call void @llvm.lifetime.end.p0(i64 40, ptr %469) #11
  %23831 = call i32 @s2n_stuffer_free(ptr noundef %468)
  call void @llvm.lifetime.end.p0(i64 40, ptr %468) #11
  %23832 = call i32 @s2n_connection_ptr_free(ptr noundef %464)
  %23833 = getelementptr inbounds %struct.s2n_result, ptr %486, i32 0, i32 0
  store i32 %23832, ptr %23833, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %464) #11
  %23834 = call i32 @s2n_connection_ptr_free(ptr noundef %460)
  %23835 = getelementptr inbounds %struct.s2n_result, ptr %487, i32 0, i32 0
  store i32 %23834, ptr %23835, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %460) #11
  %23836 = call i32 @s2n_psk_free(ptr noundef %456)
  call void @llvm.lifetime.end.p0(i64 8, ptr %456) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %455) #11
  %23837 = call i32 (...) @s2n_is_evp_apis_supported()
  %23838 = icmp ne i32 %23837, 0
  br i1 %23838, label %23839, label %31955

23839:                                            ; preds = %23829
  call void @llvm.lifetime.start.p0(i64 168, ptr %488) #11
  call void @llvm.memset.p0.i64(ptr align 8 %488, i8 0, i64 168, i1 false)
  br label %23840

23840:                                            ; preds = %23839
  %23841 = load i32, ptr @test_count, align 4, !tbaa !5
  %23842 = add nsw i32 %23841, 1
  store i32 %23842, ptr @test_count, align 4, !tbaa !5
  %23843 = call i32 @s2n_psk_init(ptr noundef %488, i32 noundef 0)
  %23844 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  store i32 %23843, ptr %23844, align 4
  %23845 = getelementptr inbounds %struct.s2n_result, ptr %489, i32 0, i32 0
  %23846 = load i32, ptr %23845, align 4
  %23847 = call zeroext i1 @s2n_result_is_ok(i32 %23846)
  br i1 %23847, label %23901, label %23848

23848:                                            ; preds = %23840
  br label %23849

23849:                                            ; preds = %23848
  br label %23850

23850:                                            ; preds = %23849
  call void @llvm.lifetime.start.p0(i64 4, ptr %490) #11
  %23851 = call ptr @__errno_location() #12
  %23852 = load i32, ptr %23851, align 4, !tbaa !5
  store i32 %23852, ptr %490, align 4, !tbaa !5
  %23853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23854 = call i32 @s2n_print_stacktrace(ptr noundef %23853)
  %23855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23856 = trunc i8 %23855 to i1
  br i1 %23856, label %23857, label %23879

23857:                                            ; preds = %23850
  %23858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23859 = call i32 @fileno(ptr noundef %23858) #11
  %23860 = call i32 @isatty(i32 noundef %23859) #11
  %23861 = icmp ne i32 %23860, 0
  br i1 %23861, label %23862, label %23879

23862:                                            ; preds = %23857
  %23863 = load i32, ptr %490, align 4, !tbaa !5
  %23864 = call ptr @__errno_location() #12
  store i32 %23863, ptr %23864, align 4, !tbaa !5
  %23865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23866 = load i32, ptr @test_count, align 4, !tbaa !5
  %23867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23868 = load i32, ptr %23867, align 4, !tbaa !5
  %23869 = call ptr @s2n_strerror(i32 noundef %23868, ptr noundef @.str.4)
  %23870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23871 = load i32, ptr %23870, align 4, !tbaa !5
  %23872 = call ptr @s2n_strerror_debug(i32 noundef %23871, ptr noundef @.str.4)
  %23873 = call ptr @__errno_location() #12
  %23874 = load i32, ptr %23873, align 4, !tbaa !5
  %23875 = call ptr @strerror(i32 noundef %23874) #11
  %23876 = call ptr @__errno_location() #12
  %23877 = load i32, ptr %23876, align 4, !tbaa !5
  %23878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23865, ptr noundef @.str.2, i32 noundef %23866, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 745, ptr noundef %23869, ptr noundef %23872, ptr noundef %23875, i32 noundef %23877) #11
  br label %23896

23879:                                            ; preds = %23857, %23850
  %23880 = load i32, ptr %490, align 4, !tbaa !5
  %23881 = call ptr @__errno_location() #12
  store i32 %23880, ptr %23881, align 4, !tbaa !5
  %23882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23883 = load i32, ptr @test_count, align 4, !tbaa !5
  %23884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23885 = load i32, ptr %23884, align 4, !tbaa !5
  %23886 = call ptr @s2n_strerror(i32 noundef %23885, ptr noundef @.str.4)
  %23887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23888 = load i32, ptr %23887, align 4, !tbaa !5
  %23889 = call ptr @s2n_strerror_debug(i32 noundef %23888, ptr noundef @.str.4)
  %23890 = call ptr @__errno_location() #12
  %23891 = load i32, ptr %23890, align 4, !tbaa !5
  %23892 = call ptr @strerror(i32 noundef %23891) #11
  %23893 = call ptr @__errno_location() #12
  %23894 = load i32, ptr %23893, align 4, !tbaa !5
  %23895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23882, ptr noundef @.str.5, i32 noundef %23883, ptr noundef @.str.121, ptr noundef @.str.1, i32 noundef 745, ptr noundef %23886, ptr noundef %23889, ptr noundef %23892, i32 noundef %23894) #11
  br label %23896

23896:                                            ; preds = %23879, %23862
  call void @llvm.lifetime.end.p0(i64 4, ptr %490) #11
  br label %23897

23897:                                            ; preds = %23896
  br label %23898

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

23899:                                            ; No predecessors!
  br label %23900

23900:                                            ; preds = %23899
  br label %23901

23901:                                            ; preds = %23900, %23840
  br label %23902

23902:                                            ; preds = %23901
  br label %23903

23903:                                            ; preds = %23902
  call void @llvm.lifetime.start.p0(i64 8, ptr %491) #11
  store ptr %488, ptr %491, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 24, ptr %492) #11
  call void @llvm.memset.p0.i64(ptr align 8 %492, i8 0, i64 24, i1 false)
  br label %23904

23904:                                            ; preds = %23903
  %23905 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %492, ptr noundef @.str.122)
  %23906 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  store i32 %23905, ptr %23906, align 4
  %23907 = getelementptr inbounds %struct.s2n_result, ptr %493, i32 0, i32 0
  %23908 = load i32, ptr %23907, align 4
  %23909 = call zeroext i1 @s2n_result_is_ok(i32 %23908)
  br i1 %23909, label %23911, label %23910

23910:                                            ; preds = %23904
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %31949

23911:                                            ; preds = %23904
  br label %23912

23912:                                            ; preds = %23911
  br label %23913

23913:                                            ; preds = %23912
  br label %23914

23914:                                            ; preds = %23913
  %23915 = load i32, ptr @test_count, align 4, !tbaa !5
  %23916 = add nsw i32 %23915, 1
  store i32 %23916, ptr @test_count, align 4, !tbaa !5
  %23917 = load ptr, ptr %491, align 8, !tbaa !9
  %23918 = getelementptr inbounds %struct.s2n_blob, ptr %492, i32 0, i32 0
  %23919 = load ptr, ptr %23918, align 8, !tbaa !54
  %23920 = getelementptr inbounds %struct.s2n_blob, ptr %492, i32 0, i32 1
  %23921 = load i32, ptr %23920, align 8, !tbaa !55
  %23922 = trunc i32 %23921 to i16
  %23923 = call i32 @s2n_psk_set_secret(ptr noundef %23917, ptr noundef %23919, i16 noundef zeroext %23922)
  %23924 = icmp eq i32 %23923, -1
  br i1 %23924, label %23925, label %23978

23925:                                            ; preds = %23914
  br label %23926

23926:                                            ; preds = %23925
  br label %23927

23927:                                            ; preds = %23926
  call void @llvm.lifetime.start.p0(i64 4, ptr %495) #11
  %23928 = call ptr @__errno_location() #12
  %23929 = load i32, ptr %23928, align 4, !tbaa !5
  store i32 %23929, ptr %495, align 4, !tbaa !5
  %23930 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23931 = call i32 @s2n_print_stacktrace(ptr noundef %23930)
  %23932 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %23933 = trunc i8 %23932 to i1
  br i1 %23933, label %23934, label %23956

23934:                                            ; preds = %23927
  %23935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23936 = call i32 @fileno(ptr noundef %23935) #11
  %23937 = call i32 @isatty(i32 noundef %23936) #11
  %23938 = icmp ne i32 %23937, 0
  br i1 %23938, label %23939, label %23956

23939:                                            ; preds = %23934
  %23940 = load i32, ptr %495, align 4, !tbaa !5
  %23941 = call ptr @__errno_location() #12
  store i32 %23940, ptr %23941, align 4, !tbaa !5
  %23942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23943 = load i32, ptr @test_count, align 4, !tbaa !5
  %23944 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23945 = load i32, ptr %23944, align 4, !tbaa !5
  %23946 = call ptr @s2n_strerror(i32 noundef %23945, ptr noundef @.str.4)
  %23947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23948 = load i32, ptr %23947, align 4, !tbaa !5
  %23949 = call ptr @s2n_strerror_debug(i32 noundef %23948, ptr noundef @.str.4)
  %23950 = call ptr @__errno_location() #12
  %23951 = load i32, ptr %23950, align 4, !tbaa !5
  %23952 = call ptr @strerror(i32 noundef %23951) #11
  %23953 = call ptr @__errno_location() #12
  %23954 = load i32, ptr %23953, align 4, !tbaa !5
  %23955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23942, ptr noundef @.str.2, i32 noundef %23943, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 767, ptr noundef %23946, ptr noundef %23949, ptr noundef %23952, i32 noundef %23954) #11
  br label %23973

23956:                                            ; preds = %23934, %23927
  %23957 = load i32, ptr %495, align 4, !tbaa !5
  %23958 = call ptr @__errno_location() #12
  store i32 %23957, ptr %23958, align 4, !tbaa !5
  %23959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %23960 = load i32, ptr @test_count, align 4, !tbaa !5
  %23961 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23962 = load i32, ptr %23961, align 4, !tbaa !5
  %23963 = call ptr @s2n_strerror(i32 noundef %23962, ptr noundef @.str.4)
  %23964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %23965 = load i32, ptr %23964, align 4, !tbaa !5
  %23966 = call ptr @s2n_strerror_debug(i32 noundef %23965, ptr noundef @.str.4)
  %23967 = call ptr @__errno_location() #12
  %23968 = load i32, ptr %23967, align 4, !tbaa !5
  %23969 = call ptr @strerror(i32 noundef %23968) #11
  %23970 = call ptr @__errno_location() #12
  %23971 = load i32, ptr %23970, align 4, !tbaa !5
  %23972 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %23959, ptr noundef @.str.5, i32 noundef %23960, ptr noundef @.str.123, ptr noundef @.str.1, i32 noundef 767, ptr noundef %23963, ptr noundef %23966, ptr noundef %23969, i32 noundef %23971) #11
  br label %23973

23973:                                            ; preds = %23956, %23939
  call void @llvm.lifetime.end.p0(i64 4, ptr %495) #11
  br label %23974

23974:                                            ; preds = %23973
  br label %23975

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

23976:                                            ; No predecessors!
  br label %23977

23977:                                            ; preds = %23976
  br label %23978

23978:                                            ; preds = %23977, %23914
  br label %23979

23979:                                            ; preds = %23978
  br label %23980

23980:                                            ; preds = %23979
  call void @llvm.lifetime.start.p0(i64 24, ptr %496) #11
  call void @llvm.memset.p0.i64(ptr align 8 %496, i8 0, i64 24, i1 false)
  br label %23981

23981:                                            ; preds = %23980
  %23982 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %496, ptr noundef @.str.124)
  %23983 = getelementptr inbounds %struct.s2n_result, ptr %497, i32 0, i32 0
  store i32 %23982, ptr %23983, align 4
  %23984 = getelementptr inbounds %struct.s2n_result, ptr %497, i32 0, i32 0
  %23985 = load i32, ptr %23984, align 4
  %23986 = call zeroext i1 @s2n_result_is_ok(i32 %23985)
  br i1 %23986, label %23988, label %23987

23987:                                            ; preds = %23981
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %31947

23988:                                            ; preds = %23981
  br label %23989

23989:                                            ; preds = %23988
  br label %23990

23990:                                            ; preds = %23989
  br label %23991

23991:                                            ; preds = %23990
  %23992 = load i32, ptr @test_count, align 4, !tbaa !5
  %23993 = add nsw i32 %23992, 1
  store i32 %23993, ptr @test_count, align 4, !tbaa !5
  %23994 = load ptr, ptr %491, align 8, !tbaa !9
  %23995 = getelementptr inbounds %struct.s2n_blob, ptr %496, i32 0, i32 0
  %23996 = load ptr, ptr %23995, align 8, !tbaa !54
  %23997 = getelementptr inbounds %struct.s2n_blob, ptr %496, i32 0, i32 1
  %23998 = load i32, ptr %23997, align 8, !tbaa !55
  %23999 = trunc i32 %23998 to i16
  %24000 = call i32 @s2n_psk_set_identity(ptr noundef %23994, ptr noundef %23996, i16 noundef zeroext %23999)
  %24001 = icmp eq i32 %24000, -1
  br i1 %24001, label %24002, label %24055

24002:                                            ; preds = %23991
  br label %24003

24003:                                            ; preds = %24002
  br label %24004

24004:                                            ; preds = %24003
  call void @llvm.lifetime.start.p0(i64 4, ptr %498) #11
  %24005 = call ptr @__errno_location() #12
  %24006 = load i32, ptr %24005, align 4, !tbaa !5
  store i32 %24006, ptr %498, align 4, !tbaa !5
  %24007 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24008 = call i32 @s2n_print_stacktrace(ptr noundef %24007)
  %24009 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24010 = trunc i8 %24009 to i1
  br i1 %24010, label %24011, label %24033

24011:                                            ; preds = %24004
  %24012 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24013 = call i32 @fileno(ptr noundef %24012) #11
  %24014 = call i32 @isatty(i32 noundef %24013) #11
  %24015 = icmp ne i32 %24014, 0
  br i1 %24015, label %24016, label %24033

24016:                                            ; preds = %24011
  %24017 = load i32, ptr %498, align 4, !tbaa !5
  %24018 = call ptr @__errno_location() #12
  store i32 %24017, ptr %24018, align 4, !tbaa !5
  %24019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24020 = load i32, ptr @test_count, align 4, !tbaa !5
  %24021 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24022 = load i32, ptr %24021, align 4, !tbaa !5
  %24023 = call ptr @s2n_strerror(i32 noundef %24022, ptr noundef @.str.4)
  %24024 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24025 = load i32, ptr %24024, align 4, !tbaa !5
  %24026 = call ptr @s2n_strerror_debug(i32 noundef %24025, ptr noundef @.str.4)
  %24027 = call ptr @__errno_location() #12
  %24028 = load i32, ptr %24027, align 4, !tbaa !5
  %24029 = call ptr @strerror(i32 noundef %24028) #11
  %24030 = call ptr @__errno_location() #12
  %24031 = load i32, ptr %24030, align 4, !tbaa !5
  %24032 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24019, ptr noundef @.str.2, i32 noundef %24020, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 800, ptr noundef %24023, ptr noundef %24026, ptr noundef %24029, i32 noundef %24031) #11
  br label %24050

24033:                                            ; preds = %24011, %24004
  %24034 = load i32, ptr %498, align 4, !tbaa !5
  %24035 = call ptr @__errno_location() #12
  store i32 %24034, ptr %24035, align 4, !tbaa !5
  %24036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24037 = load i32, ptr @test_count, align 4, !tbaa !5
  %24038 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24039 = load i32, ptr %24038, align 4, !tbaa !5
  %24040 = call ptr @s2n_strerror(i32 noundef %24039, ptr noundef @.str.4)
  %24041 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24042 = load i32, ptr %24041, align 4, !tbaa !5
  %24043 = call ptr @s2n_strerror_debug(i32 noundef %24042, ptr noundef @.str.4)
  %24044 = call ptr @__errno_location() #12
  %24045 = load i32, ptr %24044, align 4, !tbaa !5
  %24046 = call ptr @strerror(i32 noundef %24045) #11
  %24047 = call ptr @__errno_location() #12
  %24048 = load i32, ptr %24047, align 4, !tbaa !5
  %24049 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24036, ptr noundef @.str.5, i32 noundef %24037, ptr noundef @.str.125, ptr noundef @.str.1, i32 noundef 800, ptr noundef %24040, ptr noundef %24043, ptr noundef %24046, i32 noundef %24048) #11
  br label %24050

24050:                                            ; preds = %24033, %24016
  call void @llvm.lifetime.end.p0(i64 4, ptr %498) #11
  br label %24051

24051:                                            ; preds = %24050
  br label %24052

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

24053:                                            ; No predecessors!
  br label %24054

24054:                                            ; preds = %24053
  br label %24055

24055:                                            ; preds = %24054, %23991
  br label %24056

24056:                                            ; preds = %24055
  br label %24057

24057:                                            ; preds = %24056
  call void @llvm.lifetime.start.p0(i64 4, ptr %499) #11
  store i32 1024, ptr %499, align 4, !tbaa !5
  br label %24058

24058:                                            ; preds = %24057
  %24059 = load i32, ptr @test_count, align 4, !tbaa !5
  %24060 = add nsw i32 %24059, 1
  store i32 %24060, ptr @test_count, align 4, !tbaa !5
  %24061 = load ptr, ptr %491, align 8, !tbaa !9
  %24062 = call i32 @s2n_psk_configure_early_data(ptr noundef %24061, i32 noundef 1024, i8 noundef zeroext 19, i8 noundef zeroext 1)
  %24063 = icmp eq i32 %24062, -1
  br i1 %24063, label %24064, label %24117

24064:                                            ; preds = %24058
  br label %24065

24065:                                            ; preds = %24064
  br label %24066

24066:                                            ; preds = %24065
  call void @llvm.lifetime.start.p0(i64 4, ptr %500) #11
  %24067 = call ptr @__errno_location() #12
  %24068 = load i32, ptr %24067, align 4, !tbaa !5
  store i32 %24068, ptr %500, align 4, !tbaa !5
  %24069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24070 = call i32 @s2n_print_stacktrace(ptr noundef %24069)
  %24071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24072 = trunc i8 %24071 to i1
  br i1 %24072, label %24073, label %24095

24073:                                            ; preds = %24066
  %24074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24075 = call i32 @fileno(ptr noundef %24074) #11
  %24076 = call i32 @isatty(i32 noundef %24075) #11
  %24077 = icmp ne i32 %24076, 0
  br i1 %24077, label %24078, label %24095

24078:                                            ; preds = %24073
  %24079 = load i32, ptr %500, align 4, !tbaa !5
  %24080 = call ptr @__errno_location() #12
  store i32 %24079, ptr %24080, align 4, !tbaa !5
  %24081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24082 = load i32, ptr @test_count, align 4, !tbaa !5
  %24083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24084 = load i32, ptr %24083, align 4, !tbaa !5
  %24085 = call ptr @s2n_strerror(i32 noundef %24084, ptr noundef @.str.4)
  %24086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24087 = load i32, ptr %24086, align 4, !tbaa !5
  %24088 = call ptr @s2n_strerror_debug(i32 noundef %24087, ptr noundef @.str.4)
  %24089 = call ptr @__errno_location() #12
  %24090 = load i32, ptr %24089, align 4, !tbaa !5
  %24091 = call ptr @strerror(i32 noundef %24090) #11
  %24092 = call ptr @__errno_location() #12
  %24093 = load i32, ptr %24092, align 4, !tbaa !5
  %24094 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24081, ptr noundef @.str.2, i32 noundef %24082, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 806, ptr noundef %24085, ptr noundef %24088, ptr noundef %24091, i32 noundef %24093) #11
  br label %24112

24095:                                            ; preds = %24073, %24066
  %24096 = load i32, ptr %500, align 4, !tbaa !5
  %24097 = call ptr @__errno_location() #12
  store i32 %24096, ptr %24097, align 4, !tbaa !5
  %24098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24099 = load i32, ptr @test_count, align 4, !tbaa !5
  %24100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24101 = load i32, ptr %24100, align 4, !tbaa !5
  %24102 = call ptr @s2n_strerror(i32 noundef %24101, ptr noundef @.str.4)
  %24103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24104 = load i32, ptr %24103, align 4, !tbaa !5
  %24105 = call ptr @s2n_strerror_debug(i32 noundef %24104, ptr noundef @.str.4)
  %24106 = call ptr @__errno_location() #12
  %24107 = load i32, ptr %24106, align 4, !tbaa !5
  %24108 = call ptr @strerror(i32 noundef %24107) #11
  %24109 = call ptr @__errno_location() #12
  %24110 = load i32, ptr %24109, align 4, !tbaa !5
  %24111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24098, ptr noundef @.str.5, i32 noundef %24099, ptr noundef @.str.126, ptr noundef @.str.1, i32 noundef 806, ptr noundef %24102, ptr noundef %24105, ptr noundef %24108, i32 noundef %24110) #11
  br label %24112

24112:                                            ; preds = %24095, %24078
  call void @llvm.lifetime.end.p0(i64 4, ptr %500) #11
  br label %24113

24113:                                            ; preds = %24112
  br label %24114

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

24115:                                            ; No predecessors!
  br label %24116

24116:                                            ; preds = %24115
  br label %24117

24117:                                            ; preds = %24116, %24058
  br label %24118

24118:                                            ; preds = %24117
  br label %24119

24119:                                            ; preds = %24118
  call void @llvm.lifetime.start.p0(i64 24, ptr %501) #11
  call void @llvm.memset.p0.i64(ptr align 8 %501, i8 0, i64 24, i1 false)
  br label %24120

24120:                                            ; preds = %24119
  %24121 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %501, ptr noundef @.str.127)
  %24122 = getelementptr inbounds %struct.s2n_result, ptr %502, i32 0, i32 0
  store i32 %24121, ptr %24122, align 4
  %24123 = getelementptr inbounds %struct.s2n_result, ptr %502, i32 0, i32 0
  %24124 = load i32, ptr %24123, align 4
  %24125 = call zeroext i1 @s2n_result_is_ok(i32 %24124)
  br i1 %24125, label %24127, label %24126

24126:                                            ; preds = %24120
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %31945

24127:                                            ; preds = %24120
  br label %24128

24128:                                            ; preds = %24127
  br label %24129

24129:                                            ; preds = %24128
  call void @llvm.lifetime.start.p0(i64 24, ptr %503) #11
  call void @llvm.memset.p0.i64(ptr align 8 %503, i8 0, i64 24, i1 false)
  br label %24130

24130:                                            ; preds = %24129
  %24131 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %503, ptr noundef @.str.128)
  %24132 = getelementptr inbounds %struct.s2n_result, ptr %504, i32 0, i32 0
  store i32 %24131, ptr %24132, align 4
  %24133 = getelementptr inbounds %struct.s2n_result, ptr %504, i32 0, i32 0
  %24134 = load i32, ptr %24133, align 4
  %24135 = call zeroext i1 @s2n_result_is_ok(i32 %24134)
  br i1 %24135, label %24137, label %24136

24136:                                            ; preds = %24130
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %31943

24137:                                            ; preds = %24130
  br label %24138

24138:                                            ; preds = %24137
  br label %24139

24139:                                            ; preds = %24138
  call void @llvm.lifetime.start.p0(i64 24, ptr %505) #11
  call void @llvm.memset.p0.i64(ptr align 8 %505, i8 0, i64 24, i1 false)
  br label %24140

24140:                                            ; preds = %24139
  %24141 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %505, ptr noundef @.str.129)
  %24142 = getelementptr inbounds %struct.s2n_result, ptr %506, i32 0, i32 0
  store i32 %24141, ptr %24142, align 4
  %24143 = getelementptr inbounds %struct.s2n_result, ptr %506, i32 0, i32 0
  %24144 = load i32, ptr %24143, align 4
  %24145 = call zeroext i1 @s2n_result_is_ok(i32 %24144)
  br i1 %24145, label %24147, label %24146

24146:                                            ; preds = %24140
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %31941

24147:                                            ; preds = %24140
  br label %24148

24148:                                            ; preds = %24147
  br label %24149

24149:                                            ; preds = %24148
  call void @llvm.lifetime.start.p0(i64 24, ptr %507) #11
  call void @llvm.memset.p0.i64(ptr align 8 %507, i8 0, i64 24, i1 false)
  br label %24150

24150:                                            ; preds = %24149
  %24151 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef %507, ptr noundef @.str.130)
  %24152 = getelementptr inbounds %struct.s2n_result, ptr %508, i32 0, i32 0
  store i32 %24151, ptr %24152, align 4
  %24153 = getelementptr inbounds %struct.s2n_result, ptr %508, i32 0, i32 0
  %24154 = load i32, ptr %24153, align 4
  %24155 = call zeroext i1 @s2n_result_is_ok(i32 %24154)
  br i1 %24155, label %24157, label %24156

24156:                                            ; preds = %24150
  store i32 -1, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %31939

24157:                                            ; preds = %24150
  br label %24158

24158:                                            ; preds = %24157
  br label %24159

24159:                                            ; preds = %24158
  call void @llvm.lifetime.start.p0(i64 8, ptr %509) #11
  %24160 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %24160, ptr %509, align 8, !tbaa !9
  br label %24161

24161:                                            ; preds = %24159
  %24162 = load i32, ptr @test_count, align 4, !tbaa !5
  %24163 = add nsw i32 %24162, 1
  store i32 %24163, ptr @test_count, align 4, !tbaa !5
  %24164 = load ptr, ptr %509, align 8, !tbaa !9
  %24165 = icmp eq ptr %24164, null
  br i1 %24165, label %24166, label %24219

24166:                                            ; preds = %24161
  br label %24167

24167:                                            ; preds = %24166
  br label %24168

24168:                                            ; preds = %24167
  call void @llvm.lifetime.start.p0(i64 4, ptr %510) #11
  %24169 = call ptr @__errno_location() #12
  %24170 = load i32, ptr %24169, align 4, !tbaa !5
  store i32 %24170, ptr %510, align 4, !tbaa !5
  %24171 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24172 = call i32 @s2n_print_stacktrace(ptr noundef %24171)
  %24173 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24174 = trunc i8 %24173 to i1
  br i1 %24174, label %24175, label %24197

24175:                                            ; preds = %24168
  %24176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24177 = call i32 @fileno(ptr noundef %24176) #11
  %24178 = call i32 @isatty(i32 noundef %24177) #11
  %24179 = icmp ne i32 %24178, 0
  br i1 %24179, label %24180, label %24197

24180:                                            ; preds = %24175
  %24181 = load i32, ptr %510, align 4, !tbaa !5
  %24182 = call ptr @__errno_location() #12
  store i32 %24181, ptr %24182, align 4, !tbaa !5
  %24183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24184 = load i32, ptr @test_count, align 4, !tbaa !5
  %24185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24186 = load i32, ptr %24185, align 4, !tbaa !5
  %24187 = call ptr @s2n_strerror(i32 noundef %24186, ptr noundef @.str.4)
  %24188 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24189 = load i32, ptr %24188, align 4, !tbaa !5
  %24190 = call ptr @s2n_strerror_debug(i32 noundef %24189, ptr noundef @.str.4)
  %24191 = call ptr @__errno_location() #12
  %24192 = load i32, ptr %24191, align 4, !tbaa !5
  %24193 = call ptr @strerror(i32 noundef %24192) #11
  %24194 = call ptr @__errno_location() #12
  %24195 = load i32, ptr %24194, align 4, !tbaa !5
  %24196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24183, ptr noundef @.str.2, i32 noundef %24184, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 896, ptr noundef %24187, ptr noundef %24190, ptr noundef %24193, i32 noundef %24195) #11
  br label %24214

24197:                                            ; preds = %24175, %24168
  %24198 = load i32, ptr %510, align 4, !tbaa !5
  %24199 = call ptr @__errno_location() #12
  store i32 %24198, ptr %24199, align 4, !tbaa !5
  %24200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24201 = load i32, ptr @test_count, align 4, !tbaa !5
  %24202 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24203 = load i32, ptr %24202, align 4, !tbaa !5
  %24204 = call ptr @s2n_strerror(i32 noundef %24203, ptr noundef @.str.4)
  %24205 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24206 = load i32, ptr %24205, align 4, !tbaa !5
  %24207 = call ptr @s2n_strerror_debug(i32 noundef %24206, ptr noundef @.str.4)
  %24208 = call ptr @__errno_location() #12
  %24209 = load i32, ptr %24208, align 4, !tbaa !5
  %24210 = call ptr @strerror(i32 noundef %24209) #11
  %24211 = call ptr @__errno_location() #12
  %24212 = load i32, ptr %24211, align 4, !tbaa !5
  %24213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24200, ptr noundef @.str.5, i32 noundef %24201, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 896, ptr noundef %24204, ptr noundef %24207, ptr noundef %24210, i32 noundef %24212) #11
  br label %24214

24214:                                            ; preds = %24197, %24180
  call void @llvm.lifetime.end.p0(i64 4, ptr %510) #11
  br label %24215

24215:                                            ; preds = %24214
  br label %24216

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

24217:                                            ; No predecessors!
  br label %24218

24218:                                            ; preds = %24217
  br label %24219

24219:                                            ; preds = %24218, %24161
  br label %24220

24220:                                            ; preds = %24219
  br label %24221

24221:                                            ; preds = %24220
  br label %24222

24222:                                            ; preds = %24221
  %24223 = load i32, ptr @test_count, align 4, !tbaa !5
  %24224 = add nsw i32 %24223, 1
  store i32 %24224, ptr @test_count, align 4, !tbaa !5
  %24225 = load ptr, ptr %509, align 8, !tbaa !9
  %24226 = call i32 @s2n_connection_set_blinding(ptr noundef %24225, i32 noundef 1)
  %24227 = icmp eq i32 %24226, -1
  br i1 %24227, label %24228, label %24281

24228:                                            ; preds = %24222
  br label %24229

24229:                                            ; preds = %24228
  br label %24230

24230:                                            ; preds = %24229
  call void @llvm.lifetime.start.p0(i64 4, ptr %511) #11
  %24231 = call ptr @__errno_location() #12
  %24232 = load i32, ptr %24231, align 4, !tbaa !5
  store i32 %24232, ptr %511, align 4, !tbaa !5
  %24233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24234 = call i32 @s2n_print_stacktrace(ptr noundef %24233)
  %24235 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24236 = trunc i8 %24235 to i1
  br i1 %24236, label %24237, label %24259

24237:                                            ; preds = %24230
  %24238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24239 = call i32 @fileno(ptr noundef %24238) #11
  %24240 = call i32 @isatty(i32 noundef %24239) #11
  %24241 = icmp ne i32 %24240, 0
  br i1 %24241, label %24242, label %24259

24242:                                            ; preds = %24237
  %24243 = load i32, ptr %511, align 4, !tbaa !5
  %24244 = call ptr @__errno_location() #12
  store i32 %24243, ptr %24244, align 4, !tbaa !5
  %24245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24246 = load i32, ptr @test_count, align 4, !tbaa !5
  %24247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24248 = load i32, ptr %24247, align 4, !tbaa !5
  %24249 = call ptr @s2n_strerror(i32 noundef %24248, ptr noundef @.str.4)
  %24250 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24251 = load i32, ptr %24250, align 4, !tbaa !5
  %24252 = call ptr @s2n_strerror_debug(i32 noundef %24251, ptr noundef @.str.4)
  %24253 = call ptr @__errno_location() #12
  %24254 = load i32, ptr %24253, align 4, !tbaa !5
  %24255 = call ptr @strerror(i32 noundef %24254) #11
  %24256 = call ptr @__errno_location() #12
  %24257 = load i32, ptr %24256, align 4, !tbaa !5
  %24258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24245, ptr noundef @.str.2, i32 noundef %24246, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 897, ptr noundef %24249, ptr noundef %24252, ptr noundef %24255, i32 noundef %24257) #11
  br label %24276

24259:                                            ; preds = %24237, %24230
  %24260 = load i32, ptr %511, align 4, !tbaa !5
  %24261 = call ptr @__errno_location() #12
  store i32 %24260, ptr %24261, align 4, !tbaa !5
  %24262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24263 = load i32, ptr @test_count, align 4, !tbaa !5
  %24264 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24265 = load i32, ptr %24264, align 4, !tbaa !5
  %24266 = call ptr @s2n_strerror(i32 noundef %24265, ptr noundef @.str.4)
  %24267 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24268 = load i32, ptr %24267, align 4, !tbaa !5
  %24269 = call ptr @s2n_strerror_debug(i32 noundef %24268, ptr noundef @.str.4)
  %24270 = call ptr @__errno_location() #12
  %24271 = load i32, ptr %24270, align 4, !tbaa !5
  %24272 = call ptr @strerror(i32 noundef %24271) #11
  %24273 = call ptr @__errno_location() #12
  %24274 = load i32, ptr %24273, align 4, !tbaa !5
  %24275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24262, ptr noundef @.str.5, i32 noundef %24263, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 897, ptr noundef %24266, ptr noundef %24269, ptr noundef %24272, i32 noundef %24274) #11
  br label %24276

24276:                                            ; preds = %24259, %24242
  call void @llvm.lifetime.end.p0(i64 4, ptr %511) #11
  br label %24277

24277:                                            ; preds = %24276
  br label %24278

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

24279:                                            ; No predecessors!
  br label %24280

24280:                                            ; preds = %24279
  br label %24281

24281:                                            ; preds = %24280, %24222
  br label %24282

24282:                                            ; preds = %24281
  br label %24283

24283:                                            ; preds = %24282
  br label %24284

24284:                                            ; preds = %24283
  %24285 = load i32, ptr @test_count, align 4, !tbaa !5
  %24286 = add nsw i32 %24285, 1
  store i32 %24286, ptr @test_count, align 4, !tbaa !5
  %24287 = load ptr, ptr %509, align 8, !tbaa !9
  %24288 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %24287, ptr noundef @.str.31)
  %24289 = icmp eq i32 %24288, -1
  br i1 %24289, label %24290, label %24343

24290:                                            ; preds = %24284
  br label %24291

24291:                                            ; preds = %24290
  br label %24292

24292:                                            ; preds = %24291
  call void @llvm.lifetime.start.p0(i64 4, ptr %512) #11
  %24293 = call ptr @__errno_location() #12
  %24294 = load i32, ptr %24293, align 4, !tbaa !5
  store i32 %24294, ptr %512, align 4, !tbaa !5
  %24295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24296 = call i32 @s2n_print_stacktrace(ptr noundef %24295)
  %24297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24298 = trunc i8 %24297 to i1
  br i1 %24298, label %24299, label %24321

24299:                                            ; preds = %24292
  %24300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24301 = call i32 @fileno(ptr noundef %24300) #11
  %24302 = call i32 @isatty(i32 noundef %24301) #11
  %24303 = icmp ne i32 %24302, 0
  br i1 %24303, label %24304, label %24321

24304:                                            ; preds = %24299
  %24305 = load i32, ptr %512, align 4, !tbaa !5
  %24306 = call ptr @__errno_location() #12
  store i32 %24305, ptr %24306, align 4, !tbaa !5
  %24307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24308 = load i32, ptr @test_count, align 4, !tbaa !5
  %24309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24310 = load i32, ptr %24309, align 4, !tbaa !5
  %24311 = call ptr @s2n_strerror(i32 noundef %24310, ptr noundef @.str.4)
  %24312 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24313 = load i32, ptr %24312, align 4, !tbaa !5
  %24314 = call ptr @s2n_strerror_debug(i32 noundef %24313, ptr noundef @.str.4)
  %24315 = call ptr @__errno_location() #12
  %24316 = load i32, ptr %24315, align 4, !tbaa !5
  %24317 = call ptr @strerror(i32 noundef %24316) #11
  %24318 = call ptr @__errno_location() #12
  %24319 = load i32, ptr %24318, align 4, !tbaa !5
  %24320 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24307, ptr noundef @.str.2, i32 noundef %24308, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 898, ptr noundef %24311, ptr noundef %24314, ptr noundef %24317, i32 noundef %24319) #11
  br label %24338

24321:                                            ; preds = %24299, %24292
  %24322 = load i32, ptr %512, align 4, !tbaa !5
  %24323 = call ptr @__errno_location() #12
  store i32 %24322, ptr %24323, align 4, !tbaa !5
  %24324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24325 = load i32, ptr @test_count, align 4, !tbaa !5
  %24326 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24327 = load i32, ptr %24326, align 4, !tbaa !5
  %24328 = call ptr @s2n_strerror(i32 noundef %24327, ptr noundef @.str.4)
  %24329 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24330 = load i32, ptr %24329, align 4, !tbaa !5
  %24331 = call ptr @s2n_strerror_debug(i32 noundef %24330, ptr noundef @.str.4)
  %24332 = call ptr @__errno_location() #12
  %24333 = load i32, ptr %24332, align 4, !tbaa !5
  %24334 = call ptr @strerror(i32 noundef %24333) #11
  %24335 = call ptr @__errno_location() #12
  %24336 = load i32, ptr %24335, align 4, !tbaa !5
  %24337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24324, ptr noundef @.str.5, i32 noundef %24325, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 898, ptr noundef %24328, ptr noundef %24331, ptr noundef %24334, i32 noundef %24336) #11
  br label %24338

24338:                                            ; preds = %24321, %24304
  call void @llvm.lifetime.end.p0(i64 4, ptr %512) #11
  br label %24339

24339:                                            ; preds = %24338
  br label %24340

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

24341:                                            ; No predecessors!
  br label %24342

24342:                                            ; preds = %24341
  br label %24343

24343:                                            ; preds = %24342, %24284
  br label %24344

24344:                                            ; preds = %24343
  br label %24345

24345:                                            ; preds = %24344
  br label %24346

24346:                                            ; preds = %24345
  %24347 = load i32, ptr @test_count, align 4, !tbaa !5
  %24348 = add nsw i32 %24347, 1
  store i32 %24348, ptr @test_count, align 4, !tbaa !5
  %24349 = load ptr, ptr %509, align 8, !tbaa !9
  %24350 = load ptr, ptr %491, align 8, !tbaa !9
  %24351 = call i32 @s2n_connection_append_psk(ptr noundef %24349, ptr noundef %24350)
  %24352 = icmp eq i32 %24351, -1
  br i1 %24352, label %24353, label %24406

24353:                                            ; preds = %24346
  br label %24354

24354:                                            ; preds = %24353
  br label %24355

24355:                                            ; preds = %24354
  call void @llvm.lifetime.start.p0(i64 4, ptr %513) #11
  %24356 = call ptr @__errno_location() #12
  %24357 = load i32, ptr %24356, align 4, !tbaa !5
  store i32 %24357, ptr %513, align 4, !tbaa !5
  %24358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24359 = call i32 @s2n_print_stacktrace(ptr noundef %24358)
  %24360 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24361 = trunc i8 %24360 to i1
  br i1 %24361, label %24362, label %24384

24362:                                            ; preds = %24355
  %24363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24364 = call i32 @fileno(ptr noundef %24363) #11
  %24365 = call i32 @isatty(i32 noundef %24364) #11
  %24366 = icmp ne i32 %24365, 0
  br i1 %24366, label %24367, label %24384

24367:                                            ; preds = %24362
  %24368 = load i32, ptr %513, align 4, !tbaa !5
  %24369 = call ptr @__errno_location() #12
  store i32 %24368, ptr %24369, align 4, !tbaa !5
  %24370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24371 = load i32, ptr @test_count, align 4, !tbaa !5
  %24372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24373 = load i32, ptr %24372, align 4, !tbaa !5
  %24374 = call ptr @s2n_strerror(i32 noundef %24373, ptr noundef @.str.4)
  %24375 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24376 = load i32, ptr %24375, align 4, !tbaa !5
  %24377 = call ptr @s2n_strerror_debug(i32 noundef %24376, ptr noundef @.str.4)
  %24378 = call ptr @__errno_location() #12
  %24379 = load i32, ptr %24378, align 4, !tbaa !5
  %24380 = call ptr @strerror(i32 noundef %24379) #11
  %24381 = call ptr @__errno_location() #12
  %24382 = load i32, ptr %24381, align 4, !tbaa !5
  %24383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24370, ptr noundef @.str.2, i32 noundef %24371, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 899, ptr noundef %24374, ptr noundef %24377, ptr noundef %24380, i32 noundef %24382) #11
  br label %24401

24384:                                            ; preds = %24362, %24355
  %24385 = load i32, ptr %513, align 4, !tbaa !5
  %24386 = call ptr @__errno_location() #12
  store i32 %24385, ptr %24386, align 4, !tbaa !5
  %24387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24388 = load i32, ptr @test_count, align 4, !tbaa !5
  %24389 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24390 = load i32, ptr %24389, align 4, !tbaa !5
  %24391 = call ptr @s2n_strerror(i32 noundef %24390, ptr noundef @.str.4)
  %24392 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24393 = load i32, ptr %24392, align 4, !tbaa !5
  %24394 = call ptr @s2n_strerror_debug(i32 noundef %24393, ptr noundef @.str.4)
  %24395 = call ptr @__errno_location() #12
  %24396 = load i32, ptr %24395, align 4, !tbaa !5
  %24397 = call ptr @strerror(i32 noundef %24396) #11
  %24398 = call ptr @__errno_location() #12
  %24399 = load i32, ptr %24398, align 4, !tbaa !5
  %24400 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24387, ptr noundef @.str.5, i32 noundef %24388, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 899, ptr noundef %24391, ptr noundef %24394, ptr noundef %24397, i32 noundef %24399) #11
  br label %24401

24401:                                            ; preds = %24384, %24367
  call void @llvm.lifetime.end.p0(i64 4, ptr %513) #11
  br label %24402

24402:                                            ; preds = %24401
  br label %24403

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

24404:                                            ; No predecessors!
  br label %24405

24405:                                            ; preds = %24404
  br label %24406

24406:                                            ; preds = %24405, %24346
  br label %24407

24407:                                            ; preds = %24406
  br label %24408

24408:                                            ; preds = %24407
  br label %24409

24409:                                            ; preds = %24408
  %24410 = load i32, ptr @test_count, align 4, !tbaa !5
  %24411 = add nsw i32 %24410, 1
  store i32 %24411, ptr @test_count, align 4, !tbaa !5
  %24412 = load ptr, ptr %509, align 8, !tbaa !9
  %24413 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %24412, i32 noundef 1024)
  %24414 = icmp eq i32 %24413, -1
  br i1 %24414, label %24415, label %24468

24415:                                            ; preds = %24409
  br label %24416

24416:                                            ; preds = %24415
  br label %24417

24417:                                            ; preds = %24416
  call void @llvm.lifetime.start.p0(i64 4, ptr %514) #11
  %24418 = call ptr @__errno_location() #12
  %24419 = load i32, ptr %24418, align 4, !tbaa !5
  store i32 %24419, ptr %514, align 4, !tbaa !5
  %24420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24421 = call i32 @s2n_print_stacktrace(ptr noundef %24420)
  %24422 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24423 = trunc i8 %24422 to i1
  br i1 %24423, label %24424, label %24446

24424:                                            ; preds = %24417
  %24425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24426 = call i32 @fileno(ptr noundef %24425) #11
  %24427 = call i32 @isatty(i32 noundef %24426) #11
  %24428 = icmp ne i32 %24427, 0
  br i1 %24428, label %24429, label %24446

24429:                                            ; preds = %24424
  %24430 = load i32, ptr %514, align 4, !tbaa !5
  %24431 = call ptr @__errno_location() #12
  store i32 %24430, ptr %24431, align 4, !tbaa !5
  %24432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24433 = load i32, ptr @test_count, align 4, !tbaa !5
  %24434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24435 = load i32, ptr %24434, align 4, !tbaa !5
  %24436 = call ptr @s2n_strerror(i32 noundef %24435, ptr noundef @.str.4)
  %24437 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24438 = load i32, ptr %24437, align 4, !tbaa !5
  %24439 = call ptr @s2n_strerror_debug(i32 noundef %24438, ptr noundef @.str.4)
  %24440 = call ptr @__errno_location() #12
  %24441 = load i32, ptr %24440, align 4, !tbaa !5
  %24442 = call ptr @strerror(i32 noundef %24441) #11
  %24443 = call ptr @__errno_location() #12
  %24444 = load i32, ptr %24443, align 4, !tbaa !5
  %24445 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24432, ptr noundef @.str.2, i32 noundef %24433, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 900, ptr noundef %24436, ptr noundef %24439, ptr noundef %24442, i32 noundef %24444) #11
  br label %24463

24446:                                            ; preds = %24424, %24417
  %24447 = load i32, ptr %514, align 4, !tbaa !5
  %24448 = call ptr @__errno_location() #12
  store i32 %24447, ptr %24448, align 4, !tbaa !5
  %24449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24450 = load i32, ptr @test_count, align 4, !tbaa !5
  %24451 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24452 = load i32, ptr %24451, align 4, !tbaa !5
  %24453 = call ptr @s2n_strerror(i32 noundef %24452, ptr noundef @.str.4)
  %24454 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24455 = load i32, ptr %24454, align 4, !tbaa !5
  %24456 = call ptr @s2n_strerror_debug(i32 noundef %24455, ptr noundef @.str.4)
  %24457 = call ptr @__errno_location() #12
  %24458 = load i32, ptr %24457, align 4, !tbaa !5
  %24459 = call ptr @strerror(i32 noundef %24458) #11
  %24460 = call ptr @__errno_location() #12
  %24461 = load i32, ptr %24460, align 4, !tbaa !5
  %24462 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24449, ptr noundef @.str.5, i32 noundef %24450, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 900, ptr noundef %24453, ptr noundef %24456, ptr noundef %24459, i32 noundef %24461) #11
  br label %24463

24463:                                            ; preds = %24446, %24429
  call void @llvm.lifetime.end.p0(i64 4, ptr %514) #11
  br label %24464

24464:                                            ; preds = %24463
  br label %24465

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

24466:                                            ; No predecessors!
  br label %24467

24467:                                            ; preds = %24466
  br label %24468

24468:                                            ; preds = %24467, %24409
  br label %24469

24469:                                            ; preds = %24468
  br label %24470

24470:                                            ; preds = %24469
  %24471 = load ptr, ptr %509, align 8, !tbaa !9
  %24472 = getelementptr inbounds %struct.s2n_connection, ptr %24471, i32 0, i32 33
  %24473 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %24472, i32 0, i32 0
  store i32 1, ptr %24473, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 40, ptr %515) #11
  call void @llvm.memset.p0.i64(ptr align 8 %515, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %516) #11
  call void @llvm.memset.p0.i64(ptr align 8 %516, i8 0, i64 40, i1 false)
  br label %24474

24474:                                            ; preds = %24470
  %24475 = load i32, ptr @test_count, align 4, !tbaa !5
  %24476 = add nsw i32 %24475, 1
  store i32 %24476, ptr @test_count, align 4, !tbaa !5
  %24477 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %515, i32 noundef 8092)
  %24478 = icmp eq i32 %24477, -1
  br i1 %24478, label %24479, label %24532

24479:                                            ; preds = %24474
  br label %24480

24480:                                            ; preds = %24479
  br label %24481

24481:                                            ; preds = %24480
  call void @llvm.lifetime.start.p0(i64 4, ptr %517) #11
  %24482 = call ptr @__errno_location() #12
  %24483 = load i32, ptr %24482, align 4, !tbaa !5
  store i32 %24483, ptr %517, align 4, !tbaa !5
  %24484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24485 = call i32 @s2n_print_stacktrace(ptr noundef %24484)
  %24486 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24487 = trunc i8 %24486 to i1
  br i1 %24487, label %24488, label %24510

24488:                                            ; preds = %24481
  %24489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24490 = call i32 @fileno(ptr noundef %24489) #11
  %24491 = call i32 @isatty(i32 noundef %24490) #11
  %24492 = icmp ne i32 %24491, 0
  br i1 %24492, label %24493, label %24510

24493:                                            ; preds = %24488
  %24494 = load i32, ptr %517, align 4, !tbaa !5
  %24495 = call ptr @__errno_location() #12
  store i32 %24494, ptr %24495, align 4, !tbaa !5
  %24496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24497 = load i32, ptr @test_count, align 4, !tbaa !5
  %24498 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24499 = load i32, ptr %24498, align 4, !tbaa !5
  %24500 = call ptr @s2n_strerror(i32 noundef %24499, ptr noundef @.str.4)
  %24501 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24502 = load i32, ptr %24501, align 4, !tbaa !5
  %24503 = call ptr @s2n_strerror_debug(i32 noundef %24502, ptr noundef @.str.4)
  %24504 = call ptr @__errno_location() #12
  %24505 = load i32, ptr %24504, align 4, !tbaa !5
  %24506 = call ptr @strerror(i32 noundef %24505) #11
  %24507 = call ptr @__errno_location() #12
  %24508 = load i32, ptr %24507, align 4, !tbaa !5
  %24509 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24496, ptr noundef @.str.2, i32 noundef %24497, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 908, ptr noundef %24500, ptr noundef %24503, ptr noundef %24506, i32 noundef %24508) #11
  br label %24527

24510:                                            ; preds = %24488, %24481
  %24511 = load i32, ptr %517, align 4, !tbaa !5
  %24512 = call ptr @__errno_location() #12
  store i32 %24511, ptr %24512, align 4, !tbaa !5
  %24513 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24514 = load i32, ptr @test_count, align 4, !tbaa !5
  %24515 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24516 = load i32, ptr %24515, align 4, !tbaa !5
  %24517 = call ptr @s2n_strerror(i32 noundef %24516, ptr noundef @.str.4)
  %24518 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24519 = load i32, ptr %24518, align 4, !tbaa !5
  %24520 = call ptr @s2n_strerror_debug(i32 noundef %24519, ptr noundef @.str.4)
  %24521 = call ptr @__errno_location() #12
  %24522 = load i32, ptr %24521, align 4, !tbaa !5
  %24523 = call ptr @strerror(i32 noundef %24522) #11
  %24524 = call ptr @__errno_location() #12
  %24525 = load i32, ptr %24524, align 4, !tbaa !5
  %24526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24513, ptr noundef @.str.5, i32 noundef %24514, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 908, ptr noundef %24517, ptr noundef %24520, ptr noundef %24523, i32 noundef %24525) #11
  br label %24527

24527:                                            ; preds = %24510, %24493
  call void @llvm.lifetime.end.p0(i64 4, ptr %517) #11
  br label %24528

24528:                                            ; preds = %24527
  br label %24529

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

24530:                                            ; No predecessors!
  br label %24531

24531:                                            ; preds = %24530
  br label %24532

24532:                                            ; preds = %24531, %24474
  br label %24533

24533:                                            ; preds = %24532
  br label %24534

24534:                                            ; preds = %24533
  br label %24535

24535:                                            ; preds = %24534
  %24536 = load i32, ptr @test_count, align 4, !tbaa !5
  %24537 = add nsw i32 %24536, 1
  store i32 %24537, ptr @test_count, align 4, !tbaa !5
  %24538 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %516, i32 noundef 8092)
  %24539 = icmp eq i32 %24538, -1
  br i1 %24539, label %24540, label %24593

24540:                                            ; preds = %24535
  br label %24541

24541:                                            ; preds = %24540
  br label %24542

24542:                                            ; preds = %24541
  call void @llvm.lifetime.start.p0(i64 4, ptr %518) #11
  %24543 = call ptr @__errno_location() #12
  %24544 = load i32, ptr %24543, align 4, !tbaa !5
  store i32 %24544, ptr %518, align 4, !tbaa !5
  %24545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24546 = call i32 @s2n_print_stacktrace(ptr noundef %24545)
  %24547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24548 = trunc i8 %24547 to i1
  br i1 %24548, label %24549, label %24571

24549:                                            ; preds = %24542
  %24550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24551 = call i32 @fileno(ptr noundef %24550) #11
  %24552 = call i32 @isatty(i32 noundef %24551) #11
  %24553 = icmp ne i32 %24552, 0
  br i1 %24553, label %24554, label %24571

24554:                                            ; preds = %24549
  %24555 = load i32, ptr %518, align 4, !tbaa !5
  %24556 = call ptr @__errno_location() #12
  store i32 %24555, ptr %24556, align 4, !tbaa !5
  %24557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24558 = load i32, ptr @test_count, align 4, !tbaa !5
  %24559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24560 = load i32, ptr %24559, align 4, !tbaa !5
  %24561 = call ptr @s2n_strerror(i32 noundef %24560, ptr noundef @.str.4)
  %24562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24563 = load i32, ptr %24562, align 4, !tbaa !5
  %24564 = call ptr @s2n_strerror_debug(i32 noundef %24563, ptr noundef @.str.4)
  %24565 = call ptr @__errno_location() #12
  %24566 = load i32, ptr %24565, align 4, !tbaa !5
  %24567 = call ptr @strerror(i32 noundef %24566) #11
  %24568 = call ptr @__errno_location() #12
  %24569 = load i32, ptr %24568, align 4, !tbaa !5
  %24570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24557, ptr noundef @.str.2, i32 noundef %24558, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 909, ptr noundef %24561, ptr noundef %24564, ptr noundef %24567, i32 noundef %24569) #11
  br label %24588

24571:                                            ; preds = %24549, %24542
  %24572 = load i32, ptr %518, align 4, !tbaa !5
  %24573 = call ptr @__errno_location() #12
  store i32 %24572, ptr %24573, align 4, !tbaa !5
  %24574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24575 = load i32, ptr @test_count, align 4, !tbaa !5
  %24576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24577 = load i32, ptr %24576, align 4, !tbaa !5
  %24578 = call ptr @s2n_strerror(i32 noundef %24577, ptr noundef @.str.4)
  %24579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24580 = load i32, ptr %24579, align 4, !tbaa !5
  %24581 = call ptr @s2n_strerror_debug(i32 noundef %24580, ptr noundef @.str.4)
  %24582 = call ptr @__errno_location() #12
  %24583 = load i32, ptr %24582, align 4, !tbaa !5
  %24584 = call ptr @strerror(i32 noundef %24583) #11
  %24585 = call ptr @__errno_location() #12
  %24586 = load i32, ptr %24585, align 4, !tbaa !5
  %24587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24574, ptr noundef @.str.5, i32 noundef %24575, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 909, ptr noundef %24578, ptr noundef %24581, ptr noundef %24584, i32 noundef %24586) #11
  br label %24588

24588:                                            ; preds = %24571, %24554
  call void @llvm.lifetime.end.p0(i64 4, ptr %518) #11
  br label %24589

24589:                                            ; preds = %24588
  br label %24590

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

24591:                                            ; No predecessors!
  br label %24592

24592:                                            ; preds = %24591
  br label %24593

24593:                                            ; preds = %24592, %24535
  br label %24594

24594:                                            ; preds = %24593
  br label %24595

24595:                                            ; preds = %24594
  br label %24596

24596:                                            ; preds = %24595
  %24597 = load i32, ptr @test_count, align 4, !tbaa !5
  %24598 = add nsw i32 %24597, 1
  store i32 %24598, ptr @test_count, align 4, !tbaa !5
  %24599 = load ptr, ptr %509, align 8, !tbaa !9
  %24600 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %515, ptr noundef %516, ptr noundef %24599)
  %24601 = icmp eq i32 %24600, -1
  br i1 %24601, label %24602, label %24655

24602:                                            ; preds = %24596
  br label %24603

24603:                                            ; preds = %24602
  br label %24604

24604:                                            ; preds = %24603
  call void @llvm.lifetime.start.p0(i64 4, ptr %519) #11
  %24605 = call ptr @__errno_location() #12
  %24606 = load i32, ptr %24605, align 4, !tbaa !5
  store i32 %24606, ptr %519, align 4, !tbaa !5
  %24607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24608 = call i32 @s2n_print_stacktrace(ptr noundef %24607)
  %24609 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24610 = trunc i8 %24609 to i1
  br i1 %24610, label %24611, label %24633

24611:                                            ; preds = %24604
  %24612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24613 = call i32 @fileno(ptr noundef %24612) #11
  %24614 = call i32 @isatty(i32 noundef %24613) #11
  %24615 = icmp ne i32 %24614, 0
  br i1 %24615, label %24616, label %24633

24616:                                            ; preds = %24611
  %24617 = load i32, ptr %519, align 4, !tbaa !5
  %24618 = call ptr @__errno_location() #12
  store i32 %24617, ptr %24618, align 4, !tbaa !5
  %24619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24620 = load i32, ptr @test_count, align 4, !tbaa !5
  %24621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24622 = load i32, ptr %24621, align 4, !tbaa !5
  %24623 = call ptr @s2n_strerror(i32 noundef %24622, ptr noundef @.str.4)
  %24624 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24625 = load i32, ptr %24624, align 4, !tbaa !5
  %24626 = call ptr @s2n_strerror_debug(i32 noundef %24625, ptr noundef @.str.4)
  %24627 = call ptr @__errno_location() #12
  %24628 = load i32, ptr %24627, align 4, !tbaa !5
  %24629 = call ptr @strerror(i32 noundef %24628) #11
  %24630 = call ptr @__errno_location() #12
  %24631 = load i32, ptr %24630, align 4, !tbaa !5
  %24632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24619, ptr noundef @.str.2, i32 noundef %24620, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 910, ptr noundef %24623, ptr noundef %24626, ptr noundef %24629, i32 noundef %24631) #11
  br label %24650

24633:                                            ; preds = %24611, %24604
  %24634 = load i32, ptr %519, align 4, !tbaa !5
  %24635 = call ptr @__errno_location() #12
  store i32 %24634, ptr %24635, align 4, !tbaa !5
  %24636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24637 = load i32, ptr @test_count, align 4, !tbaa !5
  %24638 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24639 = load i32, ptr %24638, align 4, !tbaa !5
  %24640 = call ptr @s2n_strerror(i32 noundef %24639, ptr noundef @.str.4)
  %24641 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24642 = load i32, ptr %24641, align 4, !tbaa !5
  %24643 = call ptr @s2n_strerror_debug(i32 noundef %24642, ptr noundef @.str.4)
  %24644 = call ptr @__errno_location() #12
  %24645 = load i32, ptr %24644, align 4, !tbaa !5
  %24646 = call ptr @strerror(i32 noundef %24645) #11
  %24647 = call ptr @__errno_location() #12
  %24648 = load i32, ptr %24647, align 4, !tbaa !5
  %24649 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24636, ptr noundef @.str.5, i32 noundef %24637, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 910, ptr noundef %24640, ptr noundef %24643, ptr noundef %24646, i32 noundef %24648) #11
  br label %24650

24650:                                            ; preds = %24633, %24616
  call void @llvm.lifetime.end.p0(i64 4, ptr %519) #11
  br label %24651

24651:                                            ; preds = %24650
  br label %24652

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

24653:                                            ; No predecessors!
  br label %24654

24654:                                            ; preds = %24653
  br label %24655

24655:                                            ; preds = %24654, %24596
  br label %24656

24656:                                            ; preds = %24655
  br label %24657

24657:                                            ; preds = %24656
  br label %24658

24658:                                            ; preds = %24657
  %24659 = load i32, ptr @test_count, align 4, !tbaa !5
  %24660 = add nsw i32 %24659, 1
  store i32 %24660, ptr @test_count, align 4, !tbaa !5
  %24661 = call i32 @s2n_stuffer_write(ptr noundef %515, ptr noundef %501)
  %24662 = icmp eq i32 %24661, -1
  br i1 %24662, label %24663, label %24716

24663:                                            ; preds = %24658
  br label %24664

24664:                                            ; preds = %24663
  br label %24665

24665:                                            ; preds = %24664
  call void @llvm.lifetime.start.p0(i64 4, ptr %520) #11
  %24666 = call ptr @__errno_location() #12
  %24667 = load i32, ptr %24666, align 4, !tbaa !5
  store i32 %24667, ptr %520, align 4, !tbaa !5
  %24668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24669 = call i32 @s2n_print_stacktrace(ptr noundef %24668)
  %24670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24671 = trunc i8 %24670 to i1
  br i1 %24671, label %24672, label %24694

24672:                                            ; preds = %24665
  %24673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24674 = call i32 @fileno(ptr noundef %24673) #11
  %24675 = call i32 @isatty(i32 noundef %24674) #11
  %24676 = icmp ne i32 %24675, 0
  br i1 %24676, label %24677, label %24694

24677:                                            ; preds = %24672
  %24678 = load i32, ptr %520, align 4, !tbaa !5
  %24679 = call ptr @__errno_location() #12
  store i32 %24678, ptr %24679, align 4, !tbaa !5
  %24680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24681 = load i32, ptr @test_count, align 4, !tbaa !5
  %24682 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24683 = load i32, ptr %24682, align 4, !tbaa !5
  %24684 = call ptr @s2n_strerror(i32 noundef %24683, ptr noundef @.str.4)
  %24685 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24686 = load i32, ptr %24685, align 4, !tbaa !5
  %24687 = call ptr @s2n_strerror_debug(i32 noundef %24686, ptr noundef @.str.4)
  %24688 = call ptr @__errno_location() #12
  %24689 = load i32, ptr %24688, align 4, !tbaa !5
  %24690 = call ptr @strerror(i32 noundef %24689) #11
  %24691 = call ptr @__errno_location() #12
  %24692 = load i32, ptr %24691, align 4, !tbaa !5
  %24693 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24680, ptr noundef @.str.2, i32 noundef %24681, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 912, ptr noundef %24684, ptr noundef %24687, ptr noundef %24690, i32 noundef %24692) #11
  br label %24711

24694:                                            ; preds = %24672, %24665
  %24695 = load i32, ptr %520, align 4, !tbaa !5
  %24696 = call ptr @__errno_location() #12
  store i32 %24695, ptr %24696, align 4, !tbaa !5
  %24697 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24698 = load i32, ptr @test_count, align 4, !tbaa !5
  %24699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24700 = load i32, ptr %24699, align 4, !tbaa !5
  %24701 = call ptr @s2n_strerror(i32 noundef %24700, ptr noundef @.str.4)
  %24702 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24703 = load i32, ptr %24702, align 4, !tbaa !5
  %24704 = call ptr @s2n_strerror_debug(i32 noundef %24703, ptr noundef @.str.4)
  %24705 = call ptr @__errno_location() #12
  %24706 = load i32, ptr %24705, align 4, !tbaa !5
  %24707 = call ptr @strerror(i32 noundef %24706) #11
  %24708 = call ptr @__errno_location() #12
  %24709 = load i32, ptr %24708, align 4, !tbaa !5
  %24710 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24697, ptr noundef @.str.5, i32 noundef %24698, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 912, ptr noundef %24701, ptr noundef %24704, ptr noundef %24707, i32 noundef %24709) #11
  br label %24711

24711:                                            ; preds = %24694, %24677
  call void @llvm.lifetime.end.p0(i64 4, ptr %520) #11
  br label %24712

24712:                                            ; preds = %24711
  br label %24713

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

24714:                                            ; No predecessors!
  br label %24715

24715:                                            ; preds = %24714
  br label %24716

24716:                                            ; preds = %24715, %24658
  br label %24717

24717:                                            ; preds = %24716
  br label %24718

24718:                                            ; preds = %24717
  br label %24719

24719:                                            ; preds = %24718
  %24720 = load i32, ptr @test_count, align 4, !tbaa !5
  %24721 = add nsw i32 %24720, 1
  store i32 %24721, ptr @test_count, align 4, !tbaa !5
  %24722 = call i32 @s2n_stuffer_write(ptr noundef %515, ptr noundef %505)
  %24723 = icmp eq i32 %24722, -1
  br i1 %24723, label %24724, label %24777

24724:                                            ; preds = %24719
  br label %24725

24725:                                            ; preds = %24724
  br label %24726

24726:                                            ; preds = %24725
  call void @llvm.lifetime.start.p0(i64 4, ptr %521) #11
  %24727 = call ptr @__errno_location() #12
  %24728 = load i32, ptr %24727, align 4, !tbaa !5
  store i32 %24728, ptr %521, align 4, !tbaa !5
  %24729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24730 = call i32 @s2n_print_stacktrace(ptr noundef %24729)
  %24731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24732 = trunc i8 %24731 to i1
  br i1 %24732, label %24733, label %24755

24733:                                            ; preds = %24726
  %24734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24735 = call i32 @fileno(ptr noundef %24734) #11
  %24736 = call i32 @isatty(i32 noundef %24735) #11
  %24737 = icmp ne i32 %24736, 0
  br i1 %24737, label %24738, label %24755

24738:                                            ; preds = %24733
  %24739 = load i32, ptr %521, align 4, !tbaa !5
  %24740 = call ptr @__errno_location() #12
  store i32 %24739, ptr %24740, align 4, !tbaa !5
  %24741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24742 = load i32, ptr @test_count, align 4, !tbaa !5
  %24743 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24744 = load i32, ptr %24743, align 4, !tbaa !5
  %24745 = call ptr @s2n_strerror(i32 noundef %24744, ptr noundef @.str.4)
  %24746 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24747 = load i32, ptr %24746, align 4, !tbaa !5
  %24748 = call ptr @s2n_strerror_debug(i32 noundef %24747, ptr noundef @.str.4)
  %24749 = call ptr @__errno_location() #12
  %24750 = load i32, ptr %24749, align 4, !tbaa !5
  %24751 = call ptr @strerror(i32 noundef %24750) #11
  %24752 = call ptr @__errno_location() #12
  %24753 = load i32, ptr %24752, align 4, !tbaa !5
  %24754 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24741, ptr noundef @.str.2, i32 noundef %24742, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 913, ptr noundef %24745, ptr noundef %24748, ptr noundef %24751, i32 noundef %24753) #11
  br label %24772

24755:                                            ; preds = %24733, %24726
  %24756 = load i32, ptr %521, align 4, !tbaa !5
  %24757 = call ptr @__errno_location() #12
  store i32 %24756, ptr %24757, align 4, !tbaa !5
  %24758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24759 = load i32, ptr @test_count, align 4, !tbaa !5
  %24760 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24761 = load i32, ptr %24760, align 4, !tbaa !5
  %24762 = call ptr @s2n_strerror(i32 noundef %24761, ptr noundef @.str.4)
  %24763 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24764 = load i32, ptr %24763, align 4, !tbaa !5
  %24765 = call ptr @s2n_strerror_debug(i32 noundef %24764, ptr noundef @.str.4)
  %24766 = call ptr @__errno_location() #12
  %24767 = load i32, ptr %24766, align 4, !tbaa !5
  %24768 = call ptr @strerror(i32 noundef %24767) #11
  %24769 = call ptr @__errno_location() #12
  %24770 = load i32, ptr %24769, align 4, !tbaa !5
  %24771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24758, ptr noundef @.str.5, i32 noundef %24759, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 913, ptr noundef %24762, ptr noundef %24765, ptr noundef %24768, i32 noundef %24770) #11
  br label %24772

24772:                                            ; preds = %24755, %24738
  call void @llvm.lifetime.end.p0(i64 4, ptr %521) #11
  br label %24773

24773:                                            ; preds = %24772
  br label %24774

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

24775:                                            ; No predecessors!
  br label %24776

24776:                                            ; preds = %24775
  br label %24777

24777:                                            ; preds = %24776, %24719
  br label %24778

24778:                                            ; preds = %24777
  br label %24779

24779:                                            ; preds = %24778
  br label %24780

24780:                                            ; preds = %24779
  %24781 = load i32, ptr @test_count, align 4, !tbaa !5
  %24782 = add nsw i32 %24781, 1
  store i32 %24782, ptr @test_count, align 4, !tbaa !5
  %24783 = call i32 @s2n_stuffer_write(ptr noundef %515, ptr noundef %507)
  %24784 = icmp eq i32 %24783, -1
  br i1 %24784, label %24785, label %24838

24785:                                            ; preds = %24780
  br label %24786

24786:                                            ; preds = %24785
  br label %24787

24787:                                            ; preds = %24786
  call void @llvm.lifetime.start.p0(i64 4, ptr %522) #11
  %24788 = call ptr @__errno_location() #12
  %24789 = load i32, ptr %24788, align 4, !tbaa !5
  store i32 %24789, ptr %522, align 4, !tbaa !5
  %24790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24791 = call i32 @s2n_print_stacktrace(ptr noundef %24790)
  %24792 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24793 = trunc i8 %24792 to i1
  br i1 %24793, label %24794, label %24816

24794:                                            ; preds = %24787
  %24795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24796 = call i32 @fileno(ptr noundef %24795) #11
  %24797 = call i32 @isatty(i32 noundef %24796) #11
  %24798 = icmp ne i32 %24797, 0
  br i1 %24798, label %24799, label %24816

24799:                                            ; preds = %24794
  %24800 = load i32, ptr %522, align 4, !tbaa !5
  %24801 = call ptr @__errno_location() #12
  store i32 %24800, ptr %24801, align 4, !tbaa !5
  %24802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24803 = load i32, ptr @test_count, align 4, !tbaa !5
  %24804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24805 = load i32, ptr %24804, align 4, !tbaa !5
  %24806 = call ptr @s2n_strerror(i32 noundef %24805, ptr noundef @.str.4)
  %24807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24808 = load i32, ptr %24807, align 4, !tbaa !5
  %24809 = call ptr @s2n_strerror_debug(i32 noundef %24808, ptr noundef @.str.4)
  %24810 = call ptr @__errno_location() #12
  %24811 = load i32, ptr %24810, align 4, !tbaa !5
  %24812 = call ptr @strerror(i32 noundef %24811) #11
  %24813 = call ptr @__errno_location() #12
  %24814 = load i32, ptr %24813, align 4, !tbaa !5
  %24815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24802, ptr noundef @.str.2, i32 noundef %24803, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 914, ptr noundef %24806, ptr noundef %24809, ptr noundef %24812, i32 noundef %24814) #11
  br label %24833

24816:                                            ; preds = %24794, %24787
  %24817 = load i32, ptr %522, align 4, !tbaa !5
  %24818 = call ptr @__errno_location() #12
  store i32 %24817, ptr %24818, align 4, !tbaa !5
  %24819 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24820 = load i32, ptr @test_count, align 4, !tbaa !5
  %24821 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24822 = load i32, ptr %24821, align 4, !tbaa !5
  %24823 = call ptr @s2n_strerror(i32 noundef %24822, ptr noundef @.str.4)
  %24824 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24825 = load i32, ptr %24824, align 4, !tbaa !5
  %24826 = call ptr @s2n_strerror_debug(i32 noundef %24825, ptr noundef @.str.4)
  %24827 = call ptr @__errno_location() #12
  %24828 = load i32, ptr %24827, align 4, !tbaa !5
  %24829 = call ptr @strerror(i32 noundef %24828) #11
  %24830 = call ptr @__errno_location() #12
  %24831 = load i32, ptr %24830, align 4, !tbaa !5
  %24832 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24819, ptr noundef @.str.5, i32 noundef %24820, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 914, ptr noundef %24823, ptr noundef %24826, ptr noundef %24829, i32 noundef %24831) #11
  br label %24833

24833:                                            ; preds = %24816, %24799
  call void @llvm.lifetime.end.p0(i64 4, ptr %522) #11
  br label %24834

24834:                                            ; preds = %24833
  br label %24835

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

24836:                                            ; No predecessors!
  br label %24837

24837:                                            ; preds = %24836
  br label %24838

24838:                                            ; preds = %24837, %24780
  br label %24839

24839:                                            ; preds = %24838
  br label %24840

24840:                                            ; preds = %24839
  call void @llvm.lifetime.start.p0(i64 100, ptr %523) #11
  call void @llvm.memset.p0.i64(ptr align 16 %523, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %524) #11
  store i32 0, ptr %524, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %525) #11
  store i64 0, ptr %525, align 8, !tbaa !42
  br label %24841

24841:                                            ; preds = %24840
  %24842 = load i32, ptr @test_count, align 4, !tbaa !5
  %24843 = add nsw i32 %24842, 1
  store i32 %24843, ptr @test_count, align 4, !tbaa !5
  %24844 = load ptr, ptr %509, align 8, !tbaa !9
  %24845 = getelementptr inbounds [100 x i8], ptr %523, i64 0, i64 0
  %24846 = call i32 @s2n_recv_early_data(ptr noundef %24844, ptr noundef %24845, i64 noundef 100, ptr noundef %525, ptr noundef %524)
  %24847 = icmp eq i32 %24846, -1
  br i1 %24847, label %24848, label %24901

24848:                                            ; preds = %24841
  br label %24849

24849:                                            ; preds = %24848
  br label %24850

24850:                                            ; preds = %24849
  call void @llvm.lifetime.start.p0(i64 4, ptr %526) #11
  %24851 = call ptr @__errno_location() #12
  %24852 = load i32, ptr %24851, align 4, !tbaa !5
  store i32 %24852, ptr %526, align 4, !tbaa !5
  %24853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24854 = call i32 @s2n_print_stacktrace(ptr noundef %24853)
  %24855 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24856 = trunc i8 %24855 to i1
  br i1 %24856, label %24857, label %24879

24857:                                            ; preds = %24850
  %24858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24859 = call i32 @fileno(ptr noundef %24858) #11
  %24860 = call i32 @isatty(i32 noundef %24859) #11
  %24861 = icmp ne i32 %24860, 0
  br i1 %24861, label %24862, label %24879

24862:                                            ; preds = %24857
  %24863 = load i32, ptr %526, align 4, !tbaa !5
  %24864 = call ptr @__errno_location() #12
  store i32 %24863, ptr %24864, align 4, !tbaa !5
  %24865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24866 = load i32, ptr @test_count, align 4, !tbaa !5
  %24867 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24868 = load i32, ptr %24867, align 4, !tbaa !5
  %24869 = call ptr @s2n_strerror(i32 noundef %24868, ptr noundef @.str.4)
  %24870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24871 = load i32, ptr %24870, align 4, !tbaa !5
  %24872 = call ptr @s2n_strerror_debug(i32 noundef %24871, ptr noundef @.str.4)
  %24873 = call ptr @__errno_location() #12
  %24874 = load i32, ptr %24873, align 4, !tbaa !5
  %24875 = call ptr @strerror(i32 noundef %24874) #11
  %24876 = call ptr @__errno_location() #12
  %24877 = load i32, ptr %24876, align 4, !tbaa !5
  %24878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24865, ptr noundef @.str.2, i32 noundef %24866, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 921, ptr noundef %24869, ptr noundef %24872, ptr noundef %24875, i32 noundef %24877) #11
  br label %24896

24879:                                            ; preds = %24857, %24850
  %24880 = load i32, ptr %526, align 4, !tbaa !5
  %24881 = call ptr @__errno_location() #12
  store i32 %24880, ptr %24881, align 4, !tbaa !5
  %24882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24883 = load i32, ptr @test_count, align 4, !tbaa !5
  %24884 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24885 = load i32, ptr %24884, align 4, !tbaa !5
  %24886 = call ptr @s2n_strerror(i32 noundef %24885, ptr noundef @.str.4)
  %24887 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24888 = load i32, ptr %24887, align 4, !tbaa !5
  %24889 = call ptr @s2n_strerror_debug(i32 noundef %24888, ptr noundef @.str.4)
  %24890 = call ptr @__errno_location() #12
  %24891 = load i32, ptr %24890, align 4, !tbaa !5
  %24892 = call ptr @strerror(i32 noundef %24891) #11
  %24893 = call ptr @__errno_location() #12
  %24894 = load i32, ptr %24893, align 4, !tbaa !5
  %24895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24882, ptr noundef @.str.5, i32 noundef %24883, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 921, ptr noundef %24886, ptr noundef %24889, ptr noundef %24892, i32 noundef %24894) #11
  br label %24896

24896:                                            ; preds = %24879, %24862
  call void @llvm.lifetime.end.p0(i64 4, ptr %526) #11
  br label %24897

24897:                                            ; preds = %24896
  br label %24898

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

24899:                                            ; No predecessors!
  br label %24900

24900:                                            ; preds = %24899
  br label %24901

24901:                                            ; preds = %24900, %24841
  br label %24902

24902:                                            ; preds = %24901
  br label %24903

24903:                                            ; preds = %24902
  br label %24904

24904:                                            ; preds = %24903
  %24905 = load i32, ptr @test_count, align 4, !tbaa !5
  %24906 = add nsw i32 %24905, 1
  store i32 %24906, ptr @test_count, align 4, !tbaa !5
  %24907 = load i32, ptr %524, align 4, !tbaa !5
  %24908 = icmp eq i32 %24907, 0
  br i1 %24908, label %24962, label %24909

24909:                                            ; preds = %24904
  br label %24910

24910:                                            ; preds = %24909
  br label %24911

24911:                                            ; preds = %24910
  call void @llvm.lifetime.start.p0(i64 4, ptr %527) #11
  %24912 = call ptr @__errno_location() #12
  %24913 = load i32, ptr %24912, align 4, !tbaa !5
  store i32 %24913, ptr %527, align 4, !tbaa !5
  %24914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24915 = call i32 @s2n_print_stacktrace(ptr noundef %24914)
  %24916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24917 = trunc i8 %24916 to i1
  br i1 %24917, label %24918, label %24940

24918:                                            ; preds = %24911
  %24919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24920 = call i32 @fileno(ptr noundef %24919) #11
  %24921 = call i32 @isatty(i32 noundef %24920) #11
  %24922 = icmp ne i32 %24921, 0
  br i1 %24922, label %24923, label %24940

24923:                                            ; preds = %24918
  %24924 = load i32, ptr %527, align 4, !tbaa !5
  %24925 = call ptr @__errno_location() #12
  store i32 %24924, ptr %24925, align 4, !tbaa !5
  %24926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24927 = load i32, ptr @test_count, align 4, !tbaa !5
  %24928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24929 = load i32, ptr %24928, align 4, !tbaa !5
  %24930 = call ptr @s2n_strerror(i32 noundef %24929, ptr noundef @.str.4)
  %24931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24932 = load i32, ptr %24931, align 4, !tbaa !5
  %24933 = call ptr @s2n_strerror_debug(i32 noundef %24932, ptr noundef @.str.4)
  %24934 = call ptr @__errno_location() #12
  %24935 = load i32, ptr %24934, align 4, !tbaa !5
  %24936 = call ptr @strerror(i32 noundef %24935) #11
  %24937 = call ptr @__errno_location() #12
  %24938 = load i32, ptr %24937, align 4, !tbaa !5
  %24939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24926, ptr noundef @.str.2, i32 noundef %24927, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 922, ptr noundef %24930, ptr noundef %24933, ptr noundef %24936, i32 noundef %24938) #11
  br label %24957

24940:                                            ; preds = %24918, %24911
  %24941 = load i32, ptr %527, align 4, !tbaa !5
  %24942 = call ptr @__errno_location() #12
  store i32 %24941, ptr %24942, align 4, !tbaa !5
  %24943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24944 = load i32, ptr @test_count, align 4, !tbaa !5
  %24945 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24946 = load i32, ptr %24945, align 4, !tbaa !5
  %24947 = call ptr @s2n_strerror(i32 noundef %24946, ptr noundef @.str.4)
  %24948 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24949 = load i32, ptr %24948, align 4, !tbaa !5
  %24950 = call ptr @s2n_strerror_debug(i32 noundef %24949, ptr noundef @.str.4)
  %24951 = call ptr @__errno_location() #12
  %24952 = load i32, ptr %24951, align 4, !tbaa !5
  %24953 = call ptr @strerror(i32 noundef %24952) #11
  %24954 = call ptr @__errno_location() #12
  %24955 = load i32, ptr %24954, align 4, !tbaa !5
  %24956 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24943, ptr noundef @.str.5, i32 noundef %24944, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 922, ptr noundef %24947, ptr noundef %24950, ptr noundef %24953, i32 noundef %24955) #11
  br label %24957

24957:                                            ; preds = %24940, %24923
  call void @llvm.lifetime.end.p0(i64 4, ptr %527) #11
  br label %24958

24958:                                            ; preds = %24957
  br label %24959

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

24960:                                            ; No predecessors!
  br label %24961

24961:                                            ; preds = %24960
  br label %24962

24962:                                            ; preds = %24961, %24904
  br label %24963

24963:                                            ; preds = %24962
  br label %24964

24964:                                            ; preds = %24963
  br label %24965

24965:                                            ; preds = %24964
  %24966 = load i32, ptr @test_count, align 4, !tbaa !5
  %24967 = add nsw i32 %24966, 1
  store i32 %24967, ptr @test_count, align 4, !tbaa !5
  %24968 = load ptr, ptr %509, align 8, !tbaa !9
  %24969 = call i32 @s2n_conn_get_current_message_type(ptr noundef %24968)
  %24970 = icmp eq i32 %24969, 13
  br i1 %24970, label %25024, label %24971

24971:                                            ; preds = %24965
  br label %24972

24972:                                            ; preds = %24971
  br label %24973

24973:                                            ; preds = %24972
  call void @llvm.lifetime.start.p0(i64 4, ptr %528) #11
  %24974 = call ptr @__errno_location() #12
  %24975 = load i32, ptr %24974, align 4, !tbaa !5
  store i32 %24975, ptr %528, align 4, !tbaa !5
  %24976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24977 = call i32 @s2n_print_stacktrace(ptr noundef %24976)
  %24978 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %24979 = trunc i8 %24978 to i1
  br i1 %24979, label %24980, label %25002

24980:                                            ; preds = %24973
  %24981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24982 = call i32 @fileno(ptr noundef %24981) #11
  %24983 = call i32 @isatty(i32 noundef %24982) #11
  %24984 = icmp ne i32 %24983, 0
  br i1 %24984, label %24985, label %25002

24985:                                            ; preds = %24980
  %24986 = load i32, ptr %528, align 4, !tbaa !5
  %24987 = call ptr @__errno_location() #12
  store i32 %24986, ptr %24987, align 4, !tbaa !5
  %24988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %24989 = load i32, ptr @test_count, align 4, !tbaa !5
  %24990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24991 = load i32, ptr %24990, align 4, !tbaa !5
  %24992 = call ptr @s2n_strerror(i32 noundef %24991, ptr noundef @.str.4)
  %24993 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %24994 = load i32, ptr %24993, align 4, !tbaa !5
  %24995 = call ptr @s2n_strerror_debug(i32 noundef %24994, ptr noundef @.str.4)
  %24996 = call ptr @__errno_location() #12
  %24997 = load i32, ptr %24996, align 4, !tbaa !5
  %24998 = call ptr @strerror(i32 noundef %24997) #11
  %24999 = call ptr @__errno_location() #12
  %25000 = load i32, ptr %24999, align 4, !tbaa !5
  %25001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %24988, ptr noundef @.str.2, i32 noundef %24989, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 922, ptr noundef %24992, ptr noundef %24995, ptr noundef %24998, i32 noundef %25000) #11
  br label %25019

25002:                                            ; preds = %24980, %24973
  %25003 = load i32, ptr %528, align 4, !tbaa !5
  %25004 = call ptr @__errno_location() #12
  store i32 %25003, ptr %25004, align 4, !tbaa !5
  %25005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25006 = load i32, ptr @test_count, align 4, !tbaa !5
  %25007 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25008 = load i32, ptr %25007, align 4, !tbaa !5
  %25009 = call ptr @s2n_strerror(i32 noundef %25008, ptr noundef @.str.4)
  %25010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25011 = load i32, ptr %25010, align 4, !tbaa !5
  %25012 = call ptr @s2n_strerror_debug(i32 noundef %25011, ptr noundef @.str.4)
  %25013 = call ptr @__errno_location() #12
  %25014 = load i32, ptr %25013, align 4, !tbaa !5
  %25015 = call ptr @strerror(i32 noundef %25014) #11
  %25016 = call ptr @__errno_location() #12
  %25017 = load i32, ptr %25016, align 4, !tbaa !5
  %25018 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25005, ptr noundef @.str.5, i32 noundef %25006, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 922, ptr noundef %25009, ptr noundef %25012, ptr noundef %25015, i32 noundef %25017) #11
  br label %25019

25019:                                            ; preds = %25002, %24985
  call void @llvm.lifetime.end.p0(i64 4, ptr %528) #11
  br label %25020

25020:                                            ; preds = %25019
  br label %25021

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

25022:                                            ; No predecessors!
  br label %25023

25023:                                            ; preds = %25022
  br label %25024

25024:                                            ; preds = %25023, %24965
  br label %25025

25025:                                            ; preds = %25024
  br label %25026

25026:                                            ; preds = %25025
  br label %25027

25027:                                            ; preds = %25026
  %25028 = load i32, ptr @test_count, align 4, !tbaa !5
  %25029 = add nsw i32 %25028, 1
  store i32 %25029, ptr @test_count, align 4, !tbaa !5
  %25030 = load i64, ptr %525, align 8, !tbaa !42
  %25031 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 1
  %25032 = load i32, ptr %25031, align 8, !tbaa !55
  %25033 = zext i32 %25032 to i64
  %25034 = icmp eq i64 %25030, %25033
  br i1 %25034, label %25088, label %25035

25035:                                            ; preds = %25027
  br label %25036

25036:                                            ; preds = %25035
  br label %25037

25037:                                            ; preds = %25036
  call void @llvm.lifetime.start.p0(i64 4, ptr %529) #11
  %25038 = call ptr @__errno_location() #12
  %25039 = load i32, ptr %25038, align 4, !tbaa !5
  store i32 %25039, ptr %529, align 4, !tbaa !5
  %25040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25041 = call i32 @s2n_print_stacktrace(ptr noundef %25040)
  %25042 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25043 = trunc i8 %25042 to i1
  br i1 %25043, label %25044, label %25066

25044:                                            ; preds = %25037
  %25045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25046 = call i32 @fileno(ptr noundef %25045) #11
  %25047 = call i32 @isatty(i32 noundef %25046) #11
  %25048 = icmp ne i32 %25047, 0
  br i1 %25048, label %25049, label %25066

25049:                                            ; preds = %25044
  %25050 = load i32, ptr %529, align 4, !tbaa !5
  %25051 = call ptr @__errno_location() #12
  store i32 %25050, ptr %25051, align 4, !tbaa !5
  %25052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25053 = load i32, ptr @test_count, align 4, !tbaa !5
  %25054 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25055 = load i32, ptr %25054, align 4, !tbaa !5
  %25056 = call ptr @s2n_strerror(i32 noundef %25055, ptr noundef @.str.4)
  %25057 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25058 = load i32, ptr %25057, align 4, !tbaa !5
  %25059 = call ptr @s2n_strerror_debug(i32 noundef %25058, ptr noundef @.str.4)
  %25060 = call ptr @__errno_location() #12
  %25061 = load i32, ptr %25060, align 4, !tbaa !5
  %25062 = call ptr @strerror(i32 noundef %25061) #11
  %25063 = call ptr @__errno_location() #12
  %25064 = load i32, ptr %25063, align 4, !tbaa !5
  %25065 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25052, ptr noundef @.str.2, i32 noundef %25053, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 923, ptr noundef %25056, ptr noundef %25059, ptr noundef %25062, i32 noundef %25064) #11
  br label %25083

25066:                                            ; preds = %25044, %25037
  %25067 = load i32, ptr %529, align 4, !tbaa !5
  %25068 = call ptr @__errno_location() #12
  store i32 %25067, ptr %25068, align 4, !tbaa !5
  %25069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25070 = load i32, ptr @test_count, align 4, !tbaa !5
  %25071 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25072 = load i32, ptr %25071, align 4, !tbaa !5
  %25073 = call ptr @s2n_strerror(i32 noundef %25072, ptr noundef @.str.4)
  %25074 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25075 = load i32, ptr %25074, align 4, !tbaa !5
  %25076 = call ptr @s2n_strerror_debug(i32 noundef %25075, ptr noundef @.str.4)
  %25077 = call ptr @__errno_location() #12
  %25078 = load i32, ptr %25077, align 4, !tbaa !5
  %25079 = call ptr @strerror(i32 noundef %25078) #11
  %25080 = call ptr @__errno_location() #12
  %25081 = load i32, ptr %25080, align 4, !tbaa !5
  %25082 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25069, ptr noundef @.str.5, i32 noundef %25070, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 923, ptr noundef %25073, ptr noundef %25076, ptr noundef %25079, i32 noundef %25081) #11
  br label %25083

25083:                                            ; preds = %25066, %25049
  call void @llvm.lifetime.end.p0(i64 4, ptr %529) #11
  br label %25084

25084:                                            ; preds = %25083
  br label %25085

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

25086:                                            ; No predecessors!
  br label %25087

25087:                                            ; preds = %25086
  br label %25088

25088:                                            ; preds = %25087, %25027
  br label %25089

25089:                                            ; preds = %25088
  br label %25090

25090:                                            ; preds = %25089
  br label %25091

25091:                                            ; preds = %25090
  %25092 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 1
  %25093 = load i32, ptr %25092, align 8, !tbaa !55
  %25094 = icmp ne i32 %25093, 0
  br i1 %25094, label %25095, label %25163

25095:                                            ; preds = %25091
  br label %25096

25096:                                            ; preds = %25095
  %25097 = load i32, ptr @test_count, align 4, !tbaa !5
  %25098 = add nsw i32 %25097, 1
  store i32 %25098, ptr @test_count, align 4, !tbaa !5
  %25099 = getelementptr inbounds [100 x i8], ptr %523, i64 0, i64 0
  %25100 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 0
  %25101 = load ptr, ptr %25100, align 8, !tbaa !54
  %25102 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 1
  %25103 = load i32, ptr %25102, align 8, !tbaa !55
  %25104 = zext i32 %25103 to i64
  %25105 = call i32 @memcmp(ptr noundef %25099, ptr noundef %25101, i64 noundef %25104) #14
  %25106 = icmp eq i32 %25105, 0
  br i1 %25106, label %25160, label %25107

25107:                                            ; preds = %25096
  br label %25108

25108:                                            ; preds = %25107
  br label %25109

25109:                                            ; preds = %25108
  call void @llvm.lifetime.start.p0(i64 4, ptr %530) #11
  %25110 = call ptr @__errno_location() #12
  %25111 = load i32, ptr %25110, align 4, !tbaa !5
  store i32 %25111, ptr %530, align 4, !tbaa !5
  %25112 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25113 = call i32 @s2n_print_stacktrace(ptr noundef %25112)
  %25114 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25115 = trunc i8 %25114 to i1
  br i1 %25115, label %25116, label %25138

25116:                                            ; preds = %25109
  %25117 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25118 = call i32 @fileno(ptr noundef %25117) #11
  %25119 = call i32 @isatty(i32 noundef %25118) #11
  %25120 = icmp ne i32 %25119, 0
  br i1 %25120, label %25121, label %25138

25121:                                            ; preds = %25116
  %25122 = load i32, ptr %530, align 4, !tbaa !5
  %25123 = call ptr @__errno_location() #12
  store i32 %25122, ptr %25123, align 4, !tbaa !5
  %25124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25125 = load i32, ptr @test_count, align 4, !tbaa !5
  %25126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25127 = load i32, ptr %25126, align 4, !tbaa !5
  %25128 = call ptr @s2n_strerror(i32 noundef %25127, ptr noundef @.str.4)
  %25129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25130 = load i32, ptr %25129, align 4, !tbaa !5
  %25131 = call ptr @s2n_strerror_debug(i32 noundef %25130, ptr noundef @.str.4)
  %25132 = call ptr @__errno_location() #12
  %25133 = load i32, ptr %25132, align 4, !tbaa !5
  %25134 = call ptr @strerror(i32 noundef %25133) #11
  %25135 = call ptr @__errno_location() #12
  %25136 = load i32, ptr %25135, align 4, !tbaa !5
  %25137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25124, ptr noundef @.str.2, i32 noundef %25125, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 924, ptr noundef %25128, ptr noundef %25131, ptr noundef %25134, i32 noundef %25136) #11
  br label %25155

25138:                                            ; preds = %25116, %25109
  %25139 = load i32, ptr %530, align 4, !tbaa !5
  %25140 = call ptr @__errno_location() #12
  store i32 %25139, ptr %25140, align 4, !tbaa !5
  %25141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25142 = load i32, ptr @test_count, align 4, !tbaa !5
  %25143 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25144 = load i32, ptr %25143, align 4, !tbaa !5
  %25145 = call ptr @s2n_strerror(i32 noundef %25144, ptr noundef @.str.4)
  %25146 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25147 = load i32, ptr %25146, align 4, !tbaa !5
  %25148 = call ptr @s2n_strerror_debug(i32 noundef %25147, ptr noundef @.str.4)
  %25149 = call ptr @__errno_location() #12
  %25150 = load i32, ptr %25149, align 4, !tbaa !5
  %25151 = call ptr @strerror(i32 noundef %25150) #11
  %25152 = call ptr @__errno_location() #12
  %25153 = load i32, ptr %25152, align 4, !tbaa !5
  %25154 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25141, ptr noundef @.str.5, i32 noundef %25142, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 924, ptr noundef %25145, ptr noundef %25148, ptr noundef %25151, i32 noundef %25153) #11
  br label %25155

25155:                                            ; preds = %25138, %25121
  call void @llvm.lifetime.end.p0(i64 4, ptr %530) #11
  br label %25156

25156:                                            ; preds = %25155
  br label %25157

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

25158:                                            ; No predecessors!
  br label %25159

25159:                                            ; preds = %25158
  br label %25160

25160:                                            ; preds = %25159, %25096
  br label %25161

25161:                                            ; preds = %25160
  br label %25162

25162:                                            ; preds = %25161
  br label %25163

25163:                                            ; preds = %25162, %25091
  br label %25164

25164:                                            ; preds = %25163
  br label %25165

25165:                                            ; preds = %25164
  br label %25166

25166:                                            ; preds = %25165
  %25167 = load i32, ptr @test_count, align 4, !tbaa !5
  %25168 = add nsw i32 %25167, 1
  store i32 %25168, ptr @test_count, align 4, !tbaa !5
  %25169 = load ptr, ptr %509, align 8, !tbaa !9
  %25170 = getelementptr inbounds %struct.s2n_connection, ptr %25169, i32 0, i32 89
  %25171 = load i32, ptr %25170, align 8, !tbaa !57
  %25172 = icmp eq i32 %25171, 5
  br i1 %25172, label %25226, label %25173

25173:                                            ; preds = %25166
  br label %25174

25174:                                            ; preds = %25173
  br label %25175

25175:                                            ; preds = %25174
  call void @llvm.lifetime.start.p0(i64 4, ptr %531) #11
  %25176 = call ptr @__errno_location() #12
  %25177 = load i32, ptr %25176, align 4, !tbaa !5
  store i32 %25177, ptr %531, align 4, !tbaa !5
  %25178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25179 = call i32 @s2n_print_stacktrace(ptr noundef %25178)
  %25180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25181 = trunc i8 %25180 to i1
  br i1 %25181, label %25182, label %25204

25182:                                            ; preds = %25175
  %25183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25184 = call i32 @fileno(ptr noundef %25183) #11
  %25185 = call i32 @isatty(i32 noundef %25184) #11
  %25186 = icmp ne i32 %25185, 0
  br i1 %25186, label %25187, label %25204

25187:                                            ; preds = %25182
  %25188 = load i32, ptr %531, align 4, !tbaa !5
  %25189 = call ptr @__errno_location() #12
  store i32 %25188, ptr %25189, align 4, !tbaa !5
  %25190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25191 = load i32, ptr @test_count, align 4, !tbaa !5
  %25192 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25193 = load i32, ptr %25192, align 4, !tbaa !5
  %25194 = call ptr @s2n_strerror(i32 noundef %25193, ptr noundef @.str.4)
  %25195 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25196 = load i32, ptr %25195, align 4, !tbaa !5
  %25197 = call ptr @s2n_strerror_debug(i32 noundef %25196, ptr noundef @.str.4)
  %25198 = call ptr @__errno_location() #12
  %25199 = load i32, ptr %25198, align 4, !tbaa !5
  %25200 = call ptr @strerror(i32 noundef %25199) #11
  %25201 = call ptr @__errno_location() #12
  %25202 = load i32, ptr %25201, align 4, !tbaa !5
  %25203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25190, ptr noundef @.str.2, i32 noundef %25191, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 925, ptr noundef %25194, ptr noundef %25197, ptr noundef %25200, i32 noundef %25202) #11
  br label %25221

25204:                                            ; preds = %25182, %25175
  %25205 = load i32, ptr %531, align 4, !tbaa !5
  %25206 = call ptr @__errno_location() #12
  store i32 %25205, ptr %25206, align 4, !tbaa !5
  %25207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25208 = load i32, ptr @test_count, align 4, !tbaa !5
  %25209 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25210 = load i32, ptr %25209, align 4, !tbaa !5
  %25211 = call ptr @s2n_strerror(i32 noundef %25210, ptr noundef @.str.4)
  %25212 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25213 = load i32, ptr %25212, align 4, !tbaa !5
  %25214 = call ptr @s2n_strerror_debug(i32 noundef %25213, ptr noundef @.str.4)
  %25215 = call ptr @__errno_location() #12
  %25216 = load i32, ptr %25215, align 4, !tbaa !5
  %25217 = call ptr @strerror(i32 noundef %25216) #11
  %25218 = call ptr @__errno_location() #12
  %25219 = load i32, ptr %25218, align 4, !tbaa !5
  %25220 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25207, ptr noundef @.str.5, i32 noundef %25208, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 925, ptr noundef %25211, ptr noundef %25214, ptr noundef %25217, i32 noundef %25219) #11
  br label %25221

25221:                                            ; preds = %25204, %25187
  call void @llvm.lifetime.end.p0(i64 4, ptr %531) #11
  br label %25222

25222:                                            ; preds = %25221
  br label %25223

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

25224:                                            ; No predecessors!
  br label %25225

25225:                                            ; preds = %25224
  br label %25226

25226:                                            ; preds = %25225, %25166
  br label %25227

25227:                                            ; preds = %25226
  br label %25228

25228:                                            ; preds = %25227
  br label %25229

25229:                                            ; preds = %25228
  %25230 = load i32, ptr @test_count, align 4, !tbaa !5
  %25231 = add nsw i32 %25230, 1
  store i32 %25231, ptr @test_count, align 4, !tbaa !5
  %25232 = call i32 @s2n_stuffer_free(ptr noundef %515)
  %25233 = icmp eq i32 %25232, -1
  br i1 %25233, label %25234, label %25287

25234:                                            ; preds = %25229
  br label %25235

25235:                                            ; preds = %25234
  br label %25236

25236:                                            ; preds = %25235
  call void @llvm.lifetime.start.p0(i64 4, ptr %532) #11
  %25237 = call ptr @__errno_location() #12
  %25238 = load i32, ptr %25237, align 4, !tbaa !5
  store i32 %25238, ptr %532, align 4, !tbaa !5
  %25239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25240 = call i32 @s2n_print_stacktrace(ptr noundef %25239)
  %25241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25242 = trunc i8 %25241 to i1
  br i1 %25242, label %25243, label %25265

25243:                                            ; preds = %25236
  %25244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25245 = call i32 @fileno(ptr noundef %25244) #11
  %25246 = call i32 @isatty(i32 noundef %25245) #11
  %25247 = icmp ne i32 %25246, 0
  br i1 %25247, label %25248, label %25265

25248:                                            ; preds = %25243
  %25249 = load i32, ptr %532, align 4, !tbaa !5
  %25250 = call ptr @__errno_location() #12
  store i32 %25249, ptr %25250, align 4, !tbaa !5
  %25251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25252 = load i32, ptr @test_count, align 4, !tbaa !5
  %25253 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25254 = load i32, ptr %25253, align 4, !tbaa !5
  %25255 = call ptr @s2n_strerror(i32 noundef %25254, ptr noundef @.str.4)
  %25256 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25257 = load i32, ptr %25256, align 4, !tbaa !5
  %25258 = call ptr @s2n_strerror_debug(i32 noundef %25257, ptr noundef @.str.4)
  %25259 = call ptr @__errno_location() #12
  %25260 = load i32, ptr %25259, align 4, !tbaa !5
  %25261 = call ptr @strerror(i32 noundef %25260) #11
  %25262 = call ptr @__errno_location() #12
  %25263 = load i32, ptr %25262, align 4, !tbaa !5
  %25264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25251, ptr noundef @.str.2, i32 noundef %25252, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 927, ptr noundef %25255, ptr noundef %25258, ptr noundef %25261, i32 noundef %25263) #11
  br label %25282

25265:                                            ; preds = %25243, %25236
  %25266 = load i32, ptr %532, align 4, !tbaa !5
  %25267 = call ptr @__errno_location() #12
  store i32 %25266, ptr %25267, align 4, !tbaa !5
  %25268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25269 = load i32, ptr @test_count, align 4, !tbaa !5
  %25270 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25271 = load i32, ptr %25270, align 4, !tbaa !5
  %25272 = call ptr @s2n_strerror(i32 noundef %25271, ptr noundef @.str.4)
  %25273 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25274 = load i32, ptr %25273, align 4, !tbaa !5
  %25275 = call ptr @s2n_strerror_debug(i32 noundef %25274, ptr noundef @.str.4)
  %25276 = call ptr @__errno_location() #12
  %25277 = load i32, ptr %25276, align 4, !tbaa !5
  %25278 = call ptr @strerror(i32 noundef %25277) #11
  %25279 = call ptr @__errno_location() #12
  %25280 = load i32, ptr %25279, align 4, !tbaa !5
  %25281 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25268, ptr noundef @.str.5, i32 noundef %25269, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 927, ptr noundef %25272, ptr noundef %25275, ptr noundef %25278, i32 noundef %25280) #11
  br label %25282

25282:                                            ; preds = %25265, %25248
  call void @llvm.lifetime.end.p0(i64 4, ptr %532) #11
  br label %25283

25283:                                            ; preds = %25282
  br label %25284

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

25285:                                            ; No predecessors!
  br label %25286

25286:                                            ; preds = %25285
  br label %25287

25287:                                            ; preds = %25286, %25229
  br label %25288

25288:                                            ; preds = %25287
  br label %25289

25289:                                            ; preds = %25288
  br label %25290

25290:                                            ; preds = %25289
  %25291 = load i32, ptr @test_count, align 4, !tbaa !5
  %25292 = add nsw i32 %25291, 1
  store i32 %25292, ptr @test_count, align 4, !tbaa !5
  %25293 = call i32 @s2n_stuffer_free(ptr noundef %516)
  %25294 = icmp eq i32 %25293, -1
  br i1 %25294, label %25295, label %25348

25295:                                            ; preds = %25290
  br label %25296

25296:                                            ; preds = %25295
  br label %25297

25297:                                            ; preds = %25296
  call void @llvm.lifetime.start.p0(i64 4, ptr %533) #11
  %25298 = call ptr @__errno_location() #12
  %25299 = load i32, ptr %25298, align 4, !tbaa !5
  store i32 %25299, ptr %533, align 4, !tbaa !5
  %25300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25301 = call i32 @s2n_print_stacktrace(ptr noundef %25300)
  %25302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25303 = trunc i8 %25302 to i1
  br i1 %25303, label %25304, label %25326

25304:                                            ; preds = %25297
  %25305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25306 = call i32 @fileno(ptr noundef %25305) #11
  %25307 = call i32 @isatty(i32 noundef %25306) #11
  %25308 = icmp ne i32 %25307, 0
  br i1 %25308, label %25309, label %25326

25309:                                            ; preds = %25304
  %25310 = load i32, ptr %533, align 4, !tbaa !5
  %25311 = call ptr @__errno_location() #12
  store i32 %25310, ptr %25311, align 4, !tbaa !5
  %25312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25313 = load i32, ptr @test_count, align 4, !tbaa !5
  %25314 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25315 = load i32, ptr %25314, align 4, !tbaa !5
  %25316 = call ptr @s2n_strerror(i32 noundef %25315, ptr noundef @.str.4)
  %25317 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25318 = load i32, ptr %25317, align 4, !tbaa !5
  %25319 = call ptr @s2n_strerror_debug(i32 noundef %25318, ptr noundef @.str.4)
  %25320 = call ptr @__errno_location() #12
  %25321 = load i32, ptr %25320, align 4, !tbaa !5
  %25322 = call ptr @strerror(i32 noundef %25321) #11
  %25323 = call ptr @__errno_location() #12
  %25324 = load i32, ptr %25323, align 4, !tbaa !5
  %25325 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25312, ptr noundef @.str.2, i32 noundef %25313, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 928, ptr noundef %25316, ptr noundef %25319, ptr noundef %25322, i32 noundef %25324) #11
  br label %25343

25326:                                            ; preds = %25304, %25297
  %25327 = load i32, ptr %533, align 4, !tbaa !5
  %25328 = call ptr @__errno_location() #12
  store i32 %25327, ptr %25328, align 4, !tbaa !5
  %25329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25330 = load i32, ptr @test_count, align 4, !tbaa !5
  %25331 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25332 = load i32, ptr %25331, align 4, !tbaa !5
  %25333 = call ptr @s2n_strerror(i32 noundef %25332, ptr noundef @.str.4)
  %25334 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25335 = load i32, ptr %25334, align 4, !tbaa !5
  %25336 = call ptr @s2n_strerror_debug(i32 noundef %25335, ptr noundef @.str.4)
  %25337 = call ptr @__errno_location() #12
  %25338 = load i32, ptr %25337, align 4, !tbaa !5
  %25339 = call ptr @strerror(i32 noundef %25338) #11
  %25340 = call ptr @__errno_location() #12
  %25341 = load i32, ptr %25340, align 4, !tbaa !5
  %25342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25329, ptr noundef @.str.5, i32 noundef %25330, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 928, ptr noundef %25333, ptr noundef %25336, ptr noundef %25339, i32 noundef %25341) #11
  br label %25343

25343:                                            ; preds = %25326, %25309
  call void @llvm.lifetime.end.p0(i64 4, ptr %533) #11
  br label %25344

25344:                                            ; preds = %25343
  br label %25345

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

25346:                                            ; No predecessors!
  br label %25347

25347:                                            ; preds = %25346
  br label %25348

25348:                                            ; preds = %25347, %25290
  br label %25349

25349:                                            ; preds = %25348
  br label %25350

25350:                                            ; preds = %25349
  br label %25351

25351:                                            ; preds = %25350
  %25352 = load i32, ptr @test_count, align 4, !tbaa !5
  %25353 = add nsw i32 %25352, 1
  store i32 %25353, ptr @test_count, align 4, !tbaa !5
  %25354 = load ptr, ptr %509, align 8, !tbaa !9
  %25355 = call i32 @s2n_connection_free(ptr noundef %25354)
  %25356 = icmp eq i32 %25355, -1
  br i1 %25356, label %25357, label %25410

25357:                                            ; preds = %25351
  br label %25358

25358:                                            ; preds = %25357
  br label %25359

25359:                                            ; preds = %25358
  call void @llvm.lifetime.start.p0(i64 4, ptr %534) #11
  %25360 = call ptr @__errno_location() #12
  %25361 = load i32, ptr %25360, align 4, !tbaa !5
  store i32 %25361, ptr %534, align 4, !tbaa !5
  %25362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25363 = call i32 @s2n_print_stacktrace(ptr noundef %25362)
  %25364 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25365 = trunc i8 %25364 to i1
  br i1 %25365, label %25366, label %25388

25366:                                            ; preds = %25359
  %25367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25368 = call i32 @fileno(ptr noundef %25367) #11
  %25369 = call i32 @isatty(i32 noundef %25368) #11
  %25370 = icmp ne i32 %25369, 0
  br i1 %25370, label %25371, label %25388

25371:                                            ; preds = %25366
  %25372 = load i32, ptr %534, align 4, !tbaa !5
  %25373 = call ptr @__errno_location() #12
  store i32 %25372, ptr %25373, align 4, !tbaa !5
  %25374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25375 = load i32, ptr @test_count, align 4, !tbaa !5
  %25376 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25377 = load i32, ptr %25376, align 4, !tbaa !5
  %25378 = call ptr @s2n_strerror(i32 noundef %25377, ptr noundef @.str.4)
  %25379 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25380 = load i32, ptr %25379, align 4, !tbaa !5
  %25381 = call ptr @s2n_strerror_debug(i32 noundef %25380, ptr noundef @.str.4)
  %25382 = call ptr @__errno_location() #12
  %25383 = load i32, ptr %25382, align 4, !tbaa !5
  %25384 = call ptr @strerror(i32 noundef %25383) #11
  %25385 = call ptr @__errno_location() #12
  %25386 = load i32, ptr %25385, align 4, !tbaa !5
  %25387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25374, ptr noundef @.str.2, i32 noundef %25375, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 929, ptr noundef %25378, ptr noundef %25381, ptr noundef %25384, i32 noundef %25386) #11
  br label %25405

25388:                                            ; preds = %25366, %25359
  %25389 = load i32, ptr %534, align 4, !tbaa !5
  %25390 = call ptr @__errno_location() #12
  store i32 %25389, ptr %25390, align 4, !tbaa !5
  %25391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25392 = load i32, ptr @test_count, align 4, !tbaa !5
  %25393 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25394 = load i32, ptr %25393, align 4, !tbaa !5
  %25395 = call ptr @s2n_strerror(i32 noundef %25394, ptr noundef @.str.4)
  %25396 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25397 = load i32, ptr %25396, align 4, !tbaa !5
  %25398 = call ptr @s2n_strerror_debug(i32 noundef %25397, ptr noundef @.str.4)
  %25399 = call ptr @__errno_location() #12
  %25400 = load i32, ptr %25399, align 4, !tbaa !5
  %25401 = call ptr @strerror(i32 noundef %25400) #11
  %25402 = call ptr @__errno_location() #12
  %25403 = load i32, ptr %25402, align 4, !tbaa !5
  %25404 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25391, ptr noundef @.str.5, i32 noundef %25392, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 929, ptr noundef %25395, ptr noundef %25398, ptr noundef %25401, i32 noundef %25403) #11
  br label %25405

25405:                                            ; preds = %25388, %25371
  call void @llvm.lifetime.end.p0(i64 4, ptr %534) #11
  br label %25406

25406:                                            ; preds = %25405
  br label %25407

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

25408:                                            ; No predecessors!
  br label %25409

25409:                                            ; preds = %25408
  br label %25410

25410:                                            ; preds = %25409, %25351
  br label %25411

25411:                                            ; preds = %25410
  br label %25412

25412:                                            ; preds = %25411
  call void @llvm.lifetime.end.p0(i64 8, ptr %525) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %524) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %523) #11
  %25413 = call i32 @s2n_stuffer_free(ptr noundef %516)
  call void @llvm.lifetime.end.p0(i64 40, ptr %516) #11
  %25414 = call i32 @s2n_stuffer_free(ptr noundef %515)
  call void @llvm.lifetime.end.p0(i64 40, ptr %515) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %509) #11
  call void @llvm.lifetime.start.p0(i64 8, ptr %535) #11
  store i64 5, ptr %535, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %536) #11
  %25415 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %25415, ptr %536, align 8, !tbaa !9
  br label %25416

25416:                                            ; preds = %25412
  %25417 = load i32, ptr @test_count, align 4, !tbaa !5
  %25418 = add nsw i32 %25417, 1
  store i32 %25418, ptr @test_count, align 4, !tbaa !5
  %25419 = load ptr, ptr %536, align 8, !tbaa !9
  %25420 = icmp eq ptr %25419, null
  br i1 %25420, label %25421, label %25474

25421:                                            ; preds = %25416
  br label %25422

25422:                                            ; preds = %25421
  br label %25423

25423:                                            ; preds = %25422
  call void @llvm.lifetime.start.p0(i64 4, ptr %537) #11
  %25424 = call ptr @__errno_location() #12
  %25425 = load i32, ptr %25424, align 4, !tbaa !5
  store i32 %25425, ptr %537, align 4, !tbaa !5
  %25426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25427 = call i32 @s2n_print_stacktrace(ptr noundef %25426)
  %25428 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25429 = trunc i8 %25428 to i1
  br i1 %25429, label %25430, label %25452

25430:                                            ; preds = %25423
  %25431 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25432 = call i32 @fileno(ptr noundef %25431) #11
  %25433 = call i32 @isatty(i32 noundef %25432) #11
  %25434 = icmp ne i32 %25433, 0
  br i1 %25434, label %25435, label %25452

25435:                                            ; preds = %25430
  %25436 = load i32, ptr %537, align 4, !tbaa !5
  %25437 = call ptr @__errno_location() #12
  store i32 %25436, ptr %25437, align 4, !tbaa !5
  %25438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25439 = load i32, ptr @test_count, align 4, !tbaa !5
  %25440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25441 = load i32, ptr %25440, align 4, !tbaa !5
  %25442 = call ptr @s2n_strerror(i32 noundef %25441, ptr noundef @.str.4)
  %25443 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25444 = load i32, ptr %25443, align 4, !tbaa !5
  %25445 = call ptr @s2n_strerror_debug(i32 noundef %25444, ptr noundef @.str.4)
  %25446 = call ptr @__errno_location() #12
  %25447 = load i32, ptr %25446, align 4, !tbaa !5
  %25448 = call ptr @strerror(i32 noundef %25447) #11
  %25449 = call ptr @__errno_location() #12
  %25450 = load i32, ptr %25449, align 4, !tbaa !5
  %25451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25438, ptr noundef @.str.2, i32 noundef %25439, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 940, ptr noundef %25442, ptr noundef %25445, ptr noundef %25448, i32 noundef %25450) #11
  br label %25469

25452:                                            ; preds = %25430, %25423
  %25453 = load i32, ptr %537, align 4, !tbaa !5
  %25454 = call ptr @__errno_location() #12
  store i32 %25453, ptr %25454, align 4, !tbaa !5
  %25455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25456 = load i32, ptr @test_count, align 4, !tbaa !5
  %25457 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25458 = load i32, ptr %25457, align 4, !tbaa !5
  %25459 = call ptr @s2n_strerror(i32 noundef %25458, ptr noundef @.str.4)
  %25460 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25461 = load i32, ptr %25460, align 4, !tbaa !5
  %25462 = call ptr @s2n_strerror_debug(i32 noundef %25461, ptr noundef @.str.4)
  %25463 = call ptr @__errno_location() #12
  %25464 = load i32, ptr %25463, align 4, !tbaa !5
  %25465 = call ptr @strerror(i32 noundef %25464) #11
  %25466 = call ptr @__errno_location() #12
  %25467 = load i32, ptr %25466, align 4, !tbaa !5
  %25468 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25455, ptr noundef @.str.5, i32 noundef %25456, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 940, ptr noundef %25459, ptr noundef %25462, ptr noundef %25465, i32 noundef %25467) #11
  br label %25469

25469:                                            ; preds = %25452, %25435
  call void @llvm.lifetime.end.p0(i64 4, ptr %537) #11
  br label %25470

25470:                                            ; preds = %25469
  br label %25471

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

25472:                                            ; No predecessors!
  br label %25473

25473:                                            ; preds = %25472
  br label %25474

25474:                                            ; preds = %25473, %25416
  br label %25475

25475:                                            ; preds = %25474
  br label %25476

25476:                                            ; preds = %25475
  br label %25477

25477:                                            ; preds = %25476
  %25478 = load i32, ptr @test_count, align 4, !tbaa !5
  %25479 = add nsw i32 %25478, 1
  store i32 %25479, ptr @test_count, align 4, !tbaa !5
  %25480 = load ptr, ptr %536, align 8, !tbaa !9
  %25481 = call i32 @s2n_connection_set_blinding(ptr noundef %25480, i32 noundef 1)
  %25482 = icmp eq i32 %25481, -1
  br i1 %25482, label %25483, label %25536

25483:                                            ; preds = %25477
  br label %25484

25484:                                            ; preds = %25483
  br label %25485

25485:                                            ; preds = %25484
  call void @llvm.lifetime.start.p0(i64 4, ptr %538) #11
  %25486 = call ptr @__errno_location() #12
  %25487 = load i32, ptr %25486, align 4, !tbaa !5
  store i32 %25487, ptr %538, align 4, !tbaa !5
  %25488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25489 = call i32 @s2n_print_stacktrace(ptr noundef %25488)
  %25490 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25491 = trunc i8 %25490 to i1
  br i1 %25491, label %25492, label %25514

25492:                                            ; preds = %25485
  %25493 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25494 = call i32 @fileno(ptr noundef %25493) #11
  %25495 = call i32 @isatty(i32 noundef %25494) #11
  %25496 = icmp ne i32 %25495, 0
  br i1 %25496, label %25497, label %25514

25497:                                            ; preds = %25492
  %25498 = load i32, ptr %538, align 4, !tbaa !5
  %25499 = call ptr @__errno_location() #12
  store i32 %25498, ptr %25499, align 4, !tbaa !5
  %25500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25501 = load i32, ptr @test_count, align 4, !tbaa !5
  %25502 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25503 = load i32, ptr %25502, align 4, !tbaa !5
  %25504 = call ptr @s2n_strerror(i32 noundef %25503, ptr noundef @.str.4)
  %25505 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25506 = load i32, ptr %25505, align 4, !tbaa !5
  %25507 = call ptr @s2n_strerror_debug(i32 noundef %25506, ptr noundef @.str.4)
  %25508 = call ptr @__errno_location() #12
  %25509 = load i32, ptr %25508, align 4, !tbaa !5
  %25510 = call ptr @strerror(i32 noundef %25509) #11
  %25511 = call ptr @__errno_location() #12
  %25512 = load i32, ptr %25511, align 4, !tbaa !5
  %25513 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25500, ptr noundef @.str.2, i32 noundef %25501, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 941, ptr noundef %25504, ptr noundef %25507, ptr noundef %25510, i32 noundef %25512) #11
  br label %25531

25514:                                            ; preds = %25492, %25485
  %25515 = load i32, ptr %538, align 4, !tbaa !5
  %25516 = call ptr @__errno_location() #12
  store i32 %25515, ptr %25516, align 4, !tbaa !5
  %25517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25518 = load i32, ptr @test_count, align 4, !tbaa !5
  %25519 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25520 = load i32, ptr %25519, align 4, !tbaa !5
  %25521 = call ptr @s2n_strerror(i32 noundef %25520, ptr noundef @.str.4)
  %25522 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25523 = load i32, ptr %25522, align 4, !tbaa !5
  %25524 = call ptr @s2n_strerror_debug(i32 noundef %25523, ptr noundef @.str.4)
  %25525 = call ptr @__errno_location() #12
  %25526 = load i32, ptr %25525, align 4, !tbaa !5
  %25527 = call ptr @strerror(i32 noundef %25526) #11
  %25528 = call ptr @__errno_location() #12
  %25529 = load i32, ptr %25528, align 4, !tbaa !5
  %25530 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25517, ptr noundef @.str.5, i32 noundef %25518, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 941, ptr noundef %25521, ptr noundef %25524, ptr noundef %25527, i32 noundef %25529) #11
  br label %25531

25531:                                            ; preds = %25514, %25497
  call void @llvm.lifetime.end.p0(i64 4, ptr %538) #11
  br label %25532

25532:                                            ; preds = %25531
  br label %25533

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

25534:                                            ; No predecessors!
  br label %25535

25535:                                            ; preds = %25534
  br label %25536

25536:                                            ; preds = %25535, %25477
  br label %25537

25537:                                            ; preds = %25536
  br label %25538

25538:                                            ; preds = %25537
  br label %25539

25539:                                            ; preds = %25538
  %25540 = load i32, ptr @test_count, align 4, !tbaa !5
  %25541 = add nsw i32 %25540, 1
  store i32 %25541, ptr @test_count, align 4, !tbaa !5
  %25542 = load ptr, ptr %536, align 8, !tbaa !9
  %25543 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %25542, ptr noundef @.str.31)
  %25544 = icmp eq i32 %25543, -1
  br i1 %25544, label %25545, label %25598

25545:                                            ; preds = %25539
  br label %25546

25546:                                            ; preds = %25545
  br label %25547

25547:                                            ; preds = %25546
  call void @llvm.lifetime.start.p0(i64 4, ptr %539) #11
  %25548 = call ptr @__errno_location() #12
  %25549 = load i32, ptr %25548, align 4, !tbaa !5
  store i32 %25549, ptr %539, align 4, !tbaa !5
  %25550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25551 = call i32 @s2n_print_stacktrace(ptr noundef %25550)
  %25552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25553 = trunc i8 %25552 to i1
  br i1 %25553, label %25554, label %25576

25554:                                            ; preds = %25547
  %25555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25556 = call i32 @fileno(ptr noundef %25555) #11
  %25557 = call i32 @isatty(i32 noundef %25556) #11
  %25558 = icmp ne i32 %25557, 0
  br i1 %25558, label %25559, label %25576

25559:                                            ; preds = %25554
  %25560 = load i32, ptr %539, align 4, !tbaa !5
  %25561 = call ptr @__errno_location() #12
  store i32 %25560, ptr %25561, align 4, !tbaa !5
  %25562 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25563 = load i32, ptr @test_count, align 4, !tbaa !5
  %25564 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25565 = load i32, ptr %25564, align 4, !tbaa !5
  %25566 = call ptr @s2n_strerror(i32 noundef %25565, ptr noundef @.str.4)
  %25567 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25568 = load i32, ptr %25567, align 4, !tbaa !5
  %25569 = call ptr @s2n_strerror_debug(i32 noundef %25568, ptr noundef @.str.4)
  %25570 = call ptr @__errno_location() #12
  %25571 = load i32, ptr %25570, align 4, !tbaa !5
  %25572 = call ptr @strerror(i32 noundef %25571) #11
  %25573 = call ptr @__errno_location() #12
  %25574 = load i32, ptr %25573, align 4, !tbaa !5
  %25575 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25562, ptr noundef @.str.2, i32 noundef %25563, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 942, ptr noundef %25566, ptr noundef %25569, ptr noundef %25572, i32 noundef %25574) #11
  br label %25593

25576:                                            ; preds = %25554, %25547
  %25577 = load i32, ptr %539, align 4, !tbaa !5
  %25578 = call ptr @__errno_location() #12
  store i32 %25577, ptr %25578, align 4, !tbaa !5
  %25579 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25580 = load i32, ptr @test_count, align 4, !tbaa !5
  %25581 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25582 = load i32, ptr %25581, align 4, !tbaa !5
  %25583 = call ptr @s2n_strerror(i32 noundef %25582, ptr noundef @.str.4)
  %25584 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25585 = load i32, ptr %25584, align 4, !tbaa !5
  %25586 = call ptr @s2n_strerror_debug(i32 noundef %25585, ptr noundef @.str.4)
  %25587 = call ptr @__errno_location() #12
  %25588 = load i32, ptr %25587, align 4, !tbaa !5
  %25589 = call ptr @strerror(i32 noundef %25588) #11
  %25590 = call ptr @__errno_location() #12
  %25591 = load i32, ptr %25590, align 4, !tbaa !5
  %25592 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25579, ptr noundef @.str.5, i32 noundef %25580, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 942, ptr noundef %25583, ptr noundef %25586, ptr noundef %25589, i32 noundef %25591) #11
  br label %25593

25593:                                            ; preds = %25576, %25559
  call void @llvm.lifetime.end.p0(i64 4, ptr %539) #11
  br label %25594

25594:                                            ; preds = %25593
  br label %25595

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

25596:                                            ; No predecessors!
  br label %25597

25597:                                            ; preds = %25596
  br label %25598

25598:                                            ; preds = %25597, %25539
  br label %25599

25599:                                            ; preds = %25598
  br label %25600

25600:                                            ; preds = %25599
  br label %25601

25601:                                            ; preds = %25600
  %25602 = load i32, ptr @test_count, align 4, !tbaa !5
  %25603 = add nsw i32 %25602, 1
  store i32 %25603, ptr @test_count, align 4, !tbaa !5
  %25604 = load ptr, ptr %536, align 8, !tbaa !9
  %25605 = load ptr, ptr %491, align 8, !tbaa !9
  %25606 = call i32 @s2n_connection_append_psk(ptr noundef %25604, ptr noundef %25605)
  %25607 = icmp eq i32 %25606, -1
  br i1 %25607, label %25608, label %25661

25608:                                            ; preds = %25601
  br label %25609

25609:                                            ; preds = %25608
  br label %25610

25610:                                            ; preds = %25609
  call void @llvm.lifetime.start.p0(i64 4, ptr %540) #11
  %25611 = call ptr @__errno_location() #12
  %25612 = load i32, ptr %25611, align 4, !tbaa !5
  store i32 %25612, ptr %540, align 4, !tbaa !5
  %25613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25614 = call i32 @s2n_print_stacktrace(ptr noundef %25613)
  %25615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25616 = trunc i8 %25615 to i1
  br i1 %25616, label %25617, label %25639

25617:                                            ; preds = %25610
  %25618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25619 = call i32 @fileno(ptr noundef %25618) #11
  %25620 = call i32 @isatty(i32 noundef %25619) #11
  %25621 = icmp ne i32 %25620, 0
  br i1 %25621, label %25622, label %25639

25622:                                            ; preds = %25617
  %25623 = load i32, ptr %540, align 4, !tbaa !5
  %25624 = call ptr @__errno_location() #12
  store i32 %25623, ptr %25624, align 4, !tbaa !5
  %25625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25626 = load i32, ptr @test_count, align 4, !tbaa !5
  %25627 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25628 = load i32, ptr %25627, align 4, !tbaa !5
  %25629 = call ptr @s2n_strerror(i32 noundef %25628, ptr noundef @.str.4)
  %25630 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25631 = load i32, ptr %25630, align 4, !tbaa !5
  %25632 = call ptr @s2n_strerror_debug(i32 noundef %25631, ptr noundef @.str.4)
  %25633 = call ptr @__errno_location() #12
  %25634 = load i32, ptr %25633, align 4, !tbaa !5
  %25635 = call ptr @strerror(i32 noundef %25634) #11
  %25636 = call ptr @__errno_location() #12
  %25637 = load i32, ptr %25636, align 4, !tbaa !5
  %25638 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25625, ptr noundef @.str.2, i32 noundef %25626, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 943, ptr noundef %25629, ptr noundef %25632, ptr noundef %25635, i32 noundef %25637) #11
  br label %25656

25639:                                            ; preds = %25617, %25610
  %25640 = load i32, ptr %540, align 4, !tbaa !5
  %25641 = call ptr @__errno_location() #12
  store i32 %25640, ptr %25641, align 4, !tbaa !5
  %25642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25643 = load i32, ptr @test_count, align 4, !tbaa !5
  %25644 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25645 = load i32, ptr %25644, align 4, !tbaa !5
  %25646 = call ptr @s2n_strerror(i32 noundef %25645, ptr noundef @.str.4)
  %25647 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25648 = load i32, ptr %25647, align 4, !tbaa !5
  %25649 = call ptr @s2n_strerror_debug(i32 noundef %25648, ptr noundef @.str.4)
  %25650 = call ptr @__errno_location() #12
  %25651 = load i32, ptr %25650, align 4, !tbaa !5
  %25652 = call ptr @strerror(i32 noundef %25651) #11
  %25653 = call ptr @__errno_location() #12
  %25654 = load i32, ptr %25653, align 4, !tbaa !5
  %25655 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25642, ptr noundef @.str.5, i32 noundef %25643, ptr noundef @.str.131, ptr noundef @.str.1, i32 noundef 943, ptr noundef %25646, ptr noundef %25649, ptr noundef %25652, i32 noundef %25654) #11
  br label %25656

25656:                                            ; preds = %25639, %25622
  call void @llvm.lifetime.end.p0(i64 4, ptr %540) #11
  br label %25657

25657:                                            ; preds = %25656
  br label %25658

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

25659:                                            ; No predecessors!
  br label %25660

25660:                                            ; preds = %25659
  br label %25661

25661:                                            ; preds = %25660, %25601
  br label %25662

25662:                                            ; preds = %25661
  br label %25663

25663:                                            ; preds = %25662
  br label %25664

25664:                                            ; preds = %25663
  %25665 = load i32, ptr @test_count, align 4, !tbaa !5
  %25666 = add nsw i32 %25665, 1
  store i32 %25666, ptr @test_count, align 4, !tbaa !5
  %25667 = load ptr, ptr %536, align 8, !tbaa !9
  %25668 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %25667, i32 noundef 1024)
  %25669 = icmp eq i32 %25668, -1
  br i1 %25669, label %25670, label %25723

25670:                                            ; preds = %25664
  br label %25671

25671:                                            ; preds = %25670
  br label %25672

25672:                                            ; preds = %25671
  call void @llvm.lifetime.start.p0(i64 4, ptr %541) #11
  %25673 = call ptr @__errno_location() #12
  %25674 = load i32, ptr %25673, align 4, !tbaa !5
  store i32 %25674, ptr %541, align 4, !tbaa !5
  %25675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25676 = call i32 @s2n_print_stacktrace(ptr noundef %25675)
  %25677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25678 = trunc i8 %25677 to i1
  br i1 %25678, label %25679, label %25701

25679:                                            ; preds = %25672
  %25680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25681 = call i32 @fileno(ptr noundef %25680) #11
  %25682 = call i32 @isatty(i32 noundef %25681) #11
  %25683 = icmp ne i32 %25682, 0
  br i1 %25683, label %25684, label %25701

25684:                                            ; preds = %25679
  %25685 = load i32, ptr %541, align 4, !tbaa !5
  %25686 = call ptr @__errno_location() #12
  store i32 %25685, ptr %25686, align 4, !tbaa !5
  %25687 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25688 = load i32, ptr @test_count, align 4, !tbaa !5
  %25689 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25690 = load i32, ptr %25689, align 4, !tbaa !5
  %25691 = call ptr @s2n_strerror(i32 noundef %25690, ptr noundef @.str.4)
  %25692 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25693 = load i32, ptr %25692, align 4, !tbaa !5
  %25694 = call ptr @s2n_strerror_debug(i32 noundef %25693, ptr noundef @.str.4)
  %25695 = call ptr @__errno_location() #12
  %25696 = load i32, ptr %25695, align 4, !tbaa !5
  %25697 = call ptr @strerror(i32 noundef %25696) #11
  %25698 = call ptr @__errno_location() #12
  %25699 = load i32, ptr %25698, align 4, !tbaa !5
  %25700 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25687, ptr noundef @.str.2, i32 noundef %25688, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 944, ptr noundef %25691, ptr noundef %25694, ptr noundef %25697, i32 noundef %25699) #11
  br label %25718

25701:                                            ; preds = %25679, %25672
  %25702 = load i32, ptr %541, align 4, !tbaa !5
  %25703 = call ptr @__errno_location() #12
  store i32 %25702, ptr %25703, align 4, !tbaa !5
  %25704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25705 = load i32, ptr @test_count, align 4, !tbaa !5
  %25706 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25707 = load i32, ptr %25706, align 4, !tbaa !5
  %25708 = call ptr @s2n_strerror(i32 noundef %25707, ptr noundef @.str.4)
  %25709 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25710 = load i32, ptr %25709, align 4, !tbaa !5
  %25711 = call ptr @s2n_strerror_debug(i32 noundef %25710, ptr noundef @.str.4)
  %25712 = call ptr @__errno_location() #12
  %25713 = load i32, ptr %25712, align 4, !tbaa !5
  %25714 = call ptr @strerror(i32 noundef %25713) #11
  %25715 = call ptr @__errno_location() #12
  %25716 = load i32, ptr %25715, align 4, !tbaa !5
  %25717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25704, ptr noundef @.str.5, i32 noundef %25705, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 944, ptr noundef %25708, ptr noundef %25711, ptr noundef %25714, i32 noundef %25716) #11
  br label %25718

25718:                                            ; preds = %25701, %25684
  call void @llvm.lifetime.end.p0(i64 4, ptr %541) #11
  br label %25719

25719:                                            ; preds = %25718
  br label %25720

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

25721:                                            ; No predecessors!
  br label %25722

25722:                                            ; preds = %25721
  br label %25723

25723:                                            ; preds = %25722, %25664
  br label %25724

25724:                                            ; preds = %25723
  br label %25725

25725:                                            ; preds = %25724
  %25726 = load ptr, ptr %536, align 8, !tbaa !9
  %25727 = getelementptr inbounds %struct.s2n_connection, ptr %25726, i32 0, i32 33
  %25728 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %25727, i32 0, i32 0
  store i32 1, ptr %25728, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 40, ptr %542) #11
  call void @llvm.memset.p0.i64(ptr align 8 %542, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %543) #11
  call void @llvm.memset.p0.i64(ptr align 8 %543, i8 0, i64 40, i1 false)
  br label %25729

25729:                                            ; preds = %25725
  %25730 = load i32, ptr @test_count, align 4, !tbaa !5
  %25731 = add nsw i32 %25730, 1
  store i32 %25731, ptr @test_count, align 4, !tbaa !5
  %25732 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %542, i32 noundef 8092)
  %25733 = icmp eq i32 %25732, -1
  br i1 %25733, label %25734, label %25787

25734:                                            ; preds = %25729
  br label %25735

25735:                                            ; preds = %25734
  br label %25736

25736:                                            ; preds = %25735
  call void @llvm.lifetime.start.p0(i64 4, ptr %544) #11
  %25737 = call ptr @__errno_location() #12
  %25738 = load i32, ptr %25737, align 4, !tbaa !5
  store i32 %25738, ptr %544, align 4, !tbaa !5
  %25739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25740 = call i32 @s2n_print_stacktrace(ptr noundef %25739)
  %25741 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25742 = trunc i8 %25741 to i1
  br i1 %25742, label %25743, label %25765

25743:                                            ; preds = %25736
  %25744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25745 = call i32 @fileno(ptr noundef %25744) #11
  %25746 = call i32 @isatty(i32 noundef %25745) #11
  %25747 = icmp ne i32 %25746, 0
  br i1 %25747, label %25748, label %25765

25748:                                            ; preds = %25743
  %25749 = load i32, ptr %544, align 4, !tbaa !5
  %25750 = call ptr @__errno_location() #12
  store i32 %25749, ptr %25750, align 4, !tbaa !5
  %25751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25752 = load i32, ptr @test_count, align 4, !tbaa !5
  %25753 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25754 = load i32, ptr %25753, align 4, !tbaa !5
  %25755 = call ptr @s2n_strerror(i32 noundef %25754, ptr noundef @.str.4)
  %25756 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25757 = load i32, ptr %25756, align 4, !tbaa !5
  %25758 = call ptr @s2n_strerror_debug(i32 noundef %25757, ptr noundef @.str.4)
  %25759 = call ptr @__errno_location() #12
  %25760 = load i32, ptr %25759, align 4, !tbaa !5
  %25761 = call ptr @strerror(i32 noundef %25760) #11
  %25762 = call ptr @__errno_location() #12
  %25763 = load i32, ptr %25762, align 4, !tbaa !5
  %25764 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25751, ptr noundef @.str.2, i32 noundef %25752, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 952, ptr noundef %25755, ptr noundef %25758, ptr noundef %25761, i32 noundef %25763) #11
  br label %25782

25765:                                            ; preds = %25743, %25736
  %25766 = load i32, ptr %544, align 4, !tbaa !5
  %25767 = call ptr @__errno_location() #12
  store i32 %25766, ptr %25767, align 4, !tbaa !5
  %25768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25769 = load i32, ptr @test_count, align 4, !tbaa !5
  %25770 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25771 = load i32, ptr %25770, align 4, !tbaa !5
  %25772 = call ptr @s2n_strerror(i32 noundef %25771, ptr noundef @.str.4)
  %25773 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25774 = load i32, ptr %25773, align 4, !tbaa !5
  %25775 = call ptr @s2n_strerror_debug(i32 noundef %25774, ptr noundef @.str.4)
  %25776 = call ptr @__errno_location() #12
  %25777 = load i32, ptr %25776, align 4, !tbaa !5
  %25778 = call ptr @strerror(i32 noundef %25777) #11
  %25779 = call ptr @__errno_location() #12
  %25780 = load i32, ptr %25779, align 4, !tbaa !5
  %25781 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25768, ptr noundef @.str.5, i32 noundef %25769, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 952, ptr noundef %25772, ptr noundef %25775, ptr noundef %25778, i32 noundef %25780) #11
  br label %25782

25782:                                            ; preds = %25765, %25748
  call void @llvm.lifetime.end.p0(i64 4, ptr %544) #11
  br label %25783

25783:                                            ; preds = %25782
  br label %25784

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

25785:                                            ; No predecessors!
  br label %25786

25786:                                            ; preds = %25785
  br label %25787

25787:                                            ; preds = %25786, %25729
  br label %25788

25788:                                            ; preds = %25787
  br label %25789

25789:                                            ; preds = %25788
  br label %25790

25790:                                            ; preds = %25789
  %25791 = load i32, ptr @test_count, align 4, !tbaa !5
  %25792 = add nsw i32 %25791, 1
  store i32 %25792, ptr @test_count, align 4, !tbaa !5
  %25793 = load ptr, ptr %536, align 8, !tbaa !9
  %25794 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %542, ptr noundef %543, ptr noundef %25793)
  %25795 = icmp eq i32 %25794, -1
  br i1 %25795, label %25796, label %25849

25796:                                            ; preds = %25790
  br label %25797

25797:                                            ; preds = %25796
  br label %25798

25798:                                            ; preds = %25797
  call void @llvm.lifetime.start.p0(i64 4, ptr %545) #11
  %25799 = call ptr @__errno_location() #12
  %25800 = load i32, ptr %25799, align 4, !tbaa !5
  store i32 %25800, ptr %545, align 4, !tbaa !5
  %25801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25802 = call i32 @s2n_print_stacktrace(ptr noundef %25801)
  %25803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25804 = trunc i8 %25803 to i1
  br i1 %25804, label %25805, label %25827

25805:                                            ; preds = %25798
  %25806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25807 = call i32 @fileno(ptr noundef %25806) #11
  %25808 = call i32 @isatty(i32 noundef %25807) #11
  %25809 = icmp ne i32 %25808, 0
  br i1 %25809, label %25810, label %25827

25810:                                            ; preds = %25805
  %25811 = load i32, ptr %545, align 4, !tbaa !5
  %25812 = call ptr @__errno_location() #12
  store i32 %25811, ptr %25812, align 4, !tbaa !5
  %25813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25814 = load i32, ptr @test_count, align 4, !tbaa !5
  %25815 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25816 = load i32, ptr %25815, align 4, !tbaa !5
  %25817 = call ptr @s2n_strerror(i32 noundef %25816, ptr noundef @.str.4)
  %25818 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25819 = load i32, ptr %25818, align 4, !tbaa !5
  %25820 = call ptr @s2n_strerror_debug(i32 noundef %25819, ptr noundef @.str.4)
  %25821 = call ptr @__errno_location() #12
  %25822 = load i32, ptr %25821, align 4, !tbaa !5
  %25823 = call ptr @strerror(i32 noundef %25822) #11
  %25824 = call ptr @__errno_location() #12
  %25825 = load i32, ptr %25824, align 4, !tbaa !5
  %25826 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25813, ptr noundef @.str.2, i32 noundef %25814, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 953, ptr noundef %25817, ptr noundef %25820, ptr noundef %25823, i32 noundef %25825) #11
  br label %25844

25827:                                            ; preds = %25805, %25798
  %25828 = load i32, ptr %545, align 4, !tbaa !5
  %25829 = call ptr @__errno_location() #12
  store i32 %25828, ptr %25829, align 4, !tbaa !5
  %25830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25831 = load i32, ptr @test_count, align 4, !tbaa !5
  %25832 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25833 = load i32, ptr %25832, align 4, !tbaa !5
  %25834 = call ptr @s2n_strerror(i32 noundef %25833, ptr noundef @.str.4)
  %25835 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25836 = load i32, ptr %25835, align 4, !tbaa !5
  %25837 = call ptr @s2n_strerror_debug(i32 noundef %25836, ptr noundef @.str.4)
  %25838 = call ptr @__errno_location() #12
  %25839 = load i32, ptr %25838, align 4, !tbaa !5
  %25840 = call ptr @strerror(i32 noundef %25839) #11
  %25841 = call ptr @__errno_location() #12
  %25842 = load i32, ptr %25841, align 4, !tbaa !5
  %25843 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25830, ptr noundef @.str.5, i32 noundef %25831, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 953, ptr noundef %25834, ptr noundef %25837, ptr noundef %25840, i32 noundef %25842) #11
  br label %25844

25844:                                            ; preds = %25827, %25810
  call void @llvm.lifetime.end.p0(i64 4, ptr %545) #11
  br label %25845

25845:                                            ; preds = %25844
  br label %25846

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

25847:                                            ; No predecessors!
  br label %25848

25848:                                            ; preds = %25847
  br label %25849

25849:                                            ; preds = %25848, %25790
  br label %25850

25850:                                            ; preds = %25849
  br label %25851

25851:                                            ; preds = %25850
  call void @llvm.lifetime.start.p0(i64 100, ptr %546) #11
  call void @llvm.memset.p0.i64(ptr align 16 %546, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %547) #11
  store i32 0, ptr %547, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %548) #11
  store i64 0, ptr %548, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 8, ptr %549) #11
  store i64 0, ptr %549, align 8, !tbaa !42
  br label %25852

25852:                                            ; preds = %26240, %25851
  %25853 = load i64, ptr %549, align 8, !tbaa !42
  %25854 = icmp ult i64 %25853, 5
  br i1 %25854, label %25856, label %25855

25855:                                            ; preds = %25852
  store i32 2653, ptr %494, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %549) #11
  br label %26243

25856:                                            ; preds = %25852
  br label %25857

25857:                                            ; preds = %25856
  br label %25858

25858:                                            ; preds = %25857
  br label %25859

25859:                                            ; preds = %25858
  %25860 = load i32, ptr @test_count, align 4, !tbaa !5
  %25861 = add nsw i32 %25860, 1
  store i32 %25861, ptr @test_count, align 4, !tbaa !5
  %25862 = load ptr, ptr %536, align 8, !tbaa !9
  %25863 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %25864 = call i32 @s2n_recv_early_data(ptr noundef %25862, ptr noundef %25863, i64 noundef 100, ptr noundef %548, ptr noundef %547)
  %25865 = icmp eq i32 %25864, -1
  br i1 %25865, label %25919, label %25866

25866:                                            ; preds = %25859
  br label %25867

25867:                                            ; preds = %25866
  br label %25868

25868:                                            ; preds = %25867
  call void @llvm.lifetime.start.p0(i64 4, ptr %550) #11
  %25869 = call ptr @__errno_location() #12
  %25870 = load i32, ptr %25869, align 4, !tbaa !5
  store i32 %25870, ptr %550, align 4, !tbaa !5
  %25871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25872 = call i32 @s2n_print_stacktrace(ptr noundef %25871)
  %25873 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25874 = trunc i8 %25873 to i1
  br i1 %25874, label %25875, label %25897

25875:                                            ; preds = %25868
  %25876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25877 = call i32 @fileno(ptr noundef %25876) #11
  %25878 = call i32 @isatty(i32 noundef %25877) #11
  %25879 = icmp ne i32 %25878, 0
  br i1 %25879, label %25880, label %25897

25880:                                            ; preds = %25875
  %25881 = load i32, ptr %550, align 4, !tbaa !5
  %25882 = call ptr @__errno_location() #12
  store i32 %25881, ptr %25882, align 4, !tbaa !5
  %25883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25884 = load i32, ptr @test_count, align 4, !tbaa !5
  %25885 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25886 = load i32, ptr %25885, align 4, !tbaa !5
  %25887 = call ptr @s2n_strerror(i32 noundef %25886, ptr noundef @.str.4)
  %25888 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25889 = load i32, ptr %25888, align 4, !tbaa !5
  %25890 = call ptr @s2n_strerror_debug(i32 noundef %25889, ptr noundef @.str.4)
  %25891 = call ptr @__errno_location() #12
  %25892 = load i32, ptr %25891, align 4, !tbaa !5
  %25893 = call ptr @strerror(i32 noundef %25892) #11
  %25894 = call ptr @__errno_location() #12
  %25895 = load i32, ptr %25894, align 4, !tbaa !5
  %25896 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25883, ptr noundef @.str.2, i32 noundef %25884, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 960, ptr noundef %25887, ptr noundef %25890, ptr noundef %25893, i32 noundef %25895) #11
  br label %25914

25897:                                            ; preds = %25875, %25868
  %25898 = load i32, ptr %550, align 4, !tbaa !5
  %25899 = call ptr @__errno_location() #12
  store i32 %25898, ptr %25899, align 4, !tbaa !5
  %25900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25901 = load i32, ptr @test_count, align 4, !tbaa !5
  %25902 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25903 = load i32, ptr %25902, align 4, !tbaa !5
  %25904 = call ptr @s2n_strerror(i32 noundef %25903, ptr noundef @.str.4)
  %25905 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25906 = load i32, ptr %25905, align 4, !tbaa !5
  %25907 = call ptr @s2n_strerror_debug(i32 noundef %25906, ptr noundef @.str.4)
  %25908 = call ptr @__errno_location() #12
  %25909 = load i32, ptr %25908, align 4, !tbaa !5
  %25910 = call ptr @strerror(i32 noundef %25909) #11
  %25911 = call ptr @__errno_location() #12
  %25912 = load i32, ptr %25911, align 4, !tbaa !5
  %25913 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25900, ptr noundef @.str.5, i32 noundef %25901, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 960, ptr noundef %25904, ptr noundef %25907, ptr noundef %25910, i32 noundef %25912) #11
  br label %25914

25914:                                            ; preds = %25897, %25880
  call void @llvm.lifetime.end.p0(i64 4, ptr %550) #11
  br label %25915

25915:                                            ; preds = %25914
  br label %25916

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

25917:                                            ; No predecessors!
  br label %25918

25918:                                            ; preds = %25917
  br label %25919

25919:                                            ; preds = %25918, %25859
  br label %25920

25920:                                            ; preds = %25919
  br label %25921

25921:                                            ; preds = %25920
  br label %25922

25922:                                            ; preds = %25921
  %25923 = load i32, ptr @test_count, align 4, !tbaa !5
  %25924 = add nsw i32 %25923, 1
  store i32 %25924, ptr @test_count, align 4, !tbaa !5
  %25925 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25926 = load i32, ptr %25925, align 4, !tbaa !5
  %25927 = icmp eq i32 %25926, 201326592
  br i1 %25927, label %25981, label %25928

25928:                                            ; preds = %25922
  br label %25929

25929:                                            ; preds = %25928
  br label %25930

25930:                                            ; preds = %25929
  call void @llvm.lifetime.start.p0(i64 4, ptr %551) #11
  %25931 = call ptr @__errno_location() #12
  %25932 = load i32, ptr %25931, align 4, !tbaa !5
  store i32 %25932, ptr %551, align 4, !tbaa !5
  %25933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25934 = call i32 @s2n_print_stacktrace(ptr noundef %25933)
  %25935 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25936 = trunc i8 %25935 to i1
  br i1 %25936, label %25937, label %25959

25937:                                            ; preds = %25930
  %25938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25939 = call i32 @fileno(ptr noundef %25938) #11
  %25940 = call i32 @isatty(i32 noundef %25939) #11
  %25941 = icmp ne i32 %25940, 0
  br i1 %25941, label %25942, label %25959

25942:                                            ; preds = %25937
  %25943 = load i32, ptr %551, align 4, !tbaa !5
  %25944 = call ptr @__errno_location() #12
  store i32 %25943, ptr %25944, align 4, !tbaa !5
  %25945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25946 = load i32, ptr @test_count, align 4, !tbaa !5
  %25947 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25948 = load i32, ptr %25947, align 4, !tbaa !5
  %25949 = call ptr @s2n_strerror(i32 noundef %25948, ptr noundef @.str.4)
  %25950 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25951 = load i32, ptr %25950, align 4, !tbaa !5
  %25952 = call ptr @s2n_strerror_debug(i32 noundef %25951, ptr noundef @.str.4)
  %25953 = call ptr @__errno_location() #12
  %25954 = load i32, ptr %25953, align 4, !tbaa !5
  %25955 = call ptr @strerror(i32 noundef %25954) #11
  %25956 = call ptr @__errno_location() #12
  %25957 = load i32, ptr %25956, align 4, !tbaa !5
  %25958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25945, ptr noundef @.str.2, i32 noundef %25946, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 960, ptr noundef %25949, ptr noundef %25952, ptr noundef %25955, i32 noundef %25957) #11
  br label %25976

25959:                                            ; preds = %25937, %25930
  %25960 = load i32, ptr %551, align 4, !tbaa !5
  %25961 = call ptr @__errno_location() #12
  store i32 %25960, ptr %25961, align 4, !tbaa !5
  %25962 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25963 = load i32, ptr @test_count, align 4, !tbaa !5
  %25964 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25965 = load i32, ptr %25964, align 4, !tbaa !5
  %25966 = call ptr @s2n_strerror(i32 noundef %25965, ptr noundef @.str.4)
  %25967 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25968 = load i32, ptr %25967, align 4, !tbaa !5
  %25969 = call ptr @s2n_strerror_debug(i32 noundef %25968, ptr noundef @.str.4)
  %25970 = call ptr @__errno_location() #12
  %25971 = load i32, ptr %25970, align 4, !tbaa !5
  %25972 = call ptr @strerror(i32 noundef %25971) #11
  %25973 = call ptr @__errno_location() #12
  %25974 = load i32, ptr %25973, align 4, !tbaa !5
  %25975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %25962, ptr noundef @.str.5, i32 noundef %25963, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 960, ptr noundef %25966, ptr noundef %25969, ptr noundef %25972, i32 noundef %25974) #11
  br label %25976

25976:                                            ; preds = %25959, %25942
  call void @llvm.lifetime.end.p0(i64 4, ptr %551) #11
  br label %25977

25977:                                            ; preds = %25976
  br label %25978

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

25979:                                            ; No predecessors!
  br label %25980

25980:                                            ; preds = %25979
  br label %25981

25981:                                            ; preds = %25980, %25922
  br label %25982

25982:                                            ; preds = %25981
  br label %25983

25983:                                            ; preds = %25982
  br label %25984

25984:                                            ; preds = %25983
  %25985 = load i32, ptr @test_count, align 4, !tbaa !5
  %25986 = add nsw i32 %25985, 1
  store i32 %25986, ptr @test_count, align 4, !tbaa !5
  %25987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %25988 = load i32, ptr %25987, align 4, !tbaa !5
  %25989 = call ptr @s2n_strerror_debug(i32 noundef %25988, ptr noundef @.str.4)
  %25990 = icmp eq ptr %25989, null
  br i1 %25990, label %25991, label %26044

25991:                                            ; preds = %25984
  br label %25992

25992:                                            ; preds = %25991
  br label %25993

25993:                                            ; preds = %25992
  call void @llvm.lifetime.start.p0(i64 4, ptr %552) #11
  %25994 = call ptr @__errno_location() #12
  %25995 = load i32, ptr %25994, align 4, !tbaa !5
  store i32 %25995, ptr %552, align 4, !tbaa !5
  %25996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %25997 = call i32 @s2n_print_stacktrace(ptr noundef %25996)
  %25998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %25999 = trunc i8 %25998 to i1
  br i1 %25999, label %26000, label %26022

26000:                                            ; preds = %25993
  %26001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26002 = call i32 @fileno(ptr noundef %26001) #11
  %26003 = call i32 @isatty(i32 noundef %26002) #11
  %26004 = icmp ne i32 %26003, 0
  br i1 %26004, label %26005, label %26022

26005:                                            ; preds = %26000
  %26006 = load i32, ptr %552, align 4, !tbaa !5
  %26007 = call ptr @__errno_location() #12
  store i32 %26006, ptr %26007, align 4, !tbaa !5
  %26008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26009 = load i32, ptr @test_count, align 4, !tbaa !5
  %26010 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26011 = load i32, ptr %26010, align 4, !tbaa !5
  %26012 = call ptr @s2n_strerror(i32 noundef %26011, ptr noundef @.str.4)
  %26013 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26014 = load i32, ptr %26013, align 4, !tbaa !5
  %26015 = call ptr @s2n_strerror_debug(i32 noundef %26014, ptr noundef @.str.4)
  %26016 = call ptr @__errno_location() #12
  %26017 = load i32, ptr %26016, align 4, !tbaa !5
  %26018 = call ptr @strerror(i32 noundef %26017) #11
  %26019 = call ptr @__errno_location() #12
  %26020 = load i32, ptr %26019, align 4, !tbaa !5
  %26021 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26008, ptr noundef @.str.2, i32 noundef %26009, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 960, ptr noundef %26012, ptr noundef %26015, ptr noundef %26018, i32 noundef %26020) #11
  br label %26039

26022:                                            ; preds = %26000, %25993
  %26023 = load i32, ptr %552, align 4, !tbaa !5
  %26024 = call ptr @__errno_location() #12
  store i32 %26023, ptr %26024, align 4, !tbaa !5
  %26025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26026 = load i32, ptr @test_count, align 4, !tbaa !5
  %26027 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26028 = load i32, ptr %26027, align 4, !tbaa !5
  %26029 = call ptr @s2n_strerror(i32 noundef %26028, ptr noundef @.str.4)
  %26030 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26031 = load i32, ptr %26030, align 4, !tbaa !5
  %26032 = call ptr @s2n_strerror_debug(i32 noundef %26031, ptr noundef @.str.4)
  %26033 = call ptr @__errno_location() #12
  %26034 = load i32, ptr %26033, align 4, !tbaa !5
  %26035 = call ptr @strerror(i32 noundef %26034) #11
  %26036 = call ptr @__errno_location() #12
  %26037 = load i32, ptr %26036, align 4, !tbaa !5
  %26038 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26025, ptr noundef @.str.5, i32 noundef %26026, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 960, ptr noundef %26029, ptr noundef %26032, ptr noundef %26035, i32 noundef %26037) #11
  br label %26039

26039:                                            ; preds = %26022, %26005
  call void @llvm.lifetime.end.p0(i64 4, ptr %552) #11
  br label %26040

26040:                                            ; preds = %26039
  br label %26041

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

26042:                                            ; No predecessors!
  br label %26043

26043:                                            ; preds = %26042
  br label %26044

26044:                                            ; preds = %26043, %25984
  br label %26045

26045:                                            ; preds = %26044
  br label %26046

26046:                                            ; preds = %26045
  br label %26047

26047:                                            ; preds = %26046
  br label %26048

26048:                                            ; preds = %26047
  br label %26049

26049:                                            ; preds = %26048
  %26050 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26050, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26051 = call ptr @__errno_location() #12
  store i32 0, ptr %26051, align 4, !tbaa !5
  br label %26052

26052:                                            ; preds = %26049
  br label %26053

26053:                                            ; preds = %26052
  br label %26054

26054:                                            ; preds = %26053
  br label %26055

26055:                                            ; preds = %26054
  br label %26056

26056:                                            ; preds = %26055
  %26057 = load i32, ptr @test_count, align 4, !tbaa !5
  %26058 = add nsw i32 %26057, 1
  store i32 %26058, ptr @test_count, align 4, !tbaa !5
  %26059 = load i32, ptr %547, align 4, !tbaa !5
  %26060 = icmp eq i32 %26059, 1
  br i1 %26060, label %26114, label %26061

26061:                                            ; preds = %26056
  br label %26062

26062:                                            ; preds = %26061
  br label %26063

26063:                                            ; preds = %26062
  call void @llvm.lifetime.start.p0(i64 4, ptr %553) #11
  %26064 = call ptr @__errno_location() #12
  %26065 = load i32, ptr %26064, align 4, !tbaa !5
  store i32 %26065, ptr %553, align 4, !tbaa !5
  %26066 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26067 = call i32 @s2n_print_stacktrace(ptr noundef %26066)
  %26068 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26069 = trunc i8 %26068 to i1
  br i1 %26069, label %26070, label %26092

26070:                                            ; preds = %26063
  %26071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26072 = call i32 @fileno(ptr noundef %26071) #11
  %26073 = call i32 @isatty(i32 noundef %26072) #11
  %26074 = icmp ne i32 %26073, 0
  br i1 %26074, label %26075, label %26092

26075:                                            ; preds = %26070
  %26076 = load i32, ptr %553, align 4, !tbaa !5
  %26077 = call ptr @__errno_location() #12
  store i32 %26076, ptr %26077, align 4, !tbaa !5
  %26078 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26079 = load i32, ptr @test_count, align 4, !tbaa !5
  %26080 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26081 = load i32, ptr %26080, align 4, !tbaa !5
  %26082 = call ptr @s2n_strerror(i32 noundef %26081, ptr noundef @.str.4)
  %26083 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26084 = load i32, ptr %26083, align 4, !tbaa !5
  %26085 = call ptr @s2n_strerror_debug(i32 noundef %26084, ptr noundef @.str.4)
  %26086 = call ptr @__errno_location() #12
  %26087 = load i32, ptr %26086, align 4, !tbaa !5
  %26088 = call ptr @strerror(i32 noundef %26087) #11
  %26089 = call ptr @__errno_location() #12
  %26090 = load i32, ptr %26089, align 4, !tbaa !5
  %26091 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26078, ptr noundef @.str.2, i32 noundef %26079, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 961, ptr noundef %26082, ptr noundef %26085, ptr noundef %26088, i32 noundef %26090) #11
  br label %26109

26092:                                            ; preds = %26070, %26063
  %26093 = load i32, ptr %553, align 4, !tbaa !5
  %26094 = call ptr @__errno_location() #12
  store i32 %26093, ptr %26094, align 4, !tbaa !5
  %26095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26096 = load i32, ptr @test_count, align 4, !tbaa !5
  %26097 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26098 = load i32, ptr %26097, align 4, !tbaa !5
  %26099 = call ptr @s2n_strerror(i32 noundef %26098, ptr noundef @.str.4)
  %26100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26101 = load i32, ptr %26100, align 4, !tbaa !5
  %26102 = call ptr @s2n_strerror_debug(i32 noundef %26101, ptr noundef @.str.4)
  %26103 = call ptr @__errno_location() #12
  %26104 = load i32, ptr %26103, align 4, !tbaa !5
  %26105 = call ptr @strerror(i32 noundef %26104) #11
  %26106 = call ptr @__errno_location() #12
  %26107 = load i32, ptr %26106, align 4, !tbaa !5
  %26108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26095, ptr noundef @.str.5, i32 noundef %26096, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 961, ptr noundef %26099, ptr noundef %26102, ptr noundef %26105, i32 noundef %26107) #11
  br label %26109

26109:                                            ; preds = %26092, %26075
  call void @llvm.lifetime.end.p0(i64 4, ptr %553) #11
  br label %26110

26110:                                            ; preds = %26109
  br label %26111

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

26112:                                            ; No predecessors!
  br label %26113

26113:                                            ; preds = %26112
  br label %26114

26114:                                            ; preds = %26113, %26056
  br label %26115

26115:                                            ; preds = %26114
  br label %26116

26116:                                            ; preds = %26115
  br label %26117

26117:                                            ; preds = %26116
  %26118 = load i32, ptr @test_count, align 4, !tbaa !5
  %26119 = add nsw i32 %26118, 1
  store i32 %26119, ptr @test_count, align 4, !tbaa !5
  %26120 = load ptr, ptr %536, align 8, !tbaa !9
  %26121 = call i32 @s2n_conn_get_current_message_type(ptr noundef %26120)
  %26122 = icmp eq i32 %26121, 0
  br i1 %26122, label %26176, label %26123

26123:                                            ; preds = %26117
  br label %26124

26124:                                            ; preds = %26123
  br label %26125

26125:                                            ; preds = %26124
  call void @llvm.lifetime.start.p0(i64 4, ptr %554) #11
  %26126 = call ptr @__errno_location() #12
  %26127 = load i32, ptr %26126, align 4, !tbaa !5
  store i32 %26127, ptr %554, align 4, !tbaa !5
  %26128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26129 = call i32 @s2n_print_stacktrace(ptr noundef %26128)
  %26130 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26131 = trunc i8 %26130 to i1
  br i1 %26131, label %26132, label %26154

26132:                                            ; preds = %26125
  %26133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26134 = call i32 @fileno(ptr noundef %26133) #11
  %26135 = call i32 @isatty(i32 noundef %26134) #11
  %26136 = icmp ne i32 %26135, 0
  br i1 %26136, label %26137, label %26154

26137:                                            ; preds = %26132
  %26138 = load i32, ptr %554, align 4, !tbaa !5
  %26139 = call ptr @__errno_location() #12
  store i32 %26138, ptr %26139, align 4, !tbaa !5
  %26140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26141 = load i32, ptr @test_count, align 4, !tbaa !5
  %26142 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26143 = load i32, ptr %26142, align 4, !tbaa !5
  %26144 = call ptr @s2n_strerror(i32 noundef %26143, ptr noundef @.str.4)
  %26145 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26146 = load i32, ptr %26145, align 4, !tbaa !5
  %26147 = call ptr @s2n_strerror_debug(i32 noundef %26146, ptr noundef @.str.4)
  %26148 = call ptr @__errno_location() #12
  %26149 = load i32, ptr %26148, align 4, !tbaa !5
  %26150 = call ptr @strerror(i32 noundef %26149) #11
  %26151 = call ptr @__errno_location() #12
  %26152 = load i32, ptr %26151, align 4, !tbaa !5
  %26153 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26140, ptr noundef @.str.2, i32 noundef %26141, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 961, ptr noundef %26144, ptr noundef %26147, ptr noundef %26150, i32 noundef %26152) #11
  br label %26171

26154:                                            ; preds = %26132, %26125
  %26155 = load i32, ptr %554, align 4, !tbaa !5
  %26156 = call ptr @__errno_location() #12
  store i32 %26155, ptr %26156, align 4, !tbaa !5
  %26157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26158 = load i32, ptr @test_count, align 4, !tbaa !5
  %26159 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26160 = load i32, ptr %26159, align 4, !tbaa !5
  %26161 = call ptr @s2n_strerror(i32 noundef %26160, ptr noundef @.str.4)
  %26162 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26163 = load i32, ptr %26162, align 4, !tbaa !5
  %26164 = call ptr @s2n_strerror_debug(i32 noundef %26163, ptr noundef @.str.4)
  %26165 = call ptr @__errno_location() #12
  %26166 = load i32, ptr %26165, align 4, !tbaa !5
  %26167 = call ptr @strerror(i32 noundef %26166) #11
  %26168 = call ptr @__errno_location() #12
  %26169 = load i32, ptr %26168, align 4, !tbaa !5
  %26170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26157, ptr noundef @.str.5, i32 noundef %26158, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 961, ptr noundef %26161, ptr noundef %26164, ptr noundef %26167, i32 noundef %26169) #11
  br label %26171

26171:                                            ; preds = %26154, %26137
  call void @llvm.lifetime.end.p0(i64 4, ptr %554) #11
  br label %26172

26172:                                            ; preds = %26171
  br label %26173

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

26174:                                            ; No predecessors!
  br label %26175

26175:                                            ; preds = %26174
  br label %26176

26176:                                            ; preds = %26175, %26117
  br label %26177

26177:                                            ; preds = %26176
  br label %26178

26178:                                            ; preds = %26177
  br label %26179

26179:                                            ; preds = %26178
  %26180 = load i32, ptr @test_count, align 4, !tbaa !5
  %26181 = add nsw i32 %26180, 1
  store i32 %26181, ptr @test_count, align 4, !tbaa !5
  %26182 = load i64, ptr %548, align 8, !tbaa !42
  %26183 = icmp eq i64 %26182, 0
  br i1 %26183, label %26237, label %26184

26184:                                            ; preds = %26179
  br label %26185

26185:                                            ; preds = %26184
  br label %26186

26186:                                            ; preds = %26185
  call void @llvm.lifetime.start.p0(i64 4, ptr %555) #11
  %26187 = call ptr @__errno_location() #12
  %26188 = load i32, ptr %26187, align 4, !tbaa !5
  store i32 %26188, ptr %555, align 4, !tbaa !5
  %26189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26190 = call i32 @s2n_print_stacktrace(ptr noundef %26189)
  %26191 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26192 = trunc i8 %26191 to i1
  br i1 %26192, label %26193, label %26215

26193:                                            ; preds = %26186
  %26194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26195 = call i32 @fileno(ptr noundef %26194) #11
  %26196 = call i32 @isatty(i32 noundef %26195) #11
  %26197 = icmp ne i32 %26196, 0
  br i1 %26197, label %26198, label %26215

26198:                                            ; preds = %26193
  %26199 = load i32, ptr %555, align 4, !tbaa !5
  %26200 = call ptr @__errno_location() #12
  store i32 %26199, ptr %26200, align 4, !tbaa !5
  %26201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26202 = load i32, ptr @test_count, align 4, !tbaa !5
  %26203 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26204 = load i32, ptr %26203, align 4, !tbaa !5
  %26205 = call ptr @s2n_strerror(i32 noundef %26204, ptr noundef @.str.4)
  %26206 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26207 = load i32, ptr %26206, align 4, !tbaa !5
  %26208 = call ptr @s2n_strerror_debug(i32 noundef %26207, ptr noundef @.str.4)
  %26209 = call ptr @__errno_location() #12
  %26210 = load i32, ptr %26209, align 4, !tbaa !5
  %26211 = call ptr @strerror(i32 noundef %26210) #11
  %26212 = call ptr @__errno_location() #12
  %26213 = load i32, ptr %26212, align 4, !tbaa !5
  %26214 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26201, ptr noundef @.str.2, i32 noundef %26202, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 962, ptr noundef %26205, ptr noundef %26208, ptr noundef %26211, i32 noundef %26213) #11
  br label %26232

26215:                                            ; preds = %26193, %26186
  %26216 = load i32, ptr %555, align 4, !tbaa !5
  %26217 = call ptr @__errno_location() #12
  store i32 %26216, ptr %26217, align 4, !tbaa !5
  %26218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26219 = load i32, ptr @test_count, align 4, !tbaa !5
  %26220 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26221 = load i32, ptr %26220, align 4, !tbaa !5
  %26222 = call ptr @s2n_strerror(i32 noundef %26221, ptr noundef @.str.4)
  %26223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26224 = load i32, ptr %26223, align 4, !tbaa !5
  %26225 = call ptr @s2n_strerror_debug(i32 noundef %26224, ptr noundef @.str.4)
  %26226 = call ptr @__errno_location() #12
  %26227 = load i32, ptr %26226, align 4, !tbaa !5
  %26228 = call ptr @strerror(i32 noundef %26227) #11
  %26229 = call ptr @__errno_location() #12
  %26230 = load i32, ptr %26229, align 4, !tbaa !5
  %26231 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26218, ptr noundef @.str.5, i32 noundef %26219, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 962, ptr noundef %26222, ptr noundef %26225, ptr noundef %26228, i32 noundef %26230) #11
  br label %26232

26232:                                            ; preds = %26215, %26198
  call void @llvm.lifetime.end.p0(i64 4, ptr %555) #11
  br label %26233

26233:                                            ; preds = %26232
  br label %26234

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

26235:                                            ; No predecessors!
  br label %26236

26236:                                            ; preds = %26235
  br label %26237

26237:                                            ; preds = %26236, %26179
  br label %26238

26238:                                            ; preds = %26237
  br label %26239

26239:                                            ; preds = %26238
  br label %26240

26240:                                            ; preds = %26239
  %26241 = load i64, ptr %549, align 8, !tbaa !42
  %26242 = add i64 %26241, 1
  store i64 %26242, ptr %549, align 8, !tbaa !42
  br label %25852, !llvm.loop !58

26243:                                            ; preds = %25855
  br label %26244

26244:                                            ; preds = %26243
  %26245 = load i32, ptr @test_count, align 4, !tbaa !5
  %26246 = add nsw i32 %26245, 1
  store i32 %26246, ptr @test_count, align 4, !tbaa !5
  %26247 = call i32 @s2n_stuffer_write(ptr noundef %542, ptr noundef %501)
  %26248 = icmp eq i32 %26247, -1
  br i1 %26248, label %26249, label %26302

26249:                                            ; preds = %26244
  br label %26250

26250:                                            ; preds = %26249
  br label %26251

26251:                                            ; preds = %26250
  call void @llvm.lifetime.start.p0(i64 4, ptr %556) #11
  %26252 = call ptr @__errno_location() #12
  %26253 = load i32, ptr %26252, align 4, !tbaa !5
  store i32 %26253, ptr %556, align 4, !tbaa !5
  %26254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26255 = call i32 @s2n_print_stacktrace(ptr noundef %26254)
  %26256 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26257 = trunc i8 %26256 to i1
  br i1 %26257, label %26258, label %26280

26258:                                            ; preds = %26251
  %26259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26260 = call i32 @fileno(ptr noundef %26259) #11
  %26261 = call i32 @isatty(i32 noundef %26260) #11
  %26262 = icmp ne i32 %26261, 0
  br i1 %26262, label %26263, label %26280

26263:                                            ; preds = %26258
  %26264 = load i32, ptr %556, align 4, !tbaa !5
  %26265 = call ptr @__errno_location() #12
  store i32 %26264, ptr %26265, align 4, !tbaa !5
  %26266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26267 = load i32, ptr @test_count, align 4, !tbaa !5
  %26268 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26269 = load i32, ptr %26268, align 4, !tbaa !5
  %26270 = call ptr @s2n_strerror(i32 noundef %26269, ptr noundef @.str.4)
  %26271 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26272 = load i32, ptr %26271, align 4, !tbaa !5
  %26273 = call ptr @s2n_strerror_debug(i32 noundef %26272, ptr noundef @.str.4)
  %26274 = call ptr @__errno_location() #12
  %26275 = load i32, ptr %26274, align 4, !tbaa !5
  %26276 = call ptr @strerror(i32 noundef %26275) #11
  %26277 = call ptr @__errno_location() #12
  %26278 = load i32, ptr %26277, align 4, !tbaa !5
  %26279 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26266, ptr noundef @.str.2, i32 noundef %26267, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 965, ptr noundef %26270, ptr noundef %26273, ptr noundef %26276, i32 noundef %26278) #11
  br label %26297

26280:                                            ; preds = %26258, %26251
  %26281 = load i32, ptr %556, align 4, !tbaa !5
  %26282 = call ptr @__errno_location() #12
  store i32 %26281, ptr %26282, align 4, !tbaa !5
  %26283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26284 = load i32, ptr @test_count, align 4, !tbaa !5
  %26285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26286 = load i32, ptr %26285, align 4, !tbaa !5
  %26287 = call ptr @s2n_strerror(i32 noundef %26286, ptr noundef @.str.4)
  %26288 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26289 = load i32, ptr %26288, align 4, !tbaa !5
  %26290 = call ptr @s2n_strerror_debug(i32 noundef %26289, ptr noundef @.str.4)
  %26291 = call ptr @__errno_location() #12
  %26292 = load i32, ptr %26291, align 4, !tbaa !5
  %26293 = call ptr @strerror(i32 noundef %26292) #11
  %26294 = call ptr @__errno_location() #12
  %26295 = load i32, ptr %26294, align 4, !tbaa !5
  %26296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26283, ptr noundef @.str.5, i32 noundef %26284, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 965, ptr noundef %26287, ptr noundef %26290, ptr noundef %26293, i32 noundef %26295) #11
  br label %26297

26297:                                            ; preds = %26280, %26263
  call void @llvm.lifetime.end.p0(i64 4, ptr %556) #11
  br label %26298

26298:                                            ; preds = %26297
  br label %26299

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

26300:                                            ; No predecessors!
  br label %26301

26301:                                            ; preds = %26300
  br label %26302

26302:                                            ; preds = %26301, %26244
  br label %26303

26303:                                            ; preds = %26302
  br label %26304

26304:                                            ; preds = %26303
  call void @llvm.lifetime.start.p0(i64 8, ptr %557) #11
  store i64 0, ptr %557, align 8, !tbaa !42
  br label %26305

26305:                                            ; preds = %26693, %26304
  %26306 = load i64, ptr %557, align 8, !tbaa !42
  %26307 = icmp ult i64 %26306, 5
  br i1 %26307, label %26309, label %26308

26308:                                            ; preds = %26305
  store i32 2704, ptr %494, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %557) #11
  br label %26696

26309:                                            ; preds = %26305
  br label %26310

26310:                                            ; preds = %26309
  br label %26311

26311:                                            ; preds = %26310
  br label %26312

26312:                                            ; preds = %26311
  %26313 = load i32, ptr @test_count, align 4, !tbaa !5
  %26314 = add nsw i32 %26313, 1
  store i32 %26314, ptr @test_count, align 4, !tbaa !5
  %26315 = load ptr, ptr %536, align 8, !tbaa !9
  %26316 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %26317 = call i32 @s2n_recv_early_data(ptr noundef %26315, ptr noundef %26316, i64 noundef 100, ptr noundef %548, ptr noundef %547)
  %26318 = icmp eq i32 %26317, -1
  br i1 %26318, label %26372, label %26319

26319:                                            ; preds = %26312
  br label %26320

26320:                                            ; preds = %26319
  br label %26321

26321:                                            ; preds = %26320
  call void @llvm.lifetime.start.p0(i64 4, ptr %558) #11
  %26322 = call ptr @__errno_location() #12
  %26323 = load i32, ptr %26322, align 4, !tbaa !5
  store i32 %26323, ptr %558, align 4, !tbaa !5
  %26324 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26325 = call i32 @s2n_print_stacktrace(ptr noundef %26324)
  %26326 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26327 = trunc i8 %26326 to i1
  br i1 %26327, label %26328, label %26350

26328:                                            ; preds = %26321
  %26329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26330 = call i32 @fileno(ptr noundef %26329) #11
  %26331 = call i32 @isatty(i32 noundef %26330) #11
  %26332 = icmp ne i32 %26331, 0
  br i1 %26332, label %26333, label %26350

26333:                                            ; preds = %26328
  %26334 = load i32, ptr %558, align 4, !tbaa !5
  %26335 = call ptr @__errno_location() #12
  store i32 %26334, ptr %26335, align 4, !tbaa !5
  %26336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26337 = load i32, ptr @test_count, align 4, !tbaa !5
  %26338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26339 = load i32, ptr %26338, align 4, !tbaa !5
  %26340 = call ptr @s2n_strerror(i32 noundef %26339, ptr noundef @.str.4)
  %26341 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26342 = load i32, ptr %26341, align 4, !tbaa !5
  %26343 = call ptr @s2n_strerror_debug(i32 noundef %26342, ptr noundef @.str.4)
  %26344 = call ptr @__errno_location() #12
  %26345 = load i32, ptr %26344, align 4, !tbaa !5
  %26346 = call ptr @strerror(i32 noundef %26345) #11
  %26347 = call ptr @__errno_location() #12
  %26348 = load i32, ptr %26347, align 4, !tbaa !5
  %26349 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26336, ptr noundef @.str.2, i32 noundef %26337, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 968, ptr noundef %26340, ptr noundef %26343, ptr noundef %26346, i32 noundef %26348) #11
  br label %26367

26350:                                            ; preds = %26328, %26321
  %26351 = load i32, ptr %558, align 4, !tbaa !5
  %26352 = call ptr @__errno_location() #12
  store i32 %26351, ptr %26352, align 4, !tbaa !5
  %26353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26354 = load i32, ptr @test_count, align 4, !tbaa !5
  %26355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26356 = load i32, ptr %26355, align 4, !tbaa !5
  %26357 = call ptr @s2n_strerror(i32 noundef %26356, ptr noundef @.str.4)
  %26358 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26359 = load i32, ptr %26358, align 4, !tbaa !5
  %26360 = call ptr @s2n_strerror_debug(i32 noundef %26359, ptr noundef @.str.4)
  %26361 = call ptr @__errno_location() #12
  %26362 = load i32, ptr %26361, align 4, !tbaa !5
  %26363 = call ptr @strerror(i32 noundef %26362) #11
  %26364 = call ptr @__errno_location() #12
  %26365 = load i32, ptr %26364, align 4, !tbaa !5
  %26366 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26353, ptr noundef @.str.5, i32 noundef %26354, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 968, ptr noundef %26357, ptr noundef %26360, ptr noundef %26363, i32 noundef %26365) #11
  br label %26367

26367:                                            ; preds = %26350, %26333
  call void @llvm.lifetime.end.p0(i64 4, ptr %558) #11
  br label %26368

26368:                                            ; preds = %26367
  br label %26369

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

26370:                                            ; No predecessors!
  br label %26371

26371:                                            ; preds = %26370
  br label %26372

26372:                                            ; preds = %26371, %26312
  br label %26373

26373:                                            ; preds = %26372
  br label %26374

26374:                                            ; preds = %26373
  br label %26375

26375:                                            ; preds = %26374
  %26376 = load i32, ptr @test_count, align 4, !tbaa !5
  %26377 = add nsw i32 %26376, 1
  store i32 %26377, ptr @test_count, align 4, !tbaa !5
  %26378 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26379 = load i32, ptr %26378, align 4, !tbaa !5
  %26380 = icmp eq i32 %26379, 201326592
  br i1 %26380, label %26434, label %26381

26381:                                            ; preds = %26375
  br label %26382

26382:                                            ; preds = %26381
  br label %26383

26383:                                            ; preds = %26382
  call void @llvm.lifetime.start.p0(i64 4, ptr %559) #11
  %26384 = call ptr @__errno_location() #12
  %26385 = load i32, ptr %26384, align 4, !tbaa !5
  store i32 %26385, ptr %559, align 4, !tbaa !5
  %26386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26387 = call i32 @s2n_print_stacktrace(ptr noundef %26386)
  %26388 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26389 = trunc i8 %26388 to i1
  br i1 %26389, label %26390, label %26412

26390:                                            ; preds = %26383
  %26391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26392 = call i32 @fileno(ptr noundef %26391) #11
  %26393 = call i32 @isatty(i32 noundef %26392) #11
  %26394 = icmp ne i32 %26393, 0
  br i1 %26394, label %26395, label %26412

26395:                                            ; preds = %26390
  %26396 = load i32, ptr %559, align 4, !tbaa !5
  %26397 = call ptr @__errno_location() #12
  store i32 %26396, ptr %26397, align 4, !tbaa !5
  %26398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26399 = load i32, ptr @test_count, align 4, !tbaa !5
  %26400 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26401 = load i32, ptr %26400, align 4, !tbaa !5
  %26402 = call ptr @s2n_strerror(i32 noundef %26401, ptr noundef @.str.4)
  %26403 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26404 = load i32, ptr %26403, align 4, !tbaa !5
  %26405 = call ptr @s2n_strerror_debug(i32 noundef %26404, ptr noundef @.str.4)
  %26406 = call ptr @__errno_location() #12
  %26407 = load i32, ptr %26406, align 4, !tbaa !5
  %26408 = call ptr @strerror(i32 noundef %26407) #11
  %26409 = call ptr @__errno_location() #12
  %26410 = load i32, ptr %26409, align 4, !tbaa !5
  %26411 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26398, ptr noundef @.str.2, i32 noundef %26399, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 968, ptr noundef %26402, ptr noundef %26405, ptr noundef %26408, i32 noundef %26410) #11
  br label %26429

26412:                                            ; preds = %26390, %26383
  %26413 = load i32, ptr %559, align 4, !tbaa !5
  %26414 = call ptr @__errno_location() #12
  store i32 %26413, ptr %26414, align 4, !tbaa !5
  %26415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26416 = load i32, ptr @test_count, align 4, !tbaa !5
  %26417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26418 = load i32, ptr %26417, align 4, !tbaa !5
  %26419 = call ptr @s2n_strerror(i32 noundef %26418, ptr noundef @.str.4)
  %26420 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26421 = load i32, ptr %26420, align 4, !tbaa !5
  %26422 = call ptr @s2n_strerror_debug(i32 noundef %26421, ptr noundef @.str.4)
  %26423 = call ptr @__errno_location() #12
  %26424 = load i32, ptr %26423, align 4, !tbaa !5
  %26425 = call ptr @strerror(i32 noundef %26424) #11
  %26426 = call ptr @__errno_location() #12
  %26427 = load i32, ptr %26426, align 4, !tbaa !5
  %26428 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26415, ptr noundef @.str.5, i32 noundef %26416, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 968, ptr noundef %26419, ptr noundef %26422, ptr noundef %26425, i32 noundef %26427) #11
  br label %26429

26429:                                            ; preds = %26412, %26395
  call void @llvm.lifetime.end.p0(i64 4, ptr %559) #11
  br label %26430

26430:                                            ; preds = %26429
  br label %26431

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

26432:                                            ; No predecessors!
  br label %26433

26433:                                            ; preds = %26432
  br label %26434

26434:                                            ; preds = %26433, %26375
  br label %26435

26435:                                            ; preds = %26434
  br label %26436

26436:                                            ; preds = %26435
  br label %26437

26437:                                            ; preds = %26436
  %26438 = load i32, ptr @test_count, align 4, !tbaa !5
  %26439 = add nsw i32 %26438, 1
  store i32 %26439, ptr @test_count, align 4, !tbaa !5
  %26440 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26441 = load i32, ptr %26440, align 4, !tbaa !5
  %26442 = call ptr @s2n_strerror_debug(i32 noundef %26441, ptr noundef @.str.4)
  %26443 = icmp eq ptr %26442, null
  br i1 %26443, label %26444, label %26497

26444:                                            ; preds = %26437
  br label %26445

26445:                                            ; preds = %26444
  br label %26446

26446:                                            ; preds = %26445
  call void @llvm.lifetime.start.p0(i64 4, ptr %560) #11
  %26447 = call ptr @__errno_location() #12
  %26448 = load i32, ptr %26447, align 4, !tbaa !5
  store i32 %26448, ptr %560, align 4, !tbaa !5
  %26449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26450 = call i32 @s2n_print_stacktrace(ptr noundef %26449)
  %26451 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26452 = trunc i8 %26451 to i1
  br i1 %26452, label %26453, label %26475

26453:                                            ; preds = %26446
  %26454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26455 = call i32 @fileno(ptr noundef %26454) #11
  %26456 = call i32 @isatty(i32 noundef %26455) #11
  %26457 = icmp ne i32 %26456, 0
  br i1 %26457, label %26458, label %26475

26458:                                            ; preds = %26453
  %26459 = load i32, ptr %560, align 4, !tbaa !5
  %26460 = call ptr @__errno_location() #12
  store i32 %26459, ptr %26460, align 4, !tbaa !5
  %26461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26462 = load i32, ptr @test_count, align 4, !tbaa !5
  %26463 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26464 = load i32, ptr %26463, align 4, !tbaa !5
  %26465 = call ptr @s2n_strerror(i32 noundef %26464, ptr noundef @.str.4)
  %26466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26467 = load i32, ptr %26466, align 4, !tbaa !5
  %26468 = call ptr @s2n_strerror_debug(i32 noundef %26467, ptr noundef @.str.4)
  %26469 = call ptr @__errno_location() #12
  %26470 = load i32, ptr %26469, align 4, !tbaa !5
  %26471 = call ptr @strerror(i32 noundef %26470) #11
  %26472 = call ptr @__errno_location() #12
  %26473 = load i32, ptr %26472, align 4, !tbaa !5
  %26474 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26461, ptr noundef @.str.2, i32 noundef %26462, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 968, ptr noundef %26465, ptr noundef %26468, ptr noundef %26471, i32 noundef %26473) #11
  br label %26492

26475:                                            ; preds = %26453, %26446
  %26476 = load i32, ptr %560, align 4, !tbaa !5
  %26477 = call ptr @__errno_location() #12
  store i32 %26476, ptr %26477, align 4, !tbaa !5
  %26478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26479 = load i32, ptr @test_count, align 4, !tbaa !5
  %26480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26481 = load i32, ptr %26480, align 4, !tbaa !5
  %26482 = call ptr @s2n_strerror(i32 noundef %26481, ptr noundef @.str.4)
  %26483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26484 = load i32, ptr %26483, align 4, !tbaa !5
  %26485 = call ptr @s2n_strerror_debug(i32 noundef %26484, ptr noundef @.str.4)
  %26486 = call ptr @__errno_location() #12
  %26487 = load i32, ptr %26486, align 4, !tbaa !5
  %26488 = call ptr @strerror(i32 noundef %26487) #11
  %26489 = call ptr @__errno_location() #12
  %26490 = load i32, ptr %26489, align 4, !tbaa !5
  %26491 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26478, ptr noundef @.str.5, i32 noundef %26479, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 968, ptr noundef %26482, ptr noundef %26485, ptr noundef %26488, i32 noundef %26490) #11
  br label %26492

26492:                                            ; preds = %26475, %26458
  call void @llvm.lifetime.end.p0(i64 4, ptr %560) #11
  br label %26493

26493:                                            ; preds = %26492
  br label %26494

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

26495:                                            ; No predecessors!
  br label %26496

26496:                                            ; preds = %26495
  br label %26497

26497:                                            ; preds = %26496, %26437
  br label %26498

26498:                                            ; preds = %26497
  br label %26499

26499:                                            ; preds = %26498
  br label %26500

26500:                                            ; preds = %26499
  br label %26501

26501:                                            ; preds = %26500
  br label %26502

26502:                                            ; preds = %26501
  %26503 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26503, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26504 = call ptr @__errno_location() #12
  store i32 0, ptr %26504, align 4, !tbaa !5
  br label %26505

26505:                                            ; preds = %26502
  br label %26506

26506:                                            ; preds = %26505
  br label %26507

26507:                                            ; preds = %26506
  br label %26508

26508:                                            ; preds = %26507
  br label %26509

26509:                                            ; preds = %26508
  %26510 = load i32, ptr @test_count, align 4, !tbaa !5
  %26511 = add nsw i32 %26510, 1
  store i32 %26511, ptr @test_count, align 4, !tbaa !5
  %26512 = load i32, ptr %547, align 4, !tbaa !5
  %26513 = icmp eq i32 %26512, 2
  br i1 %26513, label %26567, label %26514

26514:                                            ; preds = %26509
  br label %26515

26515:                                            ; preds = %26514
  br label %26516

26516:                                            ; preds = %26515
  call void @llvm.lifetime.start.p0(i64 4, ptr %561) #11
  %26517 = call ptr @__errno_location() #12
  %26518 = load i32, ptr %26517, align 4, !tbaa !5
  store i32 %26518, ptr %561, align 4, !tbaa !5
  %26519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26520 = call i32 @s2n_print_stacktrace(ptr noundef %26519)
  %26521 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26522 = trunc i8 %26521 to i1
  br i1 %26522, label %26523, label %26545

26523:                                            ; preds = %26516
  %26524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26525 = call i32 @fileno(ptr noundef %26524) #11
  %26526 = call i32 @isatty(i32 noundef %26525) #11
  %26527 = icmp ne i32 %26526, 0
  br i1 %26527, label %26528, label %26545

26528:                                            ; preds = %26523
  %26529 = load i32, ptr %561, align 4, !tbaa !5
  %26530 = call ptr @__errno_location() #12
  store i32 %26529, ptr %26530, align 4, !tbaa !5
  %26531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26532 = load i32, ptr @test_count, align 4, !tbaa !5
  %26533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26534 = load i32, ptr %26533, align 4, !tbaa !5
  %26535 = call ptr @s2n_strerror(i32 noundef %26534, ptr noundef @.str.4)
  %26536 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26537 = load i32, ptr %26536, align 4, !tbaa !5
  %26538 = call ptr @s2n_strerror_debug(i32 noundef %26537, ptr noundef @.str.4)
  %26539 = call ptr @__errno_location() #12
  %26540 = load i32, ptr %26539, align 4, !tbaa !5
  %26541 = call ptr @strerror(i32 noundef %26540) #11
  %26542 = call ptr @__errno_location() #12
  %26543 = load i32, ptr %26542, align 4, !tbaa !5
  %26544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26531, ptr noundef @.str.2, i32 noundef %26532, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 969, ptr noundef %26535, ptr noundef %26538, ptr noundef %26541, i32 noundef %26543) #11
  br label %26562

26545:                                            ; preds = %26523, %26516
  %26546 = load i32, ptr %561, align 4, !tbaa !5
  %26547 = call ptr @__errno_location() #12
  store i32 %26546, ptr %26547, align 4, !tbaa !5
  %26548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26549 = load i32, ptr @test_count, align 4, !tbaa !5
  %26550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26551 = load i32, ptr %26550, align 4, !tbaa !5
  %26552 = call ptr @s2n_strerror(i32 noundef %26551, ptr noundef @.str.4)
  %26553 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26554 = load i32, ptr %26553, align 4, !tbaa !5
  %26555 = call ptr @s2n_strerror_debug(i32 noundef %26554, ptr noundef @.str.4)
  %26556 = call ptr @__errno_location() #12
  %26557 = load i32, ptr %26556, align 4, !tbaa !5
  %26558 = call ptr @strerror(i32 noundef %26557) #11
  %26559 = call ptr @__errno_location() #12
  %26560 = load i32, ptr %26559, align 4, !tbaa !5
  %26561 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26548, ptr noundef @.str.5, i32 noundef %26549, ptr noundef @.str.102, ptr noundef @.str.1, i32 noundef 969, ptr noundef %26552, ptr noundef %26555, ptr noundef %26558, i32 noundef %26560) #11
  br label %26562

26562:                                            ; preds = %26545, %26528
  call void @llvm.lifetime.end.p0(i64 4, ptr %561) #11
  br label %26563

26563:                                            ; preds = %26562
  br label %26564

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

26565:                                            ; No predecessors!
  br label %26566

26566:                                            ; preds = %26565
  br label %26567

26567:                                            ; preds = %26566, %26509
  br label %26568

26568:                                            ; preds = %26567
  br label %26569

26569:                                            ; preds = %26568
  br label %26570

26570:                                            ; preds = %26569
  %26571 = load i32, ptr @test_count, align 4, !tbaa !5
  %26572 = add nsw i32 %26571, 1
  store i32 %26572, ptr @test_count, align 4, !tbaa !5
  %26573 = load ptr, ptr %536, align 8, !tbaa !9
  %26574 = call i32 @s2n_conn_get_current_message_type(ptr noundef %26573)
  %26575 = icmp eq i32 %26574, 1
  br i1 %26575, label %26629, label %26576

26576:                                            ; preds = %26570
  br label %26577

26577:                                            ; preds = %26576
  br label %26578

26578:                                            ; preds = %26577
  call void @llvm.lifetime.start.p0(i64 4, ptr %562) #11
  %26579 = call ptr @__errno_location() #12
  %26580 = load i32, ptr %26579, align 4, !tbaa !5
  store i32 %26580, ptr %562, align 4, !tbaa !5
  %26581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26582 = call i32 @s2n_print_stacktrace(ptr noundef %26581)
  %26583 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26584 = trunc i8 %26583 to i1
  br i1 %26584, label %26585, label %26607

26585:                                            ; preds = %26578
  %26586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26587 = call i32 @fileno(ptr noundef %26586) #11
  %26588 = call i32 @isatty(i32 noundef %26587) #11
  %26589 = icmp ne i32 %26588, 0
  br i1 %26589, label %26590, label %26607

26590:                                            ; preds = %26585
  %26591 = load i32, ptr %562, align 4, !tbaa !5
  %26592 = call ptr @__errno_location() #12
  store i32 %26591, ptr %26592, align 4, !tbaa !5
  %26593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26594 = load i32, ptr @test_count, align 4, !tbaa !5
  %26595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26596 = load i32, ptr %26595, align 4, !tbaa !5
  %26597 = call ptr @s2n_strerror(i32 noundef %26596, ptr noundef @.str.4)
  %26598 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26599 = load i32, ptr %26598, align 4, !tbaa !5
  %26600 = call ptr @s2n_strerror_debug(i32 noundef %26599, ptr noundef @.str.4)
  %26601 = call ptr @__errno_location() #12
  %26602 = load i32, ptr %26601, align 4, !tbaa !5
  %26603 = call ptr @strerror(i32 noundef %26602) #11
  %26604 = call ptr @__errno_location() #12
  %26605 = load i32, ptr %26604, align 4, !tbaa !5
  %26606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26593, ptr noundef @.str.2, i32 noundef %26594, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 969, ptr noundef %26597, ptr noundef %26600, ptr noundef %26603, i32 noundef %26605) #11
  br label %26624

26607:                                            ; preds = %26585, %26578
  %26608 = load i32, ptr %562, align 4, !tbaa !5
  %26609 = call ptr @__errno_location() #12
  store i32 %26608, ptr %26609, align 4, !tbaa !5
  %26610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26611 = load i32, ptr @test_count, align 4, !tbaa !5
  %26612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26613 = load i32, ptr %26612, align 4, !tbaa !5
  %26614 = call ptr @s2n_strerror(i32 noundef %26613, ptr noundef @.str.4)
  %26615 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26616 = load i32, ptr %26615, align 4, !tbaa !5
  %26617 = call ptr @s2n_strerror_debug(i32 noundef %26616, ptr noundef @.str.4)
  %26618 = call ptr @__errno_location() #12
  %26619 = load i32, ptr %26618, align 4, !tbaa !5
  %26620 = call ptr @strerror(i32 noundef %26619) #11
  %26621 = call ptr @__errno_location() #12
  %26622 = load i32, ptr %26621, align 4, !tbaa !5
  %26623 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26610, ptr noundef @.str.5, i32 noundef %26611, ptr noundef @.str.106, ptr noundef @.str.1, i32 noundef 969, ptr noundef %26614, ptr noundef %26617, ptr noundef %26620, i32 noundef %26622) #11
  br label %26624

26624:                                            ; preds = %26607, %26590
  call void @llvm.lifetime.end.p0(i64 4, ptr %562) #11
  br label %26625

26625:                                            ; preds = %26624
  br label %26626

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

26627:                                            ; No predecessors!
  br label %26628

26628:                                            ; preds = %26627
  br label %26629

26629:                                            ; preds = %26628, %26570
  br label %26630

26630:                                            ; preds = %26629
  br label %26631

26631:                                            ; preds = %26630
  br label %26632

26632:                                            ; preds = %26631
  %26633 = load i32, ptr @test_count, align 4, !tbaa !5
  %26634 = add nsw i32 %26633, 1
  store i32 %26634, ptr @test_count, align 4, !tbaa !5
  %26635 = load i64, ptr %548, align 8, !tbaa !42
  %26636 = icmp eq i64 %26635, 0
  br i1 %26636, label %26690, label %26637

26637:                                            ; preds = %26632
  br label %26638

26638:                                            ; preds = %26637
  br label %26639

26639:                                            ; preds = %26638
  call void @llvm.lifetime.start.p0(i64 4, ptr %563) #11
  %26640 = call ptr @__errno_location() #12
  %26641 = load i32, ptr %26640, align 4, !tbaa !5
  store i32 %26641, ptr %563, align 4, !tbaa !5
  %26642 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26643 = call i32 @s2n_print_stacktrace(ptr noundef %26642)
  %26644 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26645 = trunc i8 %26644 to i1
  br i1 %26645, label %26646, label %26668

26646:                                            ; preds = %26639
  %26647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26648 = call i32 @fileno(ptr noundef %26647) #11
  %26649 = call i32 @isatty(i32 noundef %26648) #11
  %26650 = icmp ne i32 %26649, 0
  br i1 %26650, label %26651, label %26668

26651:                                            ; preds = %26646
  %26652 = load i32, ptr %563, align 4, !tbaa !5
  %26653 = call ptr @__errno_location() #12
  store i32 %26652, ptr %26653, align 4, !tbaa !5
  %26654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26655 = load i32, ptr @test_count, align 4, !tbaa !5
  %26656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26657 = load i32, ptr %26656, align 4, !tbaa !5
  %26658 = call ptr @s2n_strerror(i32 noundef %26657, ptr noundef @.str.4)
  %26659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26660 = load i32, ptr %26659, align 4, !tbaa !5
  %26661 = call ptr @s2n_strerror_debug(i32 noundef %26660, ptr noundef @.str.4)
  %26662 = call ptr @__errno_location() #12
  %26663 = load i32, ptr %26662, align 4, !tbaa !5
  %26664 = call ptr @strerror(i32 noundef %26663) #11
  %26665 = call ptr @__errno_location() #12
  %26666 = load i32, ptr %26665, align 4, !tbaa !5
  %26667 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26654, ptr noundef @.str.2, i32 noundef %26655, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 970, ptr noundef %26658, ptr noundef %26661, ptr noundef %26664, i32 noundef %26666) #11
  br label %26685

26668:                                            ; preds = %26646, %26639
  %26669 = load i32, ptr %563, align 4, !tbaa !5
  %26670 = call ptr @__errno_location() #12
  store i32 %26669, ptr %26670, align 4, !tbaa !5
  %26671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26672 = load i32, ptr @test_count, align 4, !tbaa !5
  %26673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26674 = load i32, ptr %26673, align 4, !tbaa !5
  %26675 = call ptr @s2n_strerror(i32 noundef %26674, ptr noundef @.str.4)
  %26676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26677 = load i32, ptr %26676, align 4, !tbaa !5
  %26678 = call ptr @s2n_strerror_debug(i32 noundef %26677, ptr noundef @.str.4)
  %26679 = call ptr @__errno_location() #12
  %26680 = load i32, ptr %26679, align 4, !tbaa !5
  %26681 = call ptr @strerror(i32 noundef %26680) #11
  %26682 = call ptr @__errno_location() #12
  %26683 = load i32, ptr %26682, align 4, !tbaa !5
  %26684 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26671, ptr noundef @.str.5, i32 noundef %26672, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 970, ptr noundef %26675, ptr noundef %26678, ptr noundef %26681, i32 noundef %26683) #11
  br label %26685

26685:                                            ; preds = %26668, %26651
  call void @llvm.lifetime.end.p0(i64 4, ptr %563) #11
  br label %26686

26686:                                            ; preds = %26685
  br label %26687

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

26688:                                            ; No predecessors!
  br label %26689

26689:                                            ; preds = %26688
  br label %26690

26690:                                            ; preds = %26689, %26632
  br label %26691

26691:                                            ; preds = %26690
  br label %26692

26692:                                            ; preds = %26691
  br label %26693

26693:                                            ; preds = %26692
  %26694 = load i64, ptr %557, align 8, !tbaa !42
  %26695 = add i64 %26694, 1
  store i64 %26695, ptr %557, align 8, !tbaa !42
  br label %26305, !llvm.loop !59

26696:                                            ; preds = %26308
  br label %26697

26697:                                            ; preds = %26696
  %26698 = load i32, ptr @test_count, align 4, !tbaa !5
  %26699 = add nsw i32 %26698, 1
  store i32 %26699, ptr @test_count, align 4, !tbaa !5
  %26700 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %543, i32 noundef 8092)
  %26701 = icmp eq i32 %26700, -1
  br i1 %26701, label %26702, label %26755

26702:                                            ; preds = %26697
  br label %26703

26703:                                            ; preds = %26702
  br label %26704

26704:                                            ; preds = %26703
  call void @llvm.lifetime.start.p0(i64 4, ptr %564) #11
  %26705 = call ptr @__errno_location() #12
  %26706 = load i32, ptr %26705, align 4, !tbaa !5
  store i32 %26706, ptr %564, align 4, !tbaa !5
  %26707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26708 = call i32 @s2n_print_stacktrace(ptr noundef %26707)
  %26709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26710 = trunc i8 %26709 to i1
  br i1 %26710, label %26711, label %26733

26711:                                            ; preds = %26704
  %26712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26713 = call i32 @fileno(ptr noundef %26712) #11
  %26714 = call i32 @isatty(i32 noundef %26713) #11
  %26715 = icmp ne i32 %26714, 0
  br i1 %26715, label %26716, label %26733

26716:                                            ; preds = %26711
  %26717 = load i32, ptr %564, align 4, !tbaa !5
  %26718 = call ptr @__errno_location() #12
  store i32 %26717, ptr %26718, align 4, !tbaa !5
  %26719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26720 = load i32, ptr @test_count, align 4, !tbaa !5
  %26721 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26722 = load i32, ptr %26721, align 4, !tbaa !5
  %26723 = call ptr @s2n_strerror(i32 noundef %26722, ptr noundef @.str.4)
  %26724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26725 = load i32, ptr %26724, align 4, !tbaa !5
  %26726 = call ptr @s2n_strerror_debug(i32 noundef %26725, ptr noundef @.str.4)
  %26727 = call ptr @__errno_location() #12
  %26728 = load i32, ptr %26727, align 4, !tbaa !5
  %26729 = call ptr @strerror(i32 noundef %26728) #11
  %26730 = call ptr @__errno_location() #12
  %26731 = load i32, ptr %26730, align 4, !tbaa !5
  %26732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26719, ptr noundef @.str.2, i32 noundef %26720, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 973, ptr noundef %26723, ptr noundef %26726, ptr noundef %26729, i32 noundef %26731) #11
  br label %26750

26733:                                            ; preds = %26711, %26704
  %26734 = load i32, ptr %564, align 4, !tbaa !5
  %26735 = call ptr @__errno_location() #12
  store i32 %26734, ptr %26735, align 4, !tbaa !5
  %26736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26737 = load i32, ptr @test_count, align 4, !tbaa !5
  %26738 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26739 = load i32, ptr %26738, align 4, !tbaa !5
  %26740 = call ptr @s2n_strerror(i32 noundef %26739, ptr noundef @.str.4)
  %26741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26742 = load i32, ptr %26741, align 4, !tbaa !5
  %26743 = call ptr @s2n_strerror_debug(i32 noundef %26742, ptr noundef @.str.4)
  %26744 = call ptr @__errno_location() #12
  %26745 = load i32, ptr %26744, align 4, !tbaa !5
  %26746 = call ptr @strerror(i32 noundef %26745) #11
  %26747 = call ptr @__errno_location() #12
  %26748 = load i32, ptr %26747, align 4, !tbaa !5
  %26749 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26736, ptr noundef @.str.5, i32 noundef %26737, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 973, ptr noundef %26740, ptr noundef %26743, ptr noundef %26746, i32 noundef %26748) #11
  br label %26750

26750:                                            ; preds = %26733, %26716
  call void @llvm.lifetime.end.p0(i64 4, ptr %564) #11
  br label %26751

26751:                                            ; preds = %26750
  br label %26752

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

26753:                                            ; No predecessors!
  br label %26754

26754:                                            ; preds = %26753
  br label %26755

26755:                                            ; preds = %26754, %26697
  br label %26756

26756:                                            ; preds = %26755
  br label %26757

26757:                                            ; preds = %26756
  call void @llvm.lifetime.start.p0(i64 8, ptr %565) #11
  store i64 0, ptr %565, align 8, !tbaa !42
  br label %26758

26758:                                            ; preds = %27146, %26757
  %26759 = load i64, ptr %565, align 8, !tbaa !42
  %26760 = icmp ult i64 %26759, 5
  br i1 %26760, label %26762, label %26761

26761:                                            ; preds = %26758
  store i32 2755, ptr %494, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %565) #11
  br label %27149

26762:                                            ; preds = %26758
  br label %26763

26763:                                            ; preds = %26762
  br label %26764

26764:                                            ; preds = %26763
  br label %26765

26765:                                            ; preds = %26764
  %26766 = load i32, ptr @test_count, align 4, !tbaa !5
  %26767 = add nsw i32 %26766, 1
  store i32 %26767, ptr @test_count, align 4, !tbaa !5
  %26768 = load ptr, ptr %536, align 8, !tbaa !9
  %26769 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %26770 = call i32 @s2n_recv_early_data(ptr noundef %26768, ptr noundef %26769, i64 noundef 100, ptr noundef %548, ptr noundef %547)
  %26771 = icmp eq i32 %26770, -1
  br i1 %26771, label %26825, label %26772

26772:                                            ; preds = %26765
  br label %26773

26773:                                            ; preds = %26772
  br label %26774

26774:                                            ; preds = %26773
  call void @llvm.lifetime.start.p0(i64 4, ptr %566) #11
  %26775 = call ptr @__errno_location() #12
  %26776 = load i32, ptr %26775, align 4, !tbaa !5
  store i32 %26776, ptr %566, align 4, !tbaa !5
  %26777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26778 = call i32 @s2n_print_stacktrace(ptr noundef %26777)
  %26779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26780 = trunc i8 %26779 to i1
  br i1 %26780, label %26781, label %26803

26781:                                            ; preds = %26774
  %26782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26783 = call i32 @fileno(ptr noundef %26782) #11
  %26784 = call i32 @isatty(i32 noundef %26783) #11
  %26785 = icmp ne i32 %26784, 0
  br i1 %26785, label %26786, label %26803

26786:                                            ; preds = %26781
  %26787 = load i32, ptr %566, align 4, !tbaa !5
  %26788 = call ptr @__errno_location() #12
  store i32 %26787, ptr %26788, align 4, !tbaa !5
  %26789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26790 = load i32, ptr @test_count, align 4, !tbaa !5
  %26791 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26792 = load i32, ptr %26791, align 4, !tbaa !5
  %26793 = call ptr @s2n_strerror(i32 noundef %26792, ptr noundef @.str.4)
  %26794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26795 = load i32, ptr %26794, align 4, !tbaa !5
  %26796 = call ptr @s2n_strerror_debug(i32 noundef %26795, ptr noundef @.str.4)
  %26797 = call ptr @__errno_location() #12
  %26798 = load i32, ptr %26797, align 4, !tbaa !5
  %26799 = call ptr @strerror(i32 noundef %26798) #11
  %26800 = call ptr @__errno_location() #12
  %26801 = load i32, ptr %26800, align 4, !tbaa !5
  %26802 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26789, ptr noundef @.str.2, i32 noundef %26790, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 976, ptr noundef %26793, ptr noundef %26796, ptr noundef %26799, i32 noundef %26801) #11
  br label %26820

26803:                                            ; preds = %26781, %26774
  %26804 = load i32, ptr %566, align 4, !tbaa !5
  %26805 = call ptr @__errno_location() #12
  store i32 %26804, ptr %26805, align 4, !tbaa !5
  %26806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26807 = load i32, ptr @test_count, align 4, !tbaa !5
  %26808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26809 = load i32, ptr %26808, align 4, !tbaa !5
  %26810 = call ptr @s2n_strerror(i32 noundef %26809, ptr noundef @.str.4)
  %26811 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26812 = load i32, ptr %26811, align 4, !tbaa !5
  %26813 = call ptr @s2n_strerror_debug(i32 noundef %26812, ptr noundef @.str.4)
  %26814 = call ptr @__errno_location() #12
  %26815 = load i32, ptr %26814, align 4, !tbaa !5
  %26816 = call ptr @strerror(i32 noundef %26815) #11
  %26817 = call ptr @__errno_location() #12
  %26818 = load i32, ptr %26817, align 4, !tbaa !5
  %26819 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26806, ptr noundef @.str.5, i32 noundef %26807, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 976, ptr noundef %26810, ptr noundef %26813, ptr noundef %26816, i32 noundef %26818) #11
  br label %26820

26820:                                            ; preds = %26803, %26786
  call void @llvm.lifetime.end.p0(i64 4, ptr %566) #11
  br label %26821

26821:                                            ; preds = %26820
  br label %26822

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

26823:                                            ; No predecessors!
  br label %26824

26824:                                            ; preds = %26823
  br label %26825

26825:                                            ; preds = %26824, %26765
  br label %26826

26826:                                            ; preds = %26825
  br label %26827

26827:                                            ; preds = %26826
  br label %26828

26828:                                            ; preds = %26827
  %26829 = load i32, ptr @test_count, align 4, !tbaa !5
  %26830 = add nsw i32 %26829, 1
  store i32 %26830, ptr @test_count, align 4, !tbaa !5
  %26831 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26832 = load i32, ptr %26831, align 4, !tbaa !5
  %26833 = icmp eq i32 %26832, 201326592
  br i1 %26833, label %26887, label %26834

26834:                                            ; preds = %26828
  br label %26835

26835:                                            ; preds = %26834
  br label %26836

26836:                                            ; preds = %26835
  call void @llvm.lifetime.start.p0(i64 4, ptr %567) #11
  %26837 = call ptr @__errno_location() #12
  %26838 = load i32, ptr %26837, align 4, !tbaa !5
  store i32 %26838, ptr %567, align 4, !tbaa !5
  %26839 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26840 = call i32 @s2n_print_stacktrace(ptr noundef %26839)
  %26841 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26842 = trunc i8 %26841 to i1
  br i1 %26842, label %26843, label %26865

26843:                                            ; preds = %26836
  %26844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26845 = call i32 @fileno(ptr noundef %26844) #11
  %26846 = call i32 @isatty(i32 noundef %26845) #11
  %26847 = icmp ne i32 %26846, 0
  br i1 %26847, label %26848, label %26865

26848:                                            ; preds = %26843
  %26849 = load i32, ptr %567, align 4, !tbaa !5
  %26850 = call ptr @__errno_location() #12
  store i32 %26849, ptr %26850, align 4, !tbaa !5
  %26851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26852 = load i32, ptr @test_count, align 4, !tbaa !5
  %26853 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26854 = load i32, ptr %26853, align 4, !tbaa !5
  %26855 = call ptr @s2n_strerror(i32 noundef %26854, ptr noundef @.str.4)
  %26856 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26857 = load i32, ptr %26856, align 4, !tbaa !5
  %26858 = call ptr @s2n_strerror_debug(i32 noundef %26857, ptr noundef @.str.4)
  %26859 = call ptr @__errno_location() #12
  %26860 = load i32, ptr %26859, align 4, !tbaa !5
  %26861 = call ptr @strerror(i32 noundef %26860) #11
  %26862 = call ptr @__errno_location() #12
  %26863 = load i32, ptr %26862, align 4, !tbaa !5
  %26864 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26851, ptr noundef @.str.2, i32 noundef %26852, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 976, ptr noundef %26855, ptr noundef %26858, ptr noundef %26861, i32 noundef %26863) #11
  br label %26882

26865:                                            ; preds = %26843, %26836
  %26866 = load i32, ptr %567, align 4, !tbaa !5
  %26867 = call ptr @__errno_location() #12
  store i32 %26866, ptr %26867, align 4, !tbaa !5
  %26868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26869 = load i32, ptr @test_count, align 4, !tbaa !5
  %26870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26871 = load i32, ptr %26870, align 4, !tbaa !5
  %26872 = call ptr @s2n_strerror(i32 noundef %26871, ptr noundef @.str.4)
  %26873 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26874 = load i32, ptr %26873, align 4, !tbaa !5
  %26875 = call ptr @s2n_strerror_debug(i32 noundef %26874, ptr noundef @.str.4)
  %26876 = call ptr @__errno_location() #12
  %26877 = load i32, ptr %26876, align 4, !tbaa !5
  %26878 = call ptr @strerror(i32 noundef %26877) #11
  %26879 = call ptr @__errno_location() #12
  %26880 = load i32, ptr %26879, align 4, !tbaa !5
  %26881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26868, ptr noundef @.str.5, i32 noundef %26869, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 976, ptr noundef %26872, ptr noundef %26875, ptr noundef %26878, i32 noundef %26880) #11
  br label %26882

26882:                                            ; preds = %26865, %26848
  call void @llvm.lifetime.end.p0(i64 4, ptr %567) #11
  br label %26883

26883:                                            ; preds = %26882
  br label %26884

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

26885:                                            ; No predecessors!
  br label %26886

26886:                                            ; preds = %26885
  br label %26887

26887:                                            ; preds = %26886, %26828
  br label %26888

26888:                                            ; preds = %26887
  br label %26889

26889:                                            ; preds = %26888
  br label %26890

26890:                                            ; preds = %26889
  %26891 = load i32, ptr @test_count, align 4, !tbaa !5
  %26892 = add nsw i32 %26891, 1
  store i32 %26892, ptr @test_count, align 4, !tbaa !5
  %26893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26894 = load i32, ptr %26893, align 4, !tbaa !5
  %26895 = call ptr @s2n_strerror_debug(i32 noundef %26894, ptr noundef @.str.4)
  %26896 = icmp eq ptr %26895, null
  br i1 %26896, label %26897, label %26950

26897:                                            ; preds = %26890
  br label %26898

26898:                                            ; preds = %26897
  br label %26899

26899:                                            ; preds = %26898
  call void @llvm.lifetime.start.p0(i64 4, ptr %568) #11
  %26900 = call ptr @__errno_location() #12
  %26901 = load i32, ptr %26900, align 4, !tbaa !5
  store i32 %26901, ptr %568, align 4, !tbaa !5
  %26902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26903 = call i32 @s2n_print_stacktrace(ptr noundef %26902)
  %26904 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26905 = trunc i8 %26904 to i1
  br i1 %26905, label %26906, label %26928

26906:                                            ; preds = %26899
  %26907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26908 = call i32 @fileno(ptr noundef %26907) #11
  %26909 = call i32 @isatty(i32 noundef %26908) #11
  %26910 = icmp ne i32 %26909, 0
  br i1 %26910, label %26911, label %26928

26911:                                            ; preds = %26906
  %26912 = load i32, ptr %568, align 4, !tbaa !5
  %26913 = call ptr @__errno_location() #12
  store i32 %26912, ptr %26913, align 4, !tbaa !5
  %26914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26915 = load i32, ptr @test_count, align 4, !tbaa !5
  %26916 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26917 = load i32, ptr %26916, align 4, !tbaa !5
  %26918 = call ptr @s2n_strerror(i32 noundef %26917, ptr noundef @.str.4)
  %26919 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26920 = load i32, ptr %26919, align 4, !tbaa !5
  %26921 = call ptr @s2n_strerror_debug(i32 noundef %26920, ptr noundef @.str.4)
  %26922 = call ptr @__errno_location() #12
  %26923 = load i32, ptr %26922, align 4, !tbaa !5
  %26924 = call ptr @strerror(i32 noundef %26923) #11
  %26925 = call ptr @__errno_location() #12
  %26926 = load i32, ptr %26925, align 4, !tbaa !5
  %26927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26914, ptr noundef @.str.2, i32 noundef %26915, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 976, ptr noundef %26918, ptr noundef %26921, ptr noundef %26924, i32 noundef %26926) #11
  br label %26945

26928:                                            ; preds = %26906, %26899
  %26929 = load i32, ptr %568, align 4, !tbaa !5
  %26930 = call ptr @__errno_location() #12
  store i32 %26929, ptr %26930, align 4, !tbaa !5
  %26931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26932 = load i32, ptr @test_count, align 4, !tbaa !5
  %26933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26934 = load i32, ptr %26933, align 4, !tbaa !5
  %26935 = call ptr @s2n_strerror(i32 noundef %26934, ptr noundef @.str.4)
  %26936 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26937 = load i32, ptr %26936, align 4, !tbaa !5
  %26938 = call ptr @s2n_strerror_debug(i32 noundef %26937, ptr noundef @.str.4)
  %26939 = call ptr @__errno_location() #12
  %26940 = load i32, ptr %26939, align 4, !tbaa !5
  %26941 = call ptr @strerror(i32 noundef %26940) #11
  %26942 = call ptr @__errno_location() #12
  %26943 = load i32, ptr %26942, align 4, !tbaa !5
  %26944 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26931, ptr noundef @.str.5, i32 noundef %26932, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 976, ptr noundef %26935, ptr noundef %26938, ptr noundef %26941, i32 noundef %26943) #11
  br label %26945

26945:                                            ; preds = %26928, %26911
  call void @llvm.lifetime.end.p0(i64 4, ptr %568) #11
  br label %26946

26946:                                            ; preds = %26945
  br label %26947

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

26948:                                            ; No predecessors!
  br label %26949

26949:                                            ; preds = %26948
  br label %26950

26950:                                            ; preds = %26949, %26890
  br label %26951

26951:                                            ; preds = %26950
  br label %26952

26952:                                            ; preds = %26951
  br label %26953

26953:                                            ; preds = %26952
  br label %26954

26954:                                            ; preds = %26953
  br label %26955

26955:                                            ; preds = %26954
  %26956 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %26956, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %26957 = call ptr @__errno_location() #12
  store i32 0, ptr %26957, align 4, !tbaa !5
  br label %26958

26958:                                            ; preds = %26955
  br label %26959

26959:                                            ; preds = %26958
  br label %26960

26960:                                            ; preds = %26959
  br label %26961

26961:                                            ; preds = %26960
  br label %26962

26962:                                            ; preds = %26961
  %26963 = load i32, ptr @test_count, align 4, !tbaa !5
  %26964 = add nsw i32 %26963, 1
  store i32 %26964, ptr @test_count, align 4, !tbaa !5
  %26965 = load i32, ptr %547, align 4, !tbaa !5
  %26966 = icmp eq i32 %26965, 1
  br i1 %26966, label %27020, label %26967

26967:                                            ; preds = %26962
  br label %26968

26968:                                            ; preds = %26967
  br label %26969

26969:                                            ; preds = %26968
  call void @llvm.lifetime.start.p0(i64 4, ptr %569) #11
  %26970 = call ptr @__errno_location() #12
  %26971 = load i32, ptr %26970, align 4, !tbaa !5
  store i32 %26971, ptr %569, align 4, !tbaa !5
  %26972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26973 = call i32 @s2n_print_stacktrace(ptr noundef %26972)
  %26974 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %26975 = trunc i8 %26974 to i1
  br i1 %26975, label %26976, label %26998

26976:                                            ; preds = %26969
  %26977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26978 = call i32 @fileno(ptr noundef %26977) #11
  %26979 = call i32 @isatty(i32 noundef %26978) #11
  %26980 = icmp ne i32 %26979, 0
  br i1 %26980, label %26981, label %26998

26981:                                            ; preds = %26976
  %26982 = load i32, ptr %569, align 4, !tbaa !5
  %26983 = call ptr @__errno_location() #12
  store i32 %26982, ptr %26983, align 4, !tbaa !5
  %26984 = load ptr, ptr @stderr, align 8, !tbaa !9
  %26985 = load i32, ptr @test_count, align 4, !tbaa !5
  %26986 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26987 = load i32, ptr %26986, align 4, !tbaa !5
  %26988 = call ptr @s2n_strerror(i32 noundef %26987, ptr noundef @.str.4)
  %26989 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %26990 = load i32, ptr %26989, align 4, !tbaa !5
  %26991 = call ptr @s2n_strerror_debug(i32 noundef %26990, ptr noundef @.str.4)
  %26992 = call ptr @__errno_location() #12
  %26993 = load i32, ptr %26992, align 4, !tbaa !5
  %26994 = call ptr @strerror(i32 noundef %26993) #11
  %26995 = call ptr @__errno_location() #12
  %26996 = load i32, ptr %26995, align 4, !tbaa !5
  %26997 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %26984, ptr noundef @.str.2, i32 noundef %26985, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 977, ptr noundef %26988, ptr noundef %26991, ptr noundef %26994, i32 noundef %26996) #11
  br label %27015

26998:                                            ; preds = %26976, %26969
  %26999 = load i32, ptr %569, align 4, !tbaa !5
  %27000 = call ptr @__errno_location() #12
  store i32 %26999, ptr %27000, align 4, !tbaa !5
  %27001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27002 = load i32, ptr @test_count, align 4, !tbaa !5
  %27003 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27004 = load i32, ptr %27003, align 4, !tbaa !5
  %27005 = call ptr @s2n_strerror(i32 noundef %27004, ptr noundef @.str.4)
  %27006 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27007 = load i32, ptr %27006, align 4, !tbaa !5
  %27008 = call ptr @s2n_strerror_debug(i32 noundef %27007, ptr noundef @.str.4)
  %27009 = call ptr @__errno_location() #12
  %27010 = load i32, ptr %27009, align 4, !tbaa !5
  %27011 = call ptr @strerror(i32 noundef %27010) #11
  %27012 = call ptr @__errno_location() #12
  %27013 = load i32, ptr %27012, align 4, !tbaa !5
  %27014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27001, ptr noundef @.str.5, i32 noundef %27002, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 977, ptr noundef %27005, ptr noundef %27008, ptr noundef %27011, i32 noundef %27013) #11
  br label %27015

27015:                                            ; preds = %26998, %26981
  call void @llvm.lifetime.end.p0(i64 4, ptr %569) #11
  br label %27016

27016:                                            ; preds = %27015
  br label %27017

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

27018:                                            ; No predecessors!
  br label %27019

27019:                                            ; preds = %27018
  br label %27020

27020:                                            ; preds = %27019, %26962
  br label %27021

27021:                                            ; preds = %27020
  br label %27022

27022:                                            ; preds = %27021
  br label %27023

27023:                                            ; preds = %27022
  %27024 = load i32, ptr @test_count, align 4, !tbaa !5
  %27025 = add nsw i32 %27024, 1
  store i32 %27025, ptr @test_count, align 4, !tbaa !5
  %27026 = load ptr, ptr %536, align 8, !tbaa !9
  %27027 = call i32 @s2n_conn_get_current_message_type(ptr noundef %27026)
  %27028 = icmp eq i32 %27027, 19
  br i1 %27028, label %27082, label %27029

27029:                                            ; preds = %27023
  br label %27030

27030:                                            ; preds = %27029
  br label %27031

27031:                                            ; preds = %27030
  call void @llvm.lifetime.start.p0(i64 4, ptr %570) #11
  %27032 = call ptr @__errno_location() #12
  %27033 = load i32, ptr %27032, align 4, !tbaa !5
  store i32 %27033, ptr %570, align 4, !tbaa !5
  %27034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27035 = call i32 @s2n_print_stacktrace(ptr noundef %27034)
  %27036 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27037 = trunc i8 %27036 to i1
  br i1 %27037, label %27038, label %27060

27038:                                            ; preds = %27031
  %27039 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27040 = call i32 @fileno(ptr noundef %27039) #11
  %27041 = call i32 @isatty(i32 noundef %27040) #11
  %27042 = icmp ne i32 %27041, 0
  br i1 %27042, label %27043, label %27060

27043:                                            ; preds = %27038
  %27044 = load i32, ptr %570, align 4, !tbaa !5
  %27045 = call ptr @__errno_location() #12
  store i32 %27044, ptr %27045, align 4, !tbaa !5
  %27046 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27047 = load i32, ptr @test_count, align 4, !tbaa !5
  %27048 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27049 = load i32, ptr %27048, align 4, !tbaa !5
  %27050 = call ptr @s2n_strerror(i32 noundef %27049, ptr noundef @.str.4)
  %27051 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27052 = load i32, ptr %27051, align 4, !tbaa !5
  %27053 = call ptr @s2n_strerror_debug(i32 noundef %27052, ptr noundef @.str.4)
  %27054 = call ptr @__errno_location() #12
  %27055 = load i32, ptr %27054, align 4, !tbaa !5
  %27056 = call ptr @strerror(i32 noundef %27055) #11
  %27057 = call ptr @__errno_location() #12
  %27058 = load i32, ptr %27057, align 4, !tbaa !5
  %27059 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27046, ptr noundef @.str.2, i32 noundef %27047, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 977, ptr noundef %27050, ptr noundef %27053, ptr noundef %27056, i32 noundef %27058) #11
  br label %27077

27060:                                            ; preds = %27038, %27031
  %27061 = load i32, ptr %570, align 4, !tbaa !5
  %27062 = call ptr @__errno_location() #12
  store i32 %27061, ptr %27062, align 4, !tbaa !5
  %27063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27064 = load i32, ptr @test_count, align 4, !tbaa !5
  %27065 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27066 = load i32, ptr %27065, align 4, !tbaa !5
  %27067 = call ptr @s2n_strerror(i32 noundef %27066, ptr noundef @.str.4)
  %27068 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27069 = load i32, ptr %27068, align 4, !tbaa !5
  %27070 = call ptr @s2n_strerror_debug(i32 noundef %27069, ptr noundef @.str.4)
  %27071 = call ptr @__errno_location() #12
  %27072 = load i32, ptr %27071, align 4, !tbaa !5
  %27073 = call ptr @strerror(i32 noundef %27072) #11
  %27074 = call ptr @__errno_location() #12
  %27075 = load i32, ptr %27074, align 4, !tbaa !5
  %27076 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27063, ptr noundef @.str.5, i32 noundef %27064, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 977, ptr noundef %27067, ptr noundef %27070, ptr noundef %27073, i32 noundef %27075) #11
  br label %27077

27077:                                            ; preds = %27060, %27043
  call void @llvm.lifetime.end.p0(i64 4, ptr %570) #11
  br label %27078

27078:                                            ; preds = %27077
  br label %27079

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

27080:                                            ; No predecessors!
  br label %27081

27081:                                            ; preds = %27080
  br label %27082

27082:                                            ; preds = %27081, %27023
  br label %27083

27083:                                            ; preds = %27082
  br label %27084

27084:                                            ; preds = %27083
  br label %27085

27085:                                            ; preds = %27084
  %27086 = load i32, ptr @test_count, align 4, !tbaa !5
  %27087 = add nsw i32 %27086, 1
  store i32 %27087, ptr @test_count, align 4, !tbaa !5
  %27088 = load i64, ptr %548, align 8, !tbaa !42
  %27089 = icmp eq i64 %27088, 0
  br i1 %27089, label %27143, label %27090

27090:                                            ; preds = %27085
  br label %27091

27091:                                            ; preds = %27090
  br label %27092

27092:                                            ; preds = %27091
  call void @llvm.lifetime.start.p0(i64 4, ptr %571) #11
  %27093 = call ptr @__errno_location() #12
  %27094 = load i32, ptr %27093, align 4, !tbaa !5
  store i32 %27094, ptr %571, align 4, !tbaa !5
  %27095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27096 = call i32 @s2n_print_stacktrace(ptr noundef %27095)
  %27097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27098 = trunc i8 %27097 to i1
  br i1 %27098, label %27099, label %27121

27099:                                            ; preds = %27092
  %27100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27101 = call i32 @fileno(ptr noundef %27100) #11
  %27102 = call i32 @isatty(i32 noundef %27101) #11
  %27103 = icmp ne i32 %27102, 0
  br i1 %27103, label %27104, label %27121

27104:                                            ; preds = %27099
  %27105 = load i32, ptr %571, align 4, !tbaa !5
  %27106 = call ptr @__errno_location() #12
  store i32 %27105, ptr %27106, align 4, !tbaa !5
  %27107 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27108 = load i32, ptr @test_count, align 4, !tbaa !5
  %27109 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27110 = load i32, ptr %27109, align 4, !tbaa !5
  %27111 = call ptr @s2n_strerror(i32 noundef %27110, ptr noundef @.str.4)
  %27112 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27113 = load i32, ptr %27112, align 4, !tbaa !5
  %27114 = call ptr @s2n_strerror_debug(i32 noundef %27113, ptr noundef @.str.4)
  %27115 = call ptr @__errno_location() #12
  %27116 = load i32, ptr %27115, align 4, !tbaa !5
  %27117 = call ptr @strerror(i32 noundef %27116) #11
  %27118 = call ptr @__errno_location() #12
  %27119 = load i32, ptr %27118, align 4, !tbaa !5
  %27120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27107, ptr noundef @.str.2, i32 noundef %27108, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 978, ptr noundef %27111, ptr noundef %27114, ptr noundef %27117, i32 noundef %27119) #11
  br label %27138

27121:                                            ; preds = %27099, %27092
  %27122 = load i32, ptr %571, align 4, !tbaa !5
  %27123 = call ptr @__errno_location() #12
  store i32 %27122, ptr %27123, align 4, !tbaa !5
  %27124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27125 = load i32, ptr @test_count, align 4, !tbaa !5
  %27126 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27127 = load i32, ptr %27126, align 4, !tbaa !5
  %27128 = call ptr @s2n_strerror(i32 noundef %27127, ptr noundef @.str.4)
  %27129 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27130 = load i32, ptr %27129, align 4, !tbaa !5
  %27131 = call ptr @s2n_strerror_debug(i32 noundef %27130, ptr noundef @.str.4)
  %27132 = call ptr @__errno_location() #12
  %27133 = load i32, ptr %27132, align 4, !tbaa !5
  %27134 = call ptr @strerror(i32 noundef %27133) #11
  %27135 = call ptr @__errno_location() #12
  %27136 = load i32, ptr %27135, align 4, !tbaa !5
  %27137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27124, ptr noundef @.str.5, i32 noundef %27125, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 978, ptr noundef %27128, ptr noundef %27131, ptr noundef %27134, i32 noundef %27136) #11
  br label %27138

27138:                                            ; preds = %27121, %27104
  call void @llvm.lifetime.end.p0(i64 4, ptr %571) #11
  br label %27139

27139:                                            ; preds = %27138
  br label %27140

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

27141:                                            ; No predecessors!
  br label %27142

27142:                                            ; preds = %27141
  br label %27143

27143:                                            ; preds = %27142, %27085
  br label %27144

27144:                                            ; preds = %27143
  br label %27145

27145:                                            ; preds = %27144
  br label %27146

27146:                                            ; preds = %27145
  %27147 = load i64, ptr %565, align 8, !tbaa !42
  %27148 = add i64 %27147, 1
  store i64 %27148, ptr %565, align 8, !tbaa !42
  br label %26758, !llvm.loop !60

27149:                                            ; preds = %26761
  br label %27150

27150:                                            ; preds = %27149
  %27151 = load i32, ptr @test_count, align 4, !tbaa !5
  %27152 = add nsw i32 %27151, 1
  store i32 %27152, ptr @test_count, align 4, !tbaa !5
  %27153 = load ptr, ptr %536, align 8, !tbaa !9
  %27154 = getelementptr inbounds %struct.s2n_connection, ptr %27153, i32 0, i32 89
  %27155 = load i32, ptr %27154, align 8, !tbaa !57
  %27156 = icmp eq i32 %27155, 3
  br i1 %27156, label %27210, label %27157

27157:                                            ; preds = %27150
  br label %27158

27158:                                            ; preds = %27157
  br label %27159

27159:                                            ; preds = %27158
  call void @llvm.lifetime.start.p0(i64 4, ptr %572) #11
  %27160 = call ptr @__errno_location() #12
  %27161 = load i32, ptr %27160, align 4, !tbaa !5
  store i32 %27161, ptr %572, align 4, !tbaa !5
  %27162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27163 = call i32 @s2n_print_stacktrace(ptr noundef %27162)
  %27164 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27165 = trunc i8 %27164 to i1
  br i1 %27165, label %27166, label %27188

27166:                                            ; preds = %27159
  %27167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27168 = call i32 @fileno(ptr noundef %27167) #11
  %27169 = call i32 @isatty(i32 noundef %27168) #11
  %27170 = icmp ne i32 %27169, 0
  br i1 %27170, label %27171, label %27188

27171:                                            ; preds = %27166
  %27172 = load i32, ptr %572, align 4, !tbaa !5
  %27173 = call ptr @__errno_location() #12
  store i32 %27172, ptr %27173, align 4, !tbaa !5
  %27174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27175 = load i32, ptr @test_count, align 4, !tbaa !5
  %27176 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27177 = load i32, ptr %27176, align 4, !tbaa !5
  %27178 = call ptr @s2n_strerror(i32 noundef %27177, ptr noundef @.str.4)
  %27179 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27180 = load i32, ptr %27179, align 4, !tbaa !5
  %27181 = call ptr @s2n_strerror_debug(i32 noundef %27180, ptr noundef @.str.4)
  %27182 = call ptr @__errno_location() #12
  %27183 = load i32, ptr %27182, align 4, !tbaa !5
  %27184 = call ptr @strerror(i32 noundef %27183) #11
  %27185 = call ptr @__errno_location() #12
  %27186 = load i32, ptr %27185, align 4, !tbaa !5
  %27187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27174, ptr noundef @.str.2, i32 noundef %27175, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 980, ptr noundef %27178, ptr noundef %27181, ptr noundef %27184, i32 noundef %27186) #11
  br label %27205

27188:                                            ; preds = %27166, %27159
  %27189 = load i32, ptr %572, align 4, !tbaa !5
  %27190 = call ptr @__errno_location() #12
  store i32 %27189, ptr %27190, align 4, !tbaa !5
  %27191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27192 = load i32, ptr @test_count, align 4, !tbaa !5
  %27193 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27194 = load i32, ptr %27193, align 4, !tbaa !5
  %27195 = call ptr @s2n_strerror(i32 noundef %27194, ptr noundef @.str.4)
  %27196 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27197 = load i32, ptr %27196, align 4, !tbaa !5
  %27198 = call ptr @s2n_strerror_debug(i32 noundef %27197, ptr noundef @.str.4)
  %27199 = call ptr @__errno_location() #12
  %27200 = load i32, ptr %27199, align 4, !tbaa !5
  %27201 = call ptr @strerror(i32 noundef %27200) #11
  %27202 = call ptr @__errno_location() #12
  %27203 = load i32, ptr %27202, align 4, !tbaa !5
  %27204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27191, ptr noundef @.str.5, i32 noundef %27192, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 980, ptr noundef %27195, ptr noundef %27198, ptr noundef %27201, i32 noundef %27203) #11
  br label %27205

27205:                                            ; preds = %27188, %27171
  call void @llvm.lifetime.end.p0(i64 4, ptr %572) #11
  br label %27206

27206:                                            ; preds = %27205
  br label %27207

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

27208:                                            ; No predecessors!
  br label %27209

27209:                                            ; preds = %27208
  br label %27210

27210:                                            ; preds = %27209, %27150
  br label %27211

27211:                                            ; preds = %27210
  br label %27212

27212:                                            ; preds = %27211
  br label %27213

27213:                                            ; preds = %27212
  %27214 = load i32, ptr @test_count, align 4, !tbaa !5
  %27215 = add nsw i32 %27214, 1
  store i32 %27215, ptr @test_count, align 4, !tbaa !5
  %27216 = call i32 @s2n_stuffer_write(ptr noundef %542, ptr noundef %505)
  %27217 = icmp eq i32 %27216, -1
  br i1 %27217, label %27218, label %27271

27218:                                            ; preds = %27213
  br label %27219

27219:                                            ; preds = %27218
  br label %27220

27220:                                            ; preds = %27219
  call void @llvm.lifetime.start.p0(i64 4, ptr %573) #11
  %27221 = call ptr @__errno_location() #12
  %27222 = load i32, ptr %27221, align 4, !tbaa !5
  store i32 %27222, ptr %573, align 4, !tbaa !5
  %27223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27224 = call i32 @s2n_print_stacktrace(ptr noundef %27223)
  %27225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27226 = trunc i8 %27225 to i1
  br i1 %27226, label %27227, label %27249

27227:                                            ; preds = %27220
  %27228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27229 = call i32 @fileno(ptr noundef %27228) #11
  %27230 = call i32 @isatty(i32 noundef %27229) #11
  %27231 = icmp ne i32 %27230, 0
  br i1 %27231, label %27232, label %27249

27232:                                            ; preds = %27227
  %27233 = load i32, ptr %573, align 4, !tbaa !5
  %27234 = call ptr @__errno_location() #12
  store i32 %27233, ptr %27234, align 4, !tbaa !5
  %27235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27236 = load i32, ptr @test_count, align 4, !tbaa !5
  %27237 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27238 = load i32, ptr %27237, align 4, !tbaa !5
  %27239 = call ptr @s2n_strerror(i32 noundef %27238, ptr noundef @.str.4)
  %27240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27241 = load i32, ptr %27240, align 4, !tbaa !5
  %27242 = call ptr @s2n_strerror_debug(i32 noundef %27241, ptr noundef @.str.4)
  %27243 = call ptr @__errno_location() #12
  %27244 = load i32, ptr %27243, align 4, !tbaa !5
  %27245 = call ptr @strerror(i32 noundef %27244) #11
  %27246 = call ptr @__errno_location() #12
  %27247 = load i32, ptr %27246, align 4, !tbaa !5
  %27248 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27235, ptr noundef @.str.2, i32 noundef %27236, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 982, ptr noundef %27239, ptr noundef %27242, ptr noundef %27245, i32 noundef %27247) #11
  br label %27266

27249:                                            ; preds = %27227, %27220
  %27250 = load i32, ptr %573, align 4, !tbaa !5
  %27251 = call ptr @__errno_location() #12
  store i32 %27250, ptr %27251, align 4, !tbaa !5
  %27252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27253 = load i32, ptr @test_count, align 4, !tbaa !5
  %27254 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27255 = load i32, ptr %27254, align 4, !tbaa !5
  %27256 = call ptr @s2n_strerror(i32 noundef %27255, ptr noundef @.str.4)
  %27257 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27258 = load i32, ptr %27257, align 4, !tbaa !5
  %27259 = call ptr @s2n_strerror_debug(i32 noundef %27258, ptr noundef @.str.4)
  %27260 = call ptr @__errno_location() #12
  %27261 = load i32, ptr %27260, align 4, !tbaa !5
  %27262 = call ptr @strerror(i32 noundef %27261) #11
  %27263 = call ptr @__errno_location() #12
  %27264 = load i32, ptr %27263, align 4, !tbaa !5
  %27265 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27252, ptr noundef @.str.5, i32 noundef %27253, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 982, ptr noundef %27256, ptr noundef %27259, ptr noundef %27262, i32 noundef %27264) #11
  br label %27266

27266:                                            ; preds = %27249, %27232
  call void @llvm.lifetime.end.p0(i64 4, ptr %573) #11
  br label %27267

27267:                                            ; preds = %27266
  br label %27268

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

27269:                                            ; No predecessors!
  br label %27270

27270:                                            ; preds = %27269
  br label %27271

27271:                                            ; preds = %27270, %27213
  br label %27272

27272:                                            ; preds = %27271
  br label %27273

27273:                                            ; preds = %27272
  br label %27274

27274:                                            ; preds = %27273
  br label %27275

27275:                                            ; preds = %27274
  br label %27276

27276:                                            ; preds = %27275
  %27277 = load i32, ptr @test_count, align 4, !tbaa !5
  %27278 = add nsw i32 %27277, 1
  store i32 %27278, ptr @test_count, align 4, !tbaa !5
  %27279 = load ptr, ptr %536, align 8, !tbaa !9
  %27280 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %27281 = call i32 @s2n_recv_early_data(ptr noundef %27279, ptr noundef %27280, i64 noundef 100, ptr noundef %548, ptr noundef %547)
  %27282 = icmp eq i32 %27281, -1
  br i1 %27282, label %27336, label %27283

27283:                                            ; preds = %27276
  br label %27284

27284:                                            ; preds = %27283
  br label %27285

27285:                                            ; preds = %27284
  call void @llvm.lifetime.start.p0(i64 4, ptr %574) #11
  %27286 = call ptr @__errno_location() #12
  %27287 = load i32, ptr %27286, align 4, !tbaa !5
  store i32 %27287, ptr %574, align 4, !tbaa !5
  %27288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27289 = call i32 @s2n_print_stacktrace(ptr noundef %27288)
  %27290 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27291 = trunc i8 %27290 to i1
  br i1 %27291, label %27292, label %27314

27292:                                            ; preds = %27285
  %27293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27294 = call i32 @fileno(ptr noundef %27293) #11
  %27295 = call i32 @isatty(i32 noundef %27294) #11
  %27296 = icmp ne i32 %27295, 0
  br i1 %27296, label %27297, label %27314

27297:                                            ; preds = %27292
  %27298 = load i32, ptr %574, align 4, !tbaa !5
  %27299 = call ptr @__errno_location() #12
  store i32 %27298, ptr %27299, align 4, !tbaa !5
  %27300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27301 = load i32, ptr @test_count, align 4, !tbaa !5
  %27302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27303 = load i32, ptr %27302, align 4, !tbaa !5
  %27304 = call ptr @s2n_strerror(i32 noundef %27303, ptr noundef @.str.4)
  %27305 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27306 = load i32, ptr %27305, align 4, !tbaa !5
  %27307 = call ptr @s2n_strerror_debug(i32 noundef %27306, ptr noundef @.str.4)
  %27308 = call ptr @__errno_location() #12
  %27309 = load i32, ptr %27308, align 4, !tbaa !5
  %27310 = call ptr @strerror(i32 noundef %27309) #11
  %27311 = call ptr @__errno_location() #12
  %27312 = load i32, ptr %27311, align 4, !tbaa !5
  %27313 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27300, ptr noundef @.str.2, i32 noundef %27301, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 984, ptr noundef %27304, ptr noundef %27307, ptr noundef %27310, i32 noundef %27312) #11
  br label %27331

27314:                                            ; preds = %27292, %27285
  %27315 = load i32, ptr %574, align 4, !tbaa !5
  %27316 = call ptr @__errno_location() #12
  store i32 %27315, ptr %27316, align 4, !tbaa !5
  %27317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27318 = load i32, ptr @test_count, align 4, !tbaa !5
  %27319 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27320 = load i32, ptr %27319, align 4, !tbaa !5
  %27321 = call ptr @s2n_strerror(i32 noundef %27320, ptr noundef @.str.4)
  %27322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27323 = load i32, ptr %27322, align 4, !tbaa !5
  %27324 = call ptr @s2n_strerror_debug(i32 noundef %27323, ptr noundef @.str.4)
  %27325 = call ptr @__errno_location() #12
  %27326 = load i32, ptr %27325, align 4, !tbaa !5
  %27327 = call ptr @strerror(i32 noundef %27326) #11
  %27328 = call ptr @__errno_location() #12
  %27329 = load i32, ptr %27328, align 4, !tbaa !5
  %27330 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27317, ptr noundef @.str.5, i32 noundef %27318, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 984, ptr noundef %27321, ptr noundef %27324, ptr noundef %27327, i32 noundef %27329) #11
  br label %27331

27331:                                            ; preds = %27314, %27297
  call void @llvm.lifetime.end.p0(i64 4, ptr %574) #11
  br label %27332

27332:                                            ; preds = %27331
  br label %27333

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

27334:                                            ; No predecessors!
  br label %27335

27335:                                            ; preds = %27334
  br label %27336

27336:                                            ; preds = %27335, %27276
  br label %27337

27337:                                            ; preds = %27336
  br label %27338

27338:                                            ; preds = %27337
  br label %27339

27339:                                            ; preds = %27338
  %27340 = load i32, ptr @test_count, align 4, !tbaa !5
  %27341 = add nsw i32 %27340, 1
  store i32 %27341, ptr @test_count, align 4, !tbaa !5
  %27342 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27343 = load i32, ptr %27342, align 4, !tbaa !5
  %27344 = icmp eq i32 %27343, 201326592
  br i1 %27344, label %27398, label %27345

27345:                                            ; preds = %27339
  br label %27346

27346:                                            ; preds = %27345
  br label %27347

27347:                                            ; preds = %27346
  call void @llvm.lifetime.start.p0(i64 4, ptr %575) #11
  %27348 = call ptr @__errno_location() #12
  %27349 = load i32, ptr %27348, align 4, !tbaa !5
  store i32 %27349, ptr %575, align 4, !tbaa !5
  %27350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27351 = call i32 @s2n_print_stacktrace(ptr noundef %27350)
  %27352 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27353 = trunc i8 %27352 to i1
  br i1 %27353, label %27354, label %27376

27354:                                            ; preds = %27347
  %27355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27356 = call i32 @fileno(ptr noundef %27355) #11
  %27357 = call i32 @isatty(i32 noundef %27356) #11
  %27358 = icmp ne i32 %27357, 0
  br i1 %27358, label %27359, label %27376

27359:                                            ; preds = %27354
  %27360 = load i32, ptr %575, align 4, !tbaa !5
  %27361 = call ptr @__errno_location() #12
  store i32 %27360, ptr %27361, align 4, !tbaa !5
  %27362 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27363 = load i32, ptr @test_count, align 4, !tbaa !5
  %27364 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27365 = load i32, ptr %27364, align 4, !tbaa !5
  %27366 = call ptr @s2n_strerror(i32 noundef %27365, ptr noundef @.str.4)
  %27367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27368 = load i32, ptr %27367, align 4, !tbaa !5
  %27369 = call ptr @s2n_strerror_debug(i32 noundef %27368, ptr noundef @.str.4)
  %27370 = call ptr @__errno_location() #12
  %27371 = load i32, ptr %27370, align 4, !tbaa !5
  %27372 = call ptr @strerror(i32 noundef %27371) #11
  %27373 = call ptr @__errno_location() #12
  %27374 = load i32, ptr %27373, align 4, !tbaa !5
  %27375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27362, ptr noundef @.str.2, i32 noundef %27363, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 984, ptr noundef %27366, ptr noundef %27369, ptr noundef %27372, i32 noundef %27374) #11
  br label %27393

27376:                                            ; preds = %27354, %27347
  %27377 = load i32, ptr %575, align 4, !tbaa !5
  %27378 = call ptr @__errno_location() #12
  store i32 %27377, ptr %27378, align 4, !tbaa !5
  %27379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27380 = load i32, ptr @test_count, align 4, !tbaa !5
  %27381 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27382 = load i32, ptr %27381, align 4, !tbaa !5
  %27383 = call ptr @s2n_strerror(i32 noundef %27382, ptr noundef @.str.4)
  %27384 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27385 = load i32, ptr %27384, align 4, !tbaa !5
  %27386 = call ptr @s2n_strerror_debug(i32 noundef %27385, ptr noundef @.str.4)
  %27387 = call ptr @__errno_location() #12
  %27388 = load i32, ptr %27387, align 4, !tbaa !5
  %27389 = call ptr @strerror(i32 noundef %27388) #11
  %27390 = call ptr @__errno_location() #12
  %27391 = load i32, ptr %27390, align 4, !tbaa !5
  %27392 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27379, ptr noundef @.str.5, i32 noundef %27380, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 984, ptr noundef %27383, ptr noundef %27386, ptr noundef %27389, i32 noundef %27391) #11
  br label %27393

27393:                                            ; preds = %27376, %27359
  call void @llvm.lifetime.end.p0(i64 4, ptr %575) #11
  br label %27394

27394:                                            ; preds = %27393
  br label %27395

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

27396:                                            ; No predecessors!
  br label %27397

27397:                                            ; preds = %27396
  br label %27398

27398:                                            ; preds = %27397, %27339
  br label %27399

27399:                                            ; preds = %27398
  br label %27400

27400:                                            ; preds = %27399
  br label %27401

27401:                                            ; preds = %27400
  %27402 = load i32, ptr @test_count, align 4, !tbaa !5
  %27403 = add nsw i32 %27402, 1
  store i32 %27403, ptr @test_count, align 4, !tbaa !5
  %27404 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27405 = load i32, ptr %27404, align 4, !tbaa !5
  %27406 = call ptr @s2n_strerror_debug(i32 noundef %27405, ptr noundef @.str.4)
  %27407 = icmp eq ptr %27406, null
  br i1 %27407, label %27408, label %27461

27408:                                            ; preds = %27401
  br label %27409

27409:                                            ; preds = %27408
  br label %27410

27410:                                            ; preds = %27409
  call void @llvm.lifetime.start.p0(i64 4, ptr %576) #11
  %27411 = call ptr @__errno_location() #12
  %27412 = load i32, ptr %27411, align 4, !tbaa !5
  store i32 %27412, ptr %576, align 4, !tbaa !5
  %27413 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27414 = call i32 @s2n_print_stacktrace(ptr noundef %27413)
  %27415 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27416 = trunc i8 %27415 to i1
  br i1 %27416, label %27417, label %27439

27417:                                            ; preds = %27410
  %27418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27419 = call i32 @fileno(ptr noundef %27418) #11
  %27420 = call i32 @isatty(i32 noundef %27419) #11
  %27421 = icmp ne i32 %27420, 0
  br i1 %27421, label %27422, label %27439

27422:                                            ; preds = %27417
  %27423 = load i32, ptr %576, align 4, !tbaa !5
  %27424 = call ptr @__errno_location() #12
  store i32 %27423, ptr %27424, align 4, !tbaa !5
  %27425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27426 = load i32, ptr @test_count, align 4, !tbaa !5
  %27427 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27428 = load i32, ptr %27427, align 4, !tbaa !5
  %27429 = call ptr @s2n_strerror(i32 noundef %27428, ptr noundef @.str.4)
  %27430 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27431 = load i32, ptr %27430, align 4, !tbaa !5
  %27432 = call ptr @s2n_strerror_debug(i32 noundef %27431, ptr noundef @.str.4)
  %27433 = call ptr @__errno_location() #12
  %27434 = load i32, ptr %27433, align 4, !tbaa !5
  %27435 = call ptr @strerror(i32 noundef %27434) #11
  %27436 = call ptr @__errno_location() #12
  %27437 = load i32, ptr %27436, align 4, !tbaa !5
  %27438 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27425, ptr noundef @.str.2, i32 noundef %27426, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 984, ptr noundef %27429, ptr noundef %27432, ptr noundef %27435, i32 noundef %27437) #11
  br label %27456

27439:                                            ; preds = %27417, %27410
  %27440 = load i32, ptr %576, align 4, !tbaa !5
  %27441 = call ptr @__errno_location() #12
  store i32 %27440, ptr %27441, align 4, !tbaa !5
  %27442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27443 = load i32, ptr @test_count, align 4, !tbaa !5
  %27444 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27445 = load i32, ptr %27444, align 4, !tbaa !5
  %27446 = call ptr @s2n_strerror(i32 noundef %27445, ptr noundef @.str.4)
  %27447 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27448 = load i32, ptr %27447, align 4, !tbaa !5
  %27449 = call ptr @s2n_strerror_debug(i32 noundef %27448, ptr noundef @.str.4)
  %27450 = call ptr @__errno_location() #12
  %27451 = load i32, ptr %27450, align 4, !tbaa !5
  %27452 = call ptr @strerror(i32 noundef %27451) #11
  %27453 = call ptr @__errno_location() #12
  %27454 = load i32, ptr %27453, align 4, !tbaa !5
  %27455 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27442, ptr noundef @.str.5, i32 noundef %27443, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 984, ptr noundef %27446, ptr noundef %27449, ptr noundef %27452, i32 noundef %27454) #11
  br label %27456

27456:                                            ; preds = %27439, %27422
  call void @llvm.lifetime.end.p0(i64 4, ptr %576) #11
  br label %27457

27457:                                            ; preds = %27456
  br label %27458

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

27459:                                            ; No predecessors!
  br label %27460

27460:                                            ; preds = %27459
  br label %27461

27461:                                            ; preds = %27460, %27401
  br label %27462

27462:                                            ; preds = %27461
  br label %27463

27463:                                            ; preds = %27462
  br label %27464

27464:                                            ; preds = %27463
  br label %27465

27465:                                            ; preds = %27464
  br label %27466

27466:                                            ; preds = %27465
  %27467 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27467, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27468 = call ptr @__errno_location() #12
  store i32 0, ptr %27468, align 4, !tbaa !5
  br label %27469

27469:                                            ; preds = %27466
  br label %27470

27470:                                            ; preds = %27469
  br label %27471

27471:                                            ; preds = %27470
  br label %27472

27472:                                            ; preds = %27471
  br label %27473

27473:                                            ; preds = %27472
  %27474 = load i32, ptr @test_count, align 4, !tbaa !5
  %27475 = add nsw i32 %27474, 1
  store i32 %27475, ptr @test_count, align 4, !tbaa !5
  %27476 = load i32, ptr %547, align 4, !tbaa !5
  %27477 = icmp eq i32 %27476, 1
  br i1 %27477, label %27531, label %27478

27478:                                            ; preds = %27473
  br label %27479

27479:                                            ; preds = %27478
  br label %27480

27480:                                            ; preds = %27479
  call void @llvm.lifetime.start.p0(i64 4, ptr %577) #11
  %27481 = call ptr @__errno_location() #12
  %27482 = load i32, ptr %27481, align 4, !tbaa !5
  store i32 %27482, ptr %577, align 4, !tbaa !5
  %27483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27484 = call i32 @s2n_print_stacktrace(ptr noundef %27483)
  %27485 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27486 = trunc i8 %27485 to i1
  br i1 %27486, label %27487, label %27509

27487:                                            ; preds = %27480
  %27488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27489 = call i32 @fileno(ptr noundef %27488) #11
  %27490 = call i32 @isatty(i32 noundef %27489) #11
  %27491 = icmp ne i32 %27490, 0
  br i1 %27491, label %27492, label %27509

27492:                                            ; preds = %27487
  %27493 = load i32, ptr %577, align 4, !tbaa !5
  %27494 = call ptr @__errno_location() #12
  store i32 %27493, ptr %27494, align 4, !tbaa !5
  %27495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27496 = load i32, ptr @test_count, align 4, !tbaa !5
  %27497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27498 = load i32, ptr %27497, align 4, !tbaa !5
  %27499 = call ptr @s2n_strerror(i32 noundef %27498, ptr noundef @.str.4)
  %27500 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27501 = load i32, ptr %27500, align 4, !tbaa !5
  %27502 = call ptr @s2n_strerror_debug(i32 noundef %27501, ptr noundef @.str.4)
  %27503 = call ptr @__errno_location() #12
  %27504 = load i32, ptr %27503, align 4, !tbaa !5
  %27505 = call ptr @strerror(i32 noundef %27504) #11
  %27506 = call ptr @__errno_location() #12
  %27507 = load i32, ptr %27506, align 4, !tbaa !5
  %27508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27495, ptr noundef @.str.2, i32 noundef %27496, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 985, ptr noundef %27499, ptr noundef %27502, ptr noundef %27505, i32 noundef %27507) #11
  br label %27526

27509:                                            ; preds = %27487, %27480
  %27510 = load i32, ptr %577, align 4, !tbaa !5
  %27511 = call ptr @__errno_location() #12
  store i32 %27510, ptr %27511, align 4, !tbaa !5
  %27512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27513 = load i32, ptr @test_count, align 4, !tbaa !5
  %27514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27515 = load i32, ptr %27514, align 4, !tbaa !5
  %27516 = call ptr @s2n_strerror(i32 noundef %27515, ptr noundef @.str.4)
  %27517 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27518 = load i32, ptr %27517, align 4, !tbaa !5
  %27519 = call ptr @s2n_strerror_debug(i32 noundef %27518, ptr noundef @.str.4)
  %27520 = call ptr @__errno_location() #12
  %27521 = load i32, ptr %27520, align 4, !tbaa !5
  %27522 = call ptr @strerror(i32 noundef %27521) #11
  %27523 = call ptr @__errno_location() #12
  %27524 = load i32, ptr %27523, align 4, !tbaa !5
  %27525 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27512, ptr noundef @.str.5, i32 noundef %27513, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 985, ptr noundef %27516, ptr noundef %27519, ptr noundef %27522, i32 noundef %27524) #11
  br label %27526

27526:                                            ; preds = %27509, %27492
  call void @llvm.lifetime.end.p0(i64 4, ptr %577) #11
  br label %27527

27527:                                            ; preds = %27526
  br label %27528

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

27529:                                            ; No predecessors!
  br label %27530

27530:                                            ; preds = %27529
  br label %27531

27531:                                            ; preds = %27530, %27473
  br label %27532

27532:                                            ; preds = %27531
  br label %27533

27533:                                            ; preds = %27532
  br label %27534

27534:                                            ; preds = %27533
  %27535 = load i32, ptr @test_count, align 4, !tbaa !5
  %27536 = add nsw i32 %27535, 1
  store i32 %27536, ptr @test_count, align 4, !tbaa !5
  %27537 = load ptr, ptr %536, align 8, !tbaa !9
  %27538 = call i32 @s2n_conn_get_current_message_type(ptr noundef %27537)
  %27539 = icmp eq i32 %27538, 19
  br i1 %27539, label %27593, label %27540

27540:                                            ; preds = %27534
  br label %27541

27541:                                            ; preds = %27540
  br label %27542

27542:                                            ; preds = %27541
  call void @llvm.lifetime.start.p0(i64 4, ptr %578) #11
  %27543 = call ptr @__errno_location() #12
  %27544 = load i32, ptr %27543, align 4, !tbaa !5
  store i32 %27544, ptr %578, align 4, !tbaa !5
  %27545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27546 = call i32 @s2n_print_stacktrace(ptr noundef %27545)
  %27547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27548 = trunc i8 %27547 to i1
  br i1 %27548, label %27549, label %27571

27549:                                            ; preds = %27542
  %27550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27551 = call i32 @fileno(ptr noundef %27550) #11
  %27552 = call i32 @isatty(i32 noundef %27551) #11
  %27553 = icmp ne i32 %27552, 0
  br i1 %27553, label %27554, label %27571

27554:                                            ; preds = %27549
  %27555 = load i32, ptr %578, align 4, !tbaa !5
  %27556 = call ptr @__errno_location() #12
  store i32 %27555, ptr %27556, align 4, !tbaa !5
  %27557 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27558 = load i32, ptr @test_count, align 4, !tbaa !5
  %27559 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27560 = load i32, ptr %27559, align 4, !tbaa !5
  %27561 = call ptr @s2n_strerror(i32 noundef %27560, ptr noundef @.str.4)
  %27562 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27563 = load i32, ptr %27562, align 4, !tbaa !5
  %27564 = call ptr @s2n_strerror_debug(i32 noundef %27563, ptr noundef @.str.4)
  %27565 = call ptr @__errno_location() #12
  %27566 = load i32, ptr %27565, align 4, !tbaa !5
  %27567 = call ptr @strerror(i32 noundef %27566) #11
  %27568 = call ptr @__errno_location() #12
  %27569 = load i32, ptr %27568, align 4, !tbaa !5
  %27570 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27557, ptr noundef @.str.2, i32 noundef %27558, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 985, ptr noundef %27561, ptr noundef %27564, ptr noundef %27567, i32 noundef %27569) #11
  br label %27588

27571:                                            ; preds = %27549, %27542
  %27572 = load i32, ptr %578, align 4, !tbaa !5
  %27573 = call ptr @__errno_location() #12
  store i32 %27572, ptr %27573, align 4, !tbaa !5
  %27574 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27575 = load i32, ptr @test_count, align 4, !tbaa !5
  %27576 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27577 = load i32, ptr %27576, align 4, !tbaa !5
  %27578 = call ptr @s2n_strerror(i32 noundef %27577, ptr noundef @.str.4)
  %27579 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27580 = load i32, ptr %27579, align 4, !tbaa !5
  %27581 = call ptr @s2n_strerror_debug(i32 noundef %27580, ptr noundef @.str.4)
  %27582 = call ptr @__errno_location() #12
  %27583 = load i32, ptr %27582, align 4, !tbaa !5
  %27584 = call ptr @strerror(i32 noundef %27583) #11
  %27585 = call ptr @__errno_location() #12
  %27586 = load i32, ptr %27585, align 4, !tbaa !5
  %27587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27574, ptr noundef @.str.5, i32 noundef %27575, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 985, ptr noundef %27578, ptr noundef %27581, ptr noundef %27584, i32 noundef %27586) #11
  br label %27588

27588:                                            ; preds = %27571, %27554
  call void @llvm.lifetime.end.p0(i64 4, ptr %578) #11
  br label %27589

27589:                                            ; preds = %27588
  br label %27590

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

27591:                                            ; No predecessors!
  br label %27592

27592:                                            ; preds = %27591
  br label %27593

27593:                                            ; preds = %27592, %27534
  br label %27594

27594:                                            ; preds = %27593
  br label %27595

27595:                                            ; preds = %27594
  br label %27596

27596:                                            ; preds = %27595
  %27597 = load i32, ptr @test_count, align 4, !tbaa !5
  %27598 = add nsw i32 %27597, 1
  store i32 %27598, ptr @test_count, align 4, !tbaa !5
  %27599 = load i64, ptr %548, align 8, !tbaa !42
  %27600 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 1
  %27601 = load i32, ptr %27600, align 8, !tbaa !55
  %27602 = zext i32 %27601 to i64
  %27603 = icmp eq i64 %27599, %27602
  br i1 %27603, label %27657, label %27604

27604:                                            ; preds = %27596
  br label %27605

27605:                                            ; preds = %27604
  br label %27606

27606:                                            ; preds = %27605
  call void @llvm.lifetime.start.p0(i64 4, ptr %579) #11
  %27607 = call ptr @__errno_location() #12
  %27608 = load i32, ptr %27607, align 4, !tbaa !5
  store i32 %27608, ptr %579, align 4, !tbaa !5
  %27609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27610 = call i32 @s2n_print_stacktrace(ptr noundef %27609)
  %27611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27612 = trunc i8 %27611 to i1
  br i1 %27612, label %27613, label %27635

27613:                                            ; preds = %27606
  %27614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27615 = call i32 @fileno(ptr noundef %27614) #11
  %27616 = call i32 @isatty(i32 noundef %27615) #11
  %27617 = icmp ne i32 %27616, 0
  br i1 %27617, label %27618, label %27635

27618:                                            ; preds = %27613
  %27619 = load i32, ptr %579, align 4, !tbaa !5
  %27620 = call ptr @__errno_location() #12
  store i32 %27619, ptr %27620, align 4, !tbaa !5
  %27621 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27622 = load i32, ptr @test_count, align 4, !tbaa !5
  %27623 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27624 = load i32, ptr %27623, align 4, !tbaa !5
  %27625 = call ptr @s2n_strerror(i32 noundef %27624, ptr noundef @.str.4)
  %27626 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27627 = load i32, ptr %27626, align 4, !tbaa !5
  %27628 = call ptr @s2n_strerror_debug(i32 noundef %27627, ptr noundef @.str.4)
  %27629 = call ptr @__errno_location() #12
  %27630 = load i32, ptr %27629, align 4, !tbaa !5
  %27631 = call ptr @strerror(i32 noundef %27630) #11
  %27632 = call ptr @__errno_location() #12
  %27633 = load i32, ptr %27632, align 4, !tbaa !5
  %27634 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27621, ptr noundef @.str.2, i32 noundef %27622, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 986, ptr noundef %27625, ptr noundef %27628, ptr noundef %27631, i32 noundef %27633) #11
  br label %27652

27635:                                            ; preds = %27613, %27606
  %27636 = load i32, ptr %579, align 4, !tbaa !5
  %27637 = call ptr @__errno_location() #12
  store i32 %27636, ptr %27637, align 4, !tbaa !5
  %27638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27639 = load i32, ptr @test_count, align 4, !tbaa !5
  %27640 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27641 = load i32, ptr %27640, align 4, !tbaa !5
  %27642 = call ptr @s2n_strerror(i32 noundef %27641, ptr noundef @.str.4)
  %27643 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27644 = load i32, ptr %27643, align 4, !tbaa !5
  %27645 = call ptr @s2n_strerror_debug(i32 noundef %27644, ptr noundef @.str.4)
  %27646 = call ptr @__errno_location() #12
  %27647 = load i32, ptr %27646, align 4, !tbaa !5
  %27648 = call ptr @strerror(i32 noundef %27647) #11
  %27649 = call ptr @__errno_location() #12
  %27650 = load i32, ptr %27649, align 4, !tbaa !5
  %27651 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27638, ptr noundef @.str.5, i32 noundef %27639, ptr noundef @.str.137, ptr noundef @.str.1, i32 noundef 986, ptr noundef %27642, ptr noundef %27645, ptr noundef %27648, i32 noundef %27650) #11
  br label %27652

27652:                                            ; preds = %27635, %27618
  call void @llvm.lifetime.end.p0(i64 4, ptr %579) #11
  br label %27653

27653:                                            ; preds = %27652
  br label %27654

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

27655:                                            ; No predecessors!
  br label %27656

27656:                                            ; preds = %27655
  br label %27657

27657:                                            ; preds = %27656, %27596
  br label %27658

27658:                                            ; preds = %27657
  br label %27659

27659:                                            ; preds = %27658
  br label %27660

27660:                                            ; preds = %27659
  %27661 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 1
  %27662 = load i32, ptr %27661, align 8, !tbaa !55
  %27663 = icmp ne i32 %27662, 0
  br i1 %27663, label %27664, label %27732

27664:                                            ; preds = %27660
  br label %27665

27665:                                            ; preds = %27664
  %27666 = load i32, ptr @test_count, align 4, !tbaa !5
  %27667 = add nsw i32 %27666, 1
  store i32 %27667, ptr @test_count, align 4, !tbaa !5
  %27668 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %27669 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 0
  %27670 = load ptr, ptr %27669, align 8, !tbaa !54
  %27671 = getelementptr inbounds %struct.s2n_blob, ptr %503, i32 0, i32 1
  %27672 = load i32, ptr %27671, align 8, !tbaa !55
  %27673 = zext i32 %27672 to i64
  %27674 = call i32 @memcmp(ptr noundef %27668, ptr noundef %27670, i64 noundef %27673) #14
  %27675 = icmp eq i32 %27674, 0
  br i1 %27675, label %27729, label %27676

27676:                                            ; preds = %27665
  br label %27677

27677:                                            ; preds = %27676
  br label %27678

27678:                                            ; preds = %27677
  call void @llvm.lifetime.start.p0(i64 4, ptr %580) #11
  %27679 = call ptr @__errno_location() #12
  %27680 = load i32, ptr %27679, align 4, !tbaa !5
  store i32 %27680, ptr %580, align 4, !tbaa !5
  %27681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27682 = call i32 @s2n_print_stacktrace(ptr noundef %27681)
  %27683 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27684 = trunc i8 %27683 to i1
  br i1 %27684, label %27685, label %27707

27685:                                            ; preds = %27678
  %27686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27687 = call i32 @fileno(ptr noundef %27686) #11
  %27688 = call i32 @isatty(i32 noundef %27687) #11
  %27689 = icmp ne i32 %27688, 0
  br i1 %27689, label %27690, label %27707

27690:                                            ; preds = %27685
  %27691 = load i32, ptr %580, align 4, !tbaa !5
  %27692 = call ptr @__errno_location() #12
  store i32 %27691, ptr %27692, align 4, !tbaa !5
  %27693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27694 = load i32, ptr @test_count, align 4, !tbaa !5
  %27695 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27696 = load i32, ptr %27695, align 4, !tbaa !5
  %27697 = call ptr @s2n_strerror(i32 noundef %27696, ptr noundef @.str.4)
  %27698 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27699 = load i32, ptr %27698, align 4, !tbaa !5
  %27700 = call ptr @s2n_strerror_debug(i32 noundef %27699, ptr noundef @.str.4)
  %27701 = call ptr @__errno_location() #12
  %27702 = load i32, ptr %27701, align 4, !tbaa !5
  %27703 = call ptr @strerror(i32 noundef %27702) #11
  %27704 = call ptr @__errno_location() #12
  %27705 = load i32, ptr %27704, align 4, !tbaa !5
  %27706 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27693, ptr noundef @.str.2, i32 noundef %27694, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 987, ptr noundef %27697, ptr noundef %27700, ptr noundef %27703, i32 noundef %27705) #11
  br label %27724

27707:                                            ; preds = %27685, %27678
  %27708 = load i32, ptr %580, align 4, !tbaa !5
  %27709 = call ptr @__errno_location() #12
  store i32 %27708, ptr %27709, align 4, !tbaa !5
  %27710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27711 = load i32, ptr @test_count, align 4, !tbaa !5
  %27712 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27713 = load i32, ptr %27712, align 4, !tbaa !5
  %27714 = call ptr @s2n_strerror(i32 noundef %27713, ptr noundef @.str.4)
  %27715 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27716 = load i32, ptr %27715, align 4, !tbaa !5
  %27717 = call ptr @s2n_strerror_debug(i32 noundef %27716, ptr noundef @.str.4)
  %27718 = call ptr @__errno_location() #12
  %27719 = load i32, ptr %27718, align 4, !tbaa !5
  %27720 = call ptr @strerror(i32 noundef %27719) #11
  %27721 = call ptr @__errno_location() #12
  %27722 = load i32, ptr %27721, align 4, !tbaa !5
  %27723 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27710, ptr noundef @.str.5, i32 noundef %27711, ptr noundef @.str.138, ptr noundef @.str.1, i32 noundef 987, ptr noundef %27714, ptr noundef %27717, ptr noundef %27720, i32 noundef %27722) #11
  br label %27724

27724:                                            ; preds = %27707, %27690
  call void @llvm.lifetime.end.p0(i64 4, ptr %580) #11
  br label %27725

27725:                                            ; preds = %27724
  br label %27726

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

27727:                                            ; No predecessors!
  br label %27728

27728:                                            ; preds = %27727
  br label %27729

27729:                                            ; preds = %27728, %27665
  br label %27730

27730:                                            ; preds = %27729
  br label %27731

27731:                                            ; preds = %27730
  br label %27732

27732:                                            ; preds = %27731, %27660
  br label %27733

27733:                                            ; preds = %27732
  br label %27734

27734:                                            ; preds = %27733
  call void @llvm.lifetime.start.p0(i64 8, ptr %581) #11
  store i64 0, ptr %581, align 8, !tbaa !42
  br label %27735

27735:                                            ; preds = %28123, %27734
  %27736 = load i64, ptr %581, align 8, !tbaa !42
  %27737 = icmp ult i64 %27736, 5
  br i1 %27737, label %27739, label %27738

27738:                                            ; preds = %27735
  store i32 2862, ptr %494, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %581) #11
  br label %28126

27739:                                            ; preds = %27735
  br label %27740

27740:                                            ; preds = %27739
  br label %27741

27741:                                            ; preds = %27740
  br label %27742

27742:                                            ; preds = %27741
  %27743 = load i32, ptr @test_count, align 4, !tbaa !5
  %27744 = add nsw i32 %27743, 1
  store i32 %27744, ptr @test_count, align 4, !tbaa !5
  %27745 = load ptr, ptr %536, align 8, !tbaa !9
  %27746 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %27747 = call i32 @s2n_recv_early_data(ptr noundef %27745, ptr noundef %27746, i64 noundef 100, ptr noundef %548, ptr noundef %547)
  %27748 = icmp eq i32 %27747, -1
  br i1 %27748, label %27802, label %27749

27749:                                            ; preds = %27742
  br label %27750

27750:                                            ; preds = %27749
  br label %27751

27751:                                            ; preds = %27750
  call void @llvm.lifetime.start.p0(i64 4, ptr %582) #11
  %27752 = call ptr @__errno_location() #12
  %27753 = load i32, ptr %27752, align 4, !tbaa !5
  store i32 %27753, ptr %582, align 4, !tbaa !5
  %27754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27755 = call i32 @s2n_print_stacktrace(ptr noundef %27754)
  %27756 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27757 = trunc i8 %27756 to i1
  br i1 %27757, label %27758, label %27780

27758:                                            ; preds = %27751
  %27759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27760 = call i32 @fileno(ptr noundef %27759) #11
  %27761 = call i32 @isatty(i32 noundef %27760) #11
  %27762 = icmp ne i32 %27761, 0
  br i1 %27762, label %27763, label %27780

27763:                                            ; preds = %27758
  %27764 = load i32, ptr %582, align 4, !tbaa !5
  %27765 = call ptr @__errno_location() #12
  store i32 %27764, ptr %27765, align 4, !tbaa !5
  %27766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27767 = load i32, ptr @test_count, align 4, !tbaa !5
  %27768 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27769 = load i32, ptr %27768, align 4, !tbaa !5
  %27770 = call ptr @s2n_strerror(i32 noundef %27769, ptr noundef @.str.4)
  %27771 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27772 = load i32, ptr %27771, align 4, !tbaa !5
  %27773 = call ptr @s2n_strerror_debug(i32 noundef %27772, ptr noundef @.str.4)
  %27774 = call ptr @__errno_location() #12
  %27775 = load i32, ptr %27774, align 4, !tbaa !5
  %27776 = call ptr @strerror(i32 noundef %27775) #11
  %27777 = call ptr @__errno_location() #12
  %27778 = load i32, ptr %27777, align 4, !tbaa !5
  %27779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27766, ptr noundef @.str.2, i32 noundef %27767, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 990, ptr noundef %27770, ptr noundef %27773, ptr noundef %27776, i32 noundef %27778) #11
  br label %27797

27780:                                            ; preds = %27758, %27751
  %27781 = load i32, ptr %582, align 4, !tbaa !5
  %27782 = call ptr @__errno_location() #12
  store i32 %27781, ptr %27782, align 4, !tbaa !5
  %27783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27784 = load i32, ptr @test_count, align 4, !tbaa !5
  %27785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27786 = load i32, ptr %27785, align 4, !tbaa !5
  %27787 = call ptr @s2n_strerror(i32 noundef %27786, ptr noundef @.str.4)
  %27788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27789 = load i32, ptr %27788, align 4, !tbaa !5
  %27790 = call ptr @s2n_strerror_debug(i32 noundef %27789, ptr noundef @.str.4)
  %27791 = call ptr @__errno_location() #12
  %27792 = load i32, ptr %27791, align 4, !tbaa !5
  %27793 = call ptr @strerror(i32 noundef %27792) #11
  %27794 = call ptr @__errno_location() #12
  %27795 = load i32, ptr %27794, align 4, !tbaa !5
  %27796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27783, ptr noundef @.str.5, i32 noundef %27784, ptr noundef @.str.140, ptr noundef @.str.1, i32 noundef 990, ptr noundef %27787, ptr noundef %27790, ptr noundef %27793, i32 noundef %27795) #11
  br label %27797

27797:                                            ; preds = %27780, %27763
  call void @llvm.lifetime.end.p0(i64 4, ptr %582) #11
  br label %27798

27798:                                            ; preds = %27797
  br label %27799

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

27800:                                            ; No predecessors!
  br label %27801

27801:                                            ; preds = %27800
  br label %27802

27802:                                            ; preds = %27801, %27742
  br label %27803

27803:                                            ; preds = %27802
  br label %27804

27804:                                            ; preds = %27803
  br label %27805

27805:                                            ; preds = %27804
  %27806 = load i32, ptr @test_count, align 4, !tbaa !5
  %27807 = add nsw i32 %27806, 1
  store i32 %27807, ptr @test_count, align 4, !tbaa !5
  %27808 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27809 = load i32, ptr %27808, align 4, !tbaa !5
  %27810 = icmp eq i32 %27809, 201326592
  br i1 %27810, label %27864, label %27811

27811:                                            ; preds = %27805
  br label %27812

27812:                                            ; preds = %27811
  br label %27813

27813:                                            ; preds = %27812
  call void @llvm.lifetime.start.p0(i64 4, ptr %583) #11
  %27814 = call ptr @__errno_location() #12
  %27815 = load i32, ptr %27814, align 4, !tbaa !5
  store i32 %27815, ptr %583, align 4, !tbaa !5
  %27816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27817 = call i32 @s2n_print_stacktrace(ptr noundef %27816)
  %27818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27819 = trunc i8 %27818 to i1
  br i1 %27819, label %27820, label %27842

27820:                                            ; preds = %27813
  %27821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27822 = call i32 @fileno(ptr noundef %27821) #11
  %27823 = call i32 @isatty(i32 noundef %27822) #11
  %27824 = icmp ne i32 %27823, 0
  br i1 %27824, label %27825, label %27842

27825:                                            ; preds = %27820
  %27826 = load i32, ptr %583, align 4, !tbaa !5
  %27827 = call ptr @__errno_location() #12
  store i32 %27826, ptr %27827, align 4, !tbaa !5
  %27828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27829 = load i32, ptr @test_count, align 4, !tbaa !5
  %27830 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27831 = load i32, ptr %27830, align 4, !tbaa !5
  %27832 = call ptr @s2n_strerror(i32 noundef %27831, ptr noundef @.str.4)
  %27833 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27834 = load i32, ptr %27833, align 4, !tbaa !5
  %27835 = call ptr @s2n_strerror_debug(i32 noundef %27834, ptr noundef @.str.4)
  %27836 = call ptr @__errno_location() #12
  %27837 = load i32, ptr %27836, align 4, !tbaa !5
  %27838 = call ptr @strerror(i32 noundef %27837) #11
  %27839 = call ptr @__errno_location() #12
  %27840 = load i32, ptr %27839, align 4, !tbaa !5
  %27841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27828, ptr noundef @.str.2, i32 noundef %27829, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 990, ptr noundef %27832, ptr noundef %27835, ptr noundef %27838, i32 noundef %27840) #11
  br label %27859

27842:                                            ; preds = %27820, %27813
  %27843 = load i32, ptr %583, align 4, !tbaa !5
  %27844 = call ptr @__errno_location() #12
  store i32 %27843, ptr %27844, align 4, !tbaa !5
  %27845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27846 = load i32, ptr @test_count, align 4, !tbaa !5
  %27847 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27848 = load i32, ptr %27847, align 4, !tbaa !5
  %27849 = call ptr @s2n_strerror(i32 noundef %27848, ptr noundef @.str.4)
  %27850 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27851 = load i32, ptr %27850, align 4, !tbaa !5
  %27852 = call ptr @s2n_strerror_debug(i32 noundef %27851, ptr noundef @.str.4)
  %27853 = call ptr @__errno_location() #12
  %27854 = load i32, ptr %27853, align 4, !tbaa !5
  %27855 = call ptr @strerror(i32 noundef %27854) #11
  %27856 = call ptr @__errno_location() #12
  %27857 = load i32, ptr %27856, align 4, !tbaa !5
  %27858 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27845, ptr noundef @.str.5, i32 noundef %27846, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 990, ptr noundef %27849, ptr noundef %27852, ptr noundef %27855, i32 noundef %27857) #11
  br label %27859

27859:                                            ; preds = %27842, %27825
  call void @llvm.lifetime.end.p0(i64 4, ptr %583) #11
  br label %27860

27860:                                            ; preds = %27859
  br label %27861

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

27862:                                            ; No predecessors!
  br label %27863

27863:                                            ; preds = %27862
  br label %27864

27864:                                            ; preds = %27863, %27805
  br label %27865

27865:                                            ; preds = %27864
  br label %27866

27866:                                            ; preds = %27865
  br label %27867

27867:                                            ; preds = %27866
  %27868 = load i32, ptr @test_count, align 4, !tbaa !5
  %27869 = add nsw i32 %27868, 1
  store i32 %27869, ptr @test_count, align 4, !tbaa !5
  %27870 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27871 = load i32, ptr %27870, align 4, !tbaa !5
  %27872 = call ptr @s2n_strerror_debug(i32 noundef %27871, ptr noundef @.str.4)
  %27873 = icmp eq ptr %27872, null
  br i1 %27873, label %27874, label %27927

27874:                                            ; preds = %27867
  br label %27875

27875:                                            ; preds = %27874
  br label %27876

27876:                                            ; preds = %27875
  call void @llvm.lifetime.start.p0(i64 4, ptr %584) #11
  %27877 = call ptr @__errno_location() #12
  %27878 = load i32, ptr %27877, align 4, !tbaa !5
  store i32 %27878, ptr %584, align 4, !tbaa !5
  %27879 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27880 = call i32 @s2n_print_stacktrace(ptr noundef %27879)
  %27881 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27882 = trunc i8 %27881 to i1
  br i1 %27882, label %27883, label %27905

27883:                                            ; preds = %27876
  %27884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27885 = call i32 @fileno(ptr noundef %27884) #11
  %27886 = call i32 @isatty(i32 noundef %27885) #11
  %27887 = icmp ne i32 %27886, 0
  br i1 %27887, label %27888, label %27905

27888:                                            ; preds = %27883
  %27889 = load i32, ptr %584, align 4, !tbaa !5
  %27890 = call ptr @__errno_location() #12
  store i32 %27889, ptr %27890, align 4, !tbaa !5
  %27891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27892 = load i32, ptr @test_count, align 4, !tbaa !5
  %27893 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27894 = load i32, ptr %27893, align 4, !tbaa !5
  %27895 = call ptr @s2n_strerror(i32 noundef %27894, ptr noundef @.str.4)
  %27896 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27897 = load i32, ptr %27896, align 4, !tbaa !5
  %27898 = call ptr @s2n_strerror_debug(i32 noundef %27897, ptr noundef @.str.4)
  %27899 = call ptr @__errno_location() #12
  %27900 = load i32, ptr %27899, align 4, !tbaa !5
  %27901 = call ptr @strerror(i32 noundef %27900) #11
  %27902 = call ptr @__errno_location() #12
  %27903 = load i32, ptr %27902, align 4, !tbaa !5
  %27904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27891, ptr noundef @.str.2, i32 noundef %27892, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 990, ptr noundef %27895, ptr noundef %27898, ptr noundef %27901, i32 noundef %27903) #11
  br label %27922

27905:                                            ; preds = %27883, %27876
  %27906 = load i32, ptr %584, align 4, !tbaa !5
  %27907 = call ptr @__errno_location() #12
  store i32 %27906, ptr %27907, align 4, !tbaa !5
  %27908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27909 = load i32, ptr @test_count, align 4, !tbaa !5
  %27910 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27911 = load i32, ptr %27910, align 4, !tbaa !5
  %27912 = call ptr @s2n_strerror(i32 noundef %27911, ptr noundef @.str.4)
  %27913 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27914 = load i32, ptr %27913, align 4, !tbaa !5
  %27915 = call ptr @s2n_strerror_debug(i32 noundef %27914, ptr noundef @.str.4)
  %27916 = call ptr @__errno_location() #12
  %27917 = load i32, ptr %27916, align 4, !tbaa !5
  %27918 = call ptr @strerror(i32 noundef %27917) #11
  %27919 = call ptr @__errno_location() #12
  %27920 = load i32, ptr %27919, align 4, !tbaa !5
  %27921 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27908, ptr noundef @.str.5, i32 noundef %27909, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 990, ptr noundef %27912, ptr noundef %27915, ptr noundef %27918, i32 noundef %27920) #11
  br label %27922

27922:                                            ; preds = %27905, %27888
  call void @llvm.lifetime.end.p0(i64 4, ptr %584) #11
  br label %27923

27923:                                            ; preds = %27922
  br label %27924

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

27925:                                            ; No predecessors!
  br label %27926

27926:                                            ; preds = %27925
  br label %27927

27927:                                            ; preds = %27926, %27867
  br label %27928

27928:                                            ; preds = %27927
  br label %27929

27929:                                            ; preds = %27928
  br label %27930

27930:                                            ; preds = %27929
  br label %27931

27931:                                            ; preds = %27930
  br label %27932

27932:                                            ; preds = %27931
  %27933 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %27933, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %27934 = call ptr @__errno_location() #12
  store i32 0, ptr %27934, align 4, !tbaa !5
  br label %27935

27935:                                            ; preds = %27932
  br label %27936

27936:                                            ; preds = %27935
  br label %27937

27937:                                            ; preds = %27936
  br label %27938

27938:                                            ; preds = %27937
  br label %27939

27939:                                            ; preds = %27938
  %27940 = load i32, ptr @test_count, align 4, !tbaa !5
  %27941 = add nsw i32 %27940, 1
  store i32 %27941, ptr @test_count, align 4, !tbaa !5
  %27942 = load i32, ptr %547, align 4, !tbaa !5
  %27943 = icmp eq i32 %27942, 1
  br i1 %27943, label %27997, label %27944

27944:                                            ; preds = %27939
  br label %27945

27945:                                            ; preds = %27944
  br label %27946

27946:                                            ; preds = %27945
  call void @llvm.lifetime.start.p0(i64 4, ptr %585) #11
  %27947 = call ptr @__errno_location() #12
  %27948 = load i32, ptr %27947, align 4, !tbaa !5
  store i32 %27948, ptr %585, align 4, !tbaa !5
  %27949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27950 = call i32 @s2n_print_stacktrace(ptr noundef %27949)
  %27951 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %27952 = trunc i8 %27951 to i1
  br i1 %27952, label %27953, label %27975

27953:                                            ; preds = %27946
  %27954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27955 = call i32 @fileno(ptr noundef %27954) #11
  %27956 = call i32 @isatty(i32 noundef %27955) #11
  %27957 = icmp ne i32 %27956, 0
  br i1 %27957, label %27958, label %27975

27958:                                            ; preds = %27953
  %27959 = load i32, ptr %585, align 4, !tbaa !5
  %27960 = call ptr @__errno_location() #12
  store i32 %27959, ptr %27960, align 4, !tbaa !5
  %27961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27962 = load i32, ptr @test_count, align 4, !tbaa !5
  %27963 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27964 = load i32, ptr %27963, align 4, !tbaa !5
  %27965 = call ptr @s2n_strerror(i32 noundef %27964, ptr noundef @.str.4)
  %27966 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27967 = load i32, ptr %27966, align 4, !tbaa !5
  %27968 = call ptr @s2n_strerror_debug(i32 noundef %27967, ptr noundef @.str.4)
  %27969 = call ptr @__errno_location() #12
  %27970 = load i32, ptr %27969, align 4, !tbaa !5
  %27971 = call ptr @strerror(i32 noundef %27970) #11
  %27972 = call ptr @__errno_location() #12
  %27973 = load i32, ptr %27972, align 4, !tbaa !5
  %27974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27961, ptr noundef @.str.2, i32 noundef %27962, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 991, ptr noundef %27965, ptr noundef %27968, ptr noundef %27971, i32 noundef %27973) #11
  br label %27992

27975:                                            ; preds = %27953, %27946
  %27976 = load i32, ptr %585, align 4, !tbaa !5
  %27977 = call ptr @__errno_location() #12
  store i32 %27976, ptr %27977, align 4, !tbaa !5
  %27978 = load ptr, ptr @stderr, align 8, !tbaa !9
  %27979 = load i32, ptr @test_count, align 4, !tbaa !5
  %27980 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27981 = load i32, ptr %27980, align 4, !tbaa !5
  %27982 = call ptr @s2n_strerror(i32 noundef %27981, ptr noundef @.str.4)
  %27983 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %27984 = load i32, ptr %27983, align 4, !tbaa !5
  %27985 = call ptr @s2n_strerror_debug(i32 noundef %27984, ptr noundef @.str.4)
  %27986 = call ptr @__errno_location() #12
  %27987 = load i32, ptr %27986, align 4, !tbaa !5
  %27988 = call ptr @strerror(i32 noundef %27987) #11
  %27989 = call ptr @__errno_location() #12
  %27990 = load i32, ptr %27989, align 4, !tbaa !5
  %27991 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %27978, ptr noundef @.str.5, i32 noundef %27979, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 991, ptr noundef %27982, ptr noundef %27985, ptr noundef %27988, i32 noundef %27990) #11
  br label %27992

27992:                                            ; preds = %27975, %27958
  call void @llvm.lifetime.end.p0(i64 4, ptr %585) #11
  br label %27993

27993:                                            ; preds = %27992
  br label %27994

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

27995:                                            ; No predecessors!
  br label %27996

27996:                                            ; preds = %27995
  br label %27997

27997:                                            ; preds = %27996, %27939
  br label %27998

27998:                                            ; preds = %27997
  br label %27999

27999:                                            ; preds = %27998
  br label %28000

28000:                                            ; preds = %27999
  %28001 = load i32, ptr @test_count, align 4, !tbaa !5
  %28002 = add nsw i32 %28001, 1
  store i32 %28002, ptr @test_count, align 4, !tbaa !5
  %28003 = load ptr, ptr %536, align 8, !tbaa !9
  %28004 = call i32 @s2n_conn_get_current_message_type(ptr noundef %28003)
  %28005 = icmp eq i32 %28004, 19
  br i1 %28005, label %28059, label %28006

28006:                                            ; preds = %28000
  br label %28007

28007:                                            ; preds = %28006
  br label %28008

28008:                                            ; preds = %28007
  call void @llvm.lifetime.start.p0(i64 4, ptr %586) #11
  %28009 = call ptr @__errno_location() #12
  %28010 = load i32, ptr %28009, align 4, !tbaa !5
  store i32 %28010, ptr %586, align 4, !tbaa !5
  %28011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28012 = call i32 @s2n_print_stacktrace(ptr noundef %28011)
  %28013 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28014 = trunc i8 %28013 to i1
  br i1 %28014, label %28015, label %28037

28015:                                            ; preds = %28008
  %28016 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28017 = call i32 @fileno(ptr noundef %28016) #11
  %28018 = call i32 @isatty(i32 noundef %28017) #11
  %28019 = icmp ne i32 %28018, 0
  br i1 %28019, label %28020, label %28037

28020:                                            ; preds = %28015
  %28021 = load i32, ptr %586, align 4, !tbaa !5
  %28022 = call ptr @__errno_location() #12
  store i32 %28021, ptr %28022, align 4, !tbaa !5
  %28023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28024 = load i32, ptr @test_count, align 4, !tbaa !5
  %28025 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28026 = load i32, ptr %28025, align 4, !tbaa !5
  %28027 = call ptr @s2n_strerror(i32 noundef %28026, ptr noundef @.str.4)
  %28028 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28029 = load i32, ptr %28028, align 4, !tbaa !5
  %28030 = call ptr @s2n_strerror_debug(i32 noundef %28029, ptr noundef @.str.4)
  %28031 = call ptr @__errno_location() #12
  %28032 = load i32, ptr %28031, align 4, !tbaa !5
  %28033 = call ptr @strerror(i32 noundef %28032) #11
  %28034 = call ptr @__errno_location() #12
  %28035 = load i32, ptr %28034, align 4, !tbaa !5
  %28036 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28023, ptr noundef @.str.2, i32 noundef %28024, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 991, ptr noundef %28027, ptr noundef %28030, ptr noundef %28033, i32 noundef %28035) #11
  br label %28054

28037:                                            ; preds = %28015, %28008
  %28038 = load i32, ptr %586, align 4, !tbaa !5
  %28039 = call ptr @__errno_location() #12
  store i32 %28038, ptr %28039, align 4, !tbaa !5
  %28040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28041 = load i32, ptr @test_count, align 4, !tbaa !5
  %28042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28043 = load i32, ptr %28042, align 4, !tbaa !5
  %28044 = call ptr @s2n_strerror(i32 noundef %28043, ptr noundef @.str.4)
  %28045 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28046 = load i32, ptr %28045, align 4, !tbaa !5
  %28047 = call ptr @s2n_strerror_debug(i32 noundef %28046, ptr noundef @.str.4)
  %28048 = call ptr @__errno_location() #12
  %28049 = load i32, ptr %28048, align 4, !tbaa !5
  %28050 = call ptr @strerror(i32 noundef %28049) #11
  %28051 = call ptr @__errno_location() #12
  %28052 = load i32, ptr %28051, align 4, !tbaa !5
  %28053 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28040, ptr noundef @.str.5, i32 noundef %28041, ptr noundef @.str.69, ptr noundef @.str.1, i32 noundef 991, ptr noundef %28044, ptr noundef %28047, ptr noundef %28050, i32 noundef %28052) #11
  br label %28054

28054:                                            ; preds = %28037, %28020
  call void @llvm.lifetime.end.p0(i64 4, ptr %586) #11
  br label %28055

28055:                                            ; preds = %28054
  br label %28056

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

28057:                                            ; No predecessors!
  br label %28058

28058:                                            ; preds = %28057
  br label %28059

28059:                                            ; preds = %28058, %28000
  br label %28060

28060:                                            ; preds = %28059
  br label %28061

28061:                                            ; preds = %28060
  br label %28062

28062:                                            ; preds = %28061
  %28063 = load i32, ptr @test_count, align 4, !tbaa !5
  %28064 = add nsw i32 %28063, 1
  store i32 %28064, ptr @test_count, align 4, !tbaa !5
  %28065 = load i64, ptr %548, align 8, !tbaa !42
  %28066 = icmp eq i64 %28065, 0
  br i1 %28066, label %28120, label %28067

28067:                                            ; preds = %28062
  br label %28068

28068:                                            ; preds = %28067
  br label %28069

28069:                                            ; preds = %28068
  call void @llvm.lifetime.start.p0(i64 4, ptr %587) #11
  %28070 = call ptr @__errno_location() #12
  %28071 = load i32, ptr %28070, align 4, !tbaa !5
  store i32 %28071, ptr %587, align 4, !tbaa !5
  %28072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28073 = call i32 @s2n_print_stacktrace(ptr noundef %28072)
  %28074 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28075 = trunc i8 %28074 to i1
  br i1 %28075, label %28076, label %28098

28076:                                            ; preds = %28069
  %28077 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28078 = call i32 @fileno(ptr noundef %28077) #11
  %28079 = call i32 @isatty(i32 noundef %28078) #11
  %28080 = icmp ne i32 %28079, 0
  br i1 %28080, label %28081, label %28098

28081:                                            ; preds = %28076
  %28082 = load i32, ptr %587, align 4, !tbaa !5
  %28083 = call ptr @__errno_location() #12
  store i32 %28082, ptr %28083, align 4, !tbaa !5
  %28084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28085 = load i32, ptr @test_count, align 4, !tbaa !5
  %28086 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28087 = load i32, ptr %28086, align 4, !tbaa !5
  %28088 = call ptr @s2n_strerror(i32 noundef %28087, ptr noundef @.str.4)
  %28089 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28090 = load i32, ptr %28089, align 4, !tbaa !5
  %28091 = call ptr @s2n_strerror_debug(i32 noundef %28090, ptr noundef @.str.4)
  %28092 = call ptr @__errno_location() #12
  %28093 = load i32, ptr %28092, align 4, !tbaa !5
  %28094 = call ptr @strerror(i32 noundef %28093) #11
  %28095 = call ptr @__errno_location() #12
  %28096 = load i32, ptr %28095, align 4, !tbaa !5
  %28097 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28084, ptr noundef @.str.2, i32 noundef %28085, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 992, ptr noundef %28088, ptr noundef %28091, ptr noundef %28094, i32 noundef %28096) #11
  br label %28115

28098:                                            ; preds = %28076, %28069
  %28099 = load i32, ptr %587, align 4, !tbaa !5
  %28100 = call ptr @__errno_location() #12
  store i32 %28099, ptr %28100, align 4, !tbaa !5
  %28101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28102 = load i32, ptr @test_count, align 4, !tbaa !5
  %28103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28104 = load i32, ptr %28103, align 4, !tbaa !5
  %28105 = call ptr @s2n_strerror(i32 noundef %28104, ptr noundef @.str.4)
  %28106 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28107 = load i32, ptr %28106, align 4, !tbaa !5
  %28108 = call ptr @s2n_strerror_debug(i32 noundef %28107, ptr noundef @.str.4)
  %28109 = call ptr @__errno_location() #12
  %28110 = load i32, ptr %28109, align 4, !tbaa !5
  %28111 = call ptr @strerror(i32 noundef %28110) #11
  %28112 = call ptr @__errno_location() #12
  %28113 = load i32, ptr %28112, align 4, !tbaa !5
  %28114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28101, ptr noundef @.str.5, i32 noundef %28102, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 992, ptr noundef %28105, ptr noundef %28108, ptr noundef %28111, i32 noundef %28113) #11
  br label %28115

28115:                                            ; preds = %28098, %28081
  call void @llvm.lifetime.end.p0(i64 4, ptr %587) #11
  br label %28116

28116:                                            ; preds = %28115
  br label %28117

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

28118:                                            ; No predecessors!
  br label %28119

28119:                                            ; preds = %28118
  br label %28120

28120:                                            ; preds = %28119, %28062
  br label %28121

28121:                                            ; preds = %28120
  br label %28122

28122:                                            ; preds = %28121
  br label %28123

28123:                                            ; preds = %28122
  %28124 = load i64, ptr %581, align 8, !tbaa !42
  %28125 = add i64 %28124, 1
  store i64 %28125, ptr %581, align 8, !tbaa !42
  br label %27735, !llvm.loop !61

28126:                                            ; preds = %27738
  br label %28127

28127:                                            ; preds = %28126
  %28128 = load i32, ptr @test_count, align 4, !tbaa !5
  %28129 = add nsw i32 %28128, 1
  store i32 %28129, ptr @test_count, align 4, !tbaa !5
  %28130 = load ptr, ptr %536, align 8, !tbaa !9
  %28131 = getelementptr inbounds %struct.s2n_connection, ptr %28130, i32 0, i32 89
  %28132 = load i32, ptr %28131, align 8, !tbaa !57
  %28133 = icmp eq i32 %28132, 3
  br i1 %28133, label %28187, label %28134

28134:                                            ; preds = %28127
  br label %28135

28135:                                            ; preds = %28134
  br label %28136

28136:                                            ; preds = %28135
  call void @llvm.lifetime.start.p0(i64 4, ptr %588) #11
  %28137 = call ptr @__errno_location() #12
  %28138 = load i32, ptr %28137, align 4, !tbaa !5
  store i32 %28138, ptr %588, align 4, !tbaa !5
  %28139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28140 = call i32 @s2n_print_stacktrace(ptr noundef %28139)
  %28141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28142 = trunc i8 %28141 to i1
  br i1 %28142, label %28143, label %28165

28143:                                            ; preds = %28136
  %28144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28145 = call i32 @fileno(ptr noundef %28144) #11
  %28146 = call i32 @isatty(i32 noundef %28145) #11
  %28147 = icmp ne i32 %28146, 0
  br i1 %28147, label %28148, label %28165

28148:                                            ; preds = %28143
  %28149 = load i32, ptr %588, align 4, !tbaa !5
  %28150 = call ptr @__errno_location() #12
  store i32 %28149, ptr %28150, align 4, !tbaa !5
  %28151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28152 = load i32, ptr @test_count, align 4, !tbaa !5
  %28153 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28154 = load i32, ptr %28153, align 4, !tbaa !5
  %28155 = call ptr @s2n_strerror(i32 noundef %28154, ptr noundef @.str.4)
  %28156 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28157 = load i32, ptr %28156, align 4, !tbaa !5
  %28158 = call ptr @s2n_strerror_debug(i32 noundef %28157, ptr noundef @.str.4)
  %28159 = call ptr @__errno_location() #12
  %28160 = load i32, ptr %28159, align 4, !tbaa !5
  %28161 = call ptr @strerror(i32 noundef %28160) #11
  %28162 = call ptr @__errno_location() #12
  %28163 = load i32, ptr %28162, align 4, !tbaa !5
  %28164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28151, ptr noundef @.str.2, i32 noundef %28152, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 994, ptr noundef %28155, ptr noundef %28158, ptr noundef %28161, i32 noundef %28163) #11
  br label %28182

28165:                                            ; preds = %28143, %28136
  %28166 = load i32, ptr %588, align 4, !tbaa !5
  %28167 = call ptr @__errno_location() #12
  store i32 %28166, ptr %28167, align 4, !tbaa !5
  %28168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28169 = load i32, ptr @test_count, align 4, !tbaa !5
  %28170 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28171 = load i32, ptr %28170, align 4, !tbaa !5
  %28172 = call ptr @s2n_strerror(i32 noundef %28171, ptr noundef @.str.4)
  %28173 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28174 = load i32, ptr %28173, align 4, !tbaa !5
  %28175 = call ptr @s2n_strerror_debug(i32 noundef %28174, ptr noundef @.str.4)
  %28176 = call ptr @__errno_location() #12
  %28177 = load i32, ptr %28176, align 4, !tbaa !5
  %28178 = call ptr @strerror(i32 noundef %28177) #11
  %28179 = call ptr @__errno_location() #12
  %28180 = load i32, ptr %28179, align 4, !tbaa !5
  %28181 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28168, ptr noundef @.str.5, i32 noundef %28169, ptr noundef @.str.142, ptr noundef @.str.1, i32 noundef 994, ptr noundef %28172, ptr noundef %28175, ptr noundef %28178, i32 noundef %28180) #11
  br label %28182

28182:                                            ; preds = %28165, %28148
  call void @llvm.lifetime.end.p0(i64 4, ptr %588) #11
  br label %28183

28183:                                            ; preds = %28182
  br label %28184

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

28185:                                            ; No predecessors!
  br label %28186

28186:                                            ; preds = %28185
  br label %28187

28187:                                            ; preds = %28186, %28127
  br label %28188

28188:                                            ; preds = %28187
  br label %28189

28189:                                            ; preds = %28188
  br label %28190

28190:                                            ; preds = %28189
  %28191 = load i32, ptr @test_count, align 4, !tbaa !5
  %28192 = add nsw i32 %28191, 1
  store i32 %28192, ptr @test_count, align 4, !tbaa !5
  %28193 = call i32 @s2n_stuffer_write(ptr noundef %542, ptr noundef %507)
  %28194 = icmp eq i32 %28193, -1
  br i1 %28194, label %28195, label %28248

28195:                                            ; preds = %28190
  br label %28196

28196:                                            ; preds = %28195
  br label %28197

28197:                                            ; preds = %28196
  call void @llvm.lifetime.start.p0(i64 4, ptr %589) #11
  %28198 = call ptr @__errno_location() #12
  %28199 = load i32, ptr %28198, align 4, !tbaa !5
  store i32 %28199, ptr %589, align 4, !tbaa !5
  %28200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28201 = call i32 @s2n_print_stacktrace(ptr noundef %28200)
  %28202 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28203 = trunc i8 %28202 to i1
  br i1 %28203, label %28204, label %28226

28204:                                            ; preds = %28197
  %28205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28206 = call i32 @fileno(ptr noundef %28205) #11
  %28207 = call i32 @isatty(i32 noundef %28206) #11
  %28208 = icmp ne i32 %28207, 0
  br i1 %28208, label %28209, label %28226

28209:                                            ; preds = %28204
  %28210 = load i32, ptr %589, align 4, !tbaa !5
  %28211 = call ptr @__errno_location() #12
  store i32 %28210, ptr %28211, align 4, !tbaa !5
  %28212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28213 = load i32, ptr @test_count, align 4, !tbaa !5
  %28214 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28215 = load i32, ptr %28214, align 4, !tbaa !5
  %28216 = call ptr @s2n_strerror(i32 noundef %28215, ptr noundef @.str.4)
  %28217 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28218 = load i32, ptr %28217, align 4, !tbaa !5
  %28219 = call ptr @s2n_strerror_debug(i32 noundef %28218, ptr noundef @.str.4)
  %28220 = call ptr @__errno_location() #12
  %28221 = load i32, ptr %28220, align 4, !tbaa !5
  %28222 = call ptr @strerror(i32 noundef %28221) #11
  %28223 = call ptr @__errno_location() #12
  %28224 = load i32, ptr %28223, align 4, !tbaa !5
  %28225 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28212, ptr noundef @.str.2, i32 noundef %28213, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 996, ptr noundef %28216, ptr noundef %28219, ptr noundef %28222, i32 noundef %28224) #11
  br label %28243

28226:                                            ; preds = %28204, %28197
  %28227 = load i32, ptr %589, align 4, !tbaa !5
  %28228 = call ptr @__errno_location() #12
  store i32 %28227, ptr %28228, align 4, !tbaa !5
  %28229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28230 = load i32, ptr @test_count, align 4, !tbaa !5
  %28231 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28232 = load i32, ptr %28231, align 4, !tbaa !5
  %28233 = call ptr @s2n_strerror(i32 noundef %28232, ptr noundef @.str.4)
  %28234 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28235 = load i32, ptr %28234, align 4, !tbaa !5
  %28236 = call ptr @s2n_strerror_debug(i32 noundef %28235, ptr noundef @.str.4)
  %28237 = call ptr @__errno_location() #12
  %28238 = load i32, ptr %28237, align 4, !tbaa !5
  %28239 = call ptr @strerror(i32 noundef %28238) #11
  %28240 = call ptr @__errno_location() #12
  %28241 = load i32, ptr %28240, align 4, !tbaa !5
  %28242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28229, ptr noundef @.str.5, i32 noundef %28230, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 996, ptr noundef %28233, ptr noundef %28236, ptr noundef %28239, i32 noundef %28241) #11
  br label %28243

28243:                                            ; preds = %28226, %28209
  call void @llvm.lifetime.end.p0(i64 4, ptr %589) #11
  br label %28244

28244:                                            ; preds = %28243
  br label %28245

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

28246:                                            ; No predecessors!
  br label %28247

28247:                                            ; preds = %28246
  br label %28248

28248:                                            ; preds = %28247, %28190
  br label %28249

28249:                                            ; preds = %28248
  br label %28250

28250:                                            ; preds = %28249
  call void @llvm.lifetime.start.p0(i64 8, ptr %590) #11
  store i64 0, ptr %590, align 8, !tbaa !42
  br label %28251

28251:                                            ; preds = %28566, %28250
  %28252 = load i64, ptr %590, align 8, !tbaa !42
  %28253 = icmp ult i64 %28252, 5
  br i1 %28253, label %28255, label %28254

28254:                                            ; preds = %28251
  store i32 2919, ptr %494, align 4
  call void @llvm.lifetime.end.p0(i64 8, ptr %590) #11
  br label %28569

28255:                                            ; preds = %28251
  br label %28256

28256:                                            ; preds = %28255
  %28257 = load i32, ptr @test_count, align 4, !tbaa !5
  %28258 = add nsw i32 %28257, 1
  store i32 %28258, ptr @test_count, align 4, !tbaa !5
  %28259 = load ptr, ptr %536, align 8, !tbaa !9
  %28260 = getelementptr inbounds [100 x i8], ptr %546, i64 0, i64 0
  %28261 = call i32 @s2n_recv_early_data(ptr noundef %28259, ptr noundef %28260, i64 noundef 100, ptr noundef %548, ptr noundef %547)
  %28262 = icmp eq i32 %28261, -1
  br i1 %28262, label %28263, label %28316

28263:                                            ; preds = %28256
  br label %28264

28264:                                            ; preds = %28263
  br label %28265

28265:                                            ; preds = %28264
  call void @llvm.lifetime.start.p0(i64 4, ptr %591) #11
  %28266 = call ptr @__errno_location() #12
  %28267 = load i32, ptr %28266, align 4, !tbaa !5
  store i32 %28267, ptr %591, align 4, !tbaa !5
  %28268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28269 = call i32 @s2n_print_stacktrace(ptr noundef %28268)
  %28270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28271 = trunc i8 %28270 to i1
  br i1 %28271, label %28272, label %28294

28272:                                            ; preds = %28265
  %28273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28274 = call i32 @fileno(ptr noundef %28273) #11
  %28275 = call i32 @isatty(i32 noundef %28274) #11
  %28276 = icmp ne i32 %28275, 0
  br i1 %28276, label %28277, label %28294

28277:                                            ; preds = %28272
  %28278 = load i32, ptr %591, align 4, !tbaa !5
  %28279 = call ptr @__errno_location() #12
  store i32 %28278, ptr %28279, align 4, !tbaa !5
  %28280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28281 = load i32, ptr @test_count, align 4, !tbaa !5
  %28282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28283 = load i32, ptr %28282, align 4, !tbaa !5
  %28284 = call ptr @s2n_strerror(i32 noundef %28283, ptr noundef @.str.4)
  %28285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28286 = load i32, ptr %28285, align 4, !tbaa !5
  %28287 = call ptr @s2n_strerror_debug(i32 noundef %28286, ptr noundef @.str.4)
  %28288 = call ptr @__errno_location() #12
  %28289 = load i32, ptr %28288, align 4, !tbaa !5
  %28290 = call ptr @strerror(i32 noundef %28289) #11
  %28291 = call ptr @__errno_location() #12
  %28292 = load i32, ptr %28291, align 4, !tbaa !5
  %28293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28280, ptr noundef @.str.2, i32 noundef %28281, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %28284, ptr noundef %28287, ptr noundef %28290, i32 noundef %28292) #11
  br label %28311

28294:                                            ; preds = %28272, %28265
  %28295 = load i32, ptr %591, align 4, !tbaa !5
  %28296 = call ptr @__errno_location() #12
  store i32 %28295, ptr %28296, align 4, !tbaa !5
  %28297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28298 = load i32, ptr @test_count, align 4, !tbaa !5
  %28299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28300 = load i32, ptr %28299, align 4, !tbaa !5
  %28301 = call ptr @s2n_strerror(i32 noundef %28300, ptr noundef @.str.4)
  %28302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28303 = load i32, ptr %28302, align 4, !tbaa !5
  %28304 = call ptr @s2n_strerror_debug(i32 noundef %28303, ptr noundef @.str.4)
  %28305 = call ptr @__errno_location() #12
  %28306 = load i32, ptr %28305, align 4, !tbaa !5
  %28307 = call ptr @strerror(i32 noundef %28306) #11
  %28308 = call ptr @__errno_location() #12
  %28309 = load i32, ptr %28308, align 4, !tbaa !5
  %28310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28297, ptr noundef @.str.5, i32 noundef %28298, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1000, ptr noundef %28301, ptr noundef %28304, ptr noundef %28307, i32 noundef %28309) #11
  br label %28311

28311:                                            ; preds = %28294, %28277
  call void @llvm.lifetime.end.p0(i64 4, ptr %591) #11
  br label %28312

28312:                                            ; preds = %28311
  br label %28313

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

28314:                                            ; No predecessors!
  br label %28315

28315:                                            ; preds = %28314
  br label %28316

28316:                                            ; preds = %28315, %28256
  br label %28317

28317:                                            ; preds = %28316
  br label %28318

28318:                                            ; preds = %28317
  br label %28319

28319:                                            ; preds = %28318
  %28320 = load i32, ptr @test_count, align 4, !tbaa !5
  %28321 = add nsw i32 %28320, 1
  store i32 %28321, ptr @test_count, align 4, !tbaa !5
  %28322 = load i32, ptr %547, align 4, !tbaa !5
  %28323 = icmp eq i32 %28322, 0
  br i1 %28323, label %28377, label %28324

28324:                                            ; preds = %28319
  br label %28325

28325:                                            ; preds = %28324
  br label %28326

28326:                                            ; preds = %28325
  call void @llvm.lifetime.start.p0(i64 4, ptr %592) #11
  %28327 = call ptr @__errno_location() #12
  %28328 = load i32, ptr %28327, align 4, !tbaa !5
  store i32 %28328, ptr %592, align 4, !tbaa !5
  %28329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28330 = call i32 @s2n_print_stacktrace(ptr noundef %28329)
  %28331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28332 = trunc i8 %28331 to i1
  br i1 %28332, label %28333, label %28355

28333:                                            ; preds = %28326
  %28334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28335 = call i32 @fileno(ptr noundef %28334) #11
  %28336 = call i32 @isatty(i32 noundef %28335) #11
  %28337 = icmp ne i32 %28336, 0
  br i1 %28337, label %28338, label %28355

28338:                                            ; preds = %28333
  %28339 = load i32, ptr %592, align 4, !tbaa !5
  %28340 = call ptr @__errno_location() #12
  store i32 %28339, ptr %28340, align 4, !tbaa !5
  %28341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28342 = load i32, ptr @test_count, align 4, !tbaa !5
  %28343 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28344 = load i32, ptr %28343, align 4, !tbaa !5
  %28345 = call ptr @s2n_strerror(i32 noundef %28344, ptr noundef @.str.4)
  %28346 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28347 = load i32, ptr %28346, align 4, !tbaa !5
  %28348 = call ptr @s2n_strerror_debug(i32 noundef %28347, ptr noundef @.str.4)
  %28349 = call ptr @__errno_location() #12
  %28350 = load i32, ptr %28349, align 4, !tbaa !5
  %28351 = call ptr @strerror(i32 noundef %28350) #11
  %28352 = call ptr @__errno_location() #12
  %28353 = load i32, ptr %28352, align 4, !tbaa !5
  %28354 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28341, ptr noundef @.str.2, i32 noundef %28342, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 1001, ptr noundef %28345, ptr noundef %28348, ptr noundef %28351, i32 noundef %28353) #11
  br label %28372

28355:                                            ; preds = %28333, %28326
  %28356 = load i32, ptr %592, align 4, !tbaa !5
  %28357 = call ptr @__errno_location() #12
  store i32 %28356, ptr %28357, align 4, !tbaa !5
  %28358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28359 = load i32, ptr @test_count, align 4, !tbaa !5
  %28360 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28361 = load i32, ptr %28360, align 4, !tbaa !5
  %28362 = call ptr @s2n_strerror(i32 noundef %28361, ptr noundef @.str.4)
  %28363 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28364 = load i32, ptr %28363, align 4, !tbaa !5
  %28365 = call ptr @s2n_strerror_debug(i32 noundef %28364, ptr noundef @.str.4)
  %28366 = call ptr @__errno_location() #12
  %28367 = load i32, ptr %28366, align 4, !tbaa !5
  %28368 = call ptr @strerror(i32 noundef %28367) #11
  %28369 = call ptr @__errno_location() #12
  %28370 = load i32, ptr %28369, align 4, !tbaa !5
  %28371 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28358, ptr noundef @.str.5, i32 noundef %28359, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 1001, ptr noundef %28362, ptr noundef %28365, ptr noundef %28368, i32 noundef %28370) #11
  br label %28372

28372:                                            ; preds = %28355, %28338
  call void @llvm.lifetime.end.p0(i64 4, ptr %592) #11
  br label %28373

28373:                                            ; preds = %28372
  br label %28374

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

28375:                                            ; No predecessors!
  br label %28376

28376:                                            ; preds = %28375
  br label %28377

28377:                                            ; preds = %28376, %28319
  br label %28378

28378:                                            ; preds = %28377
  br label %28379

28379:                                            ; preds = %28378
  br label %28380

28380:                                            ; preds = %28379
  %28381 = load i32, ptr @test_count, align 4, !tbaa !5
  %28382 = add nsw i32 %28381, 1
  store i32 %28382, ptr @test_count, align 4, !tbaa !5
  %28383 = load ptr, ptr %536, align 8, !tbaa !9
  %28384 = call i32 @s2n_conn_get_current_message_type(ptr noundef %28383)
  %28385 = icmp eq i32 %28384, 13
  br i1 %28385, label %28439, label %28386

28386:                                            ; preds = %28380
  br label %28387

28387:                                            ; preds = %28386
  br label %28388

28388:                                            ; preds = %28387
  call void @llvm.lifetime.start.p0(i64 4, ptr %593) #11
  %28389 = call ptr @__errno_location() #12
  %28390 = load i32, ptr %28389, align 4, !tbaa !5
  store i32 %28390, ptr %593, align 4, !tbaa !5
  %28391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28392 = call i32 @s2n_print_stacktrace(ptr noundef %28391)
  %28393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28394 = trunc i8 %28393 to i1
  br i1 %28394, label %28395, label %28417

28395:                                            ; preds = %28388
  %28396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28397 = call i32 @fileno(ptr noundef %28396) #11
  %28398 = call i32 @isatty(i32 noundef %28397) #11
  %28399 = icmp ne i32 %28398, 0
  br i1 %28399, label %28400, label %28417

28400:                                            ; preds = %28395
  %28401 = load i32, ptr %593, align 4, !tbaa !5
  %28402 = call ptr @__errno_location() #12
  store i32 %28401, ptr %28402, align 4, !tbaa !5
  %28403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28404 = load i32, ptr @test_count, align 4, !tbaa !5
  %28405 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28406 = load i32, ptr %28405, align 4, !tbaa !5
  %28407 = call ptr @s2n_strerror(i32 noundef %28406, ptr noundef @.str.4)
  %28408 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28409 = load i32, ptr %28408, align 4, !tbaa !5
  %28410 = call ptr @s2n_strerror_debug(i32 noundef %28409, ptr noundef @.str.4)
  %28411 = call ptr @__errno_location() #12
  %28412 = load i32, ptr %28411, align 4, !tbaa !5
  %28413 = call ptr @strerror(i32 noundef %28412) #11
  %28414 = call ptr @__errno_location() #12
  %28415 = load i32, ptr %28414, align 4, !tbaa !5
  %28416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28403, ptr noundef @.str.2, i32 noundef %28404, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1001, ptr noundef %28407, ptr noundef %28410, ptr noundef %28413, i32 noundef %28415) #11
  br label %28434

28417:                                            ; preds = %28395, %28388
  %28418 = load i32, ptr %593, align 4, !tbaa !5
  %28419 = call ptr @__errno_location() #12
  store i32 %28418, ptr %28419, align 4, !tbaa !5
  %28420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28421 = load i32, ptr @test_count, align 4, !tbaa !5
  %28422 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28423 = load i32, ptr %28422, align 4, !tbaa !5
  %28424 = call ptr @s2n_strerror(i32 noundef %28423, ptr noundef @.str.4)
  %28425 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28426 = load i32, ptr %28425, align 4, !tbaa !5
  %28427 = call ptr @s2n_strerror_debug(i32 noundef %28426, ptr noundef @.str.4)
  %28428 = call ptr @__errno_location() #12
  %28429 = load i32, ptr %28428, align 4, !tbaa !5
  %28430 = call ptr @strerror(i32 noundef %28429) #11
  %28431 = call ptr @__errno_location() #12
  %28432 = load i32, ptr %28431, align 4, !tbaa !5
  %28433 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28420, ptr noundef @.str.5, i32 noundef %28421, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1001, ptr noundef %28424, ptr noundef %28427, ptr noundef %28430, i32 noundef %28432) #11
  br label %28434

28434:                                            ; preds = %28417, %28400
  call void @llvm.lifetime.end.p0(i64 4, ptr %593) #11
  br label %28435

28435:                                            ; preds = %28434
  br label %28436

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

28437:                                            ; No predecessors!
  br label %28438

28438:                                            ; preds = %28437
  br label %28439

28439:                                            ; preds = %28438, %28380
  br label %28440

28440:                                            ; preds = %28439
  br label %28441

28441:                                            ; preds = %28440
  br label %28442

28442:                                            ; preds = %28441
  %28443 = load i32, ptr @test_count, align 4, !tbaa !5
  %28444 = add nsw i32 %28443, 1
  store i32 %28444, ptr @test_count, align 4, !tbaa !5
  %28445 = load i64, ptr %548, align 8, !tbaa !42
  %28446 = icmp eq i64 %28445, 0
  br i1 %28446, label %28500, label %28447

28447:                                            ; preds = %28442
  br label %28448

28448:                                            ; preds = %28447
  br label %28449

28449:                                            ; preds = %28448
  call void @llvm.lifetime.start.p0(i64 4, ptr %594) #11
  %28450 = call ptr @__errno_location() #12
  %28451 = load i32, ptr %28450, align 4, !tbaa !5
  store i32 %28451, ptr %594, align 4, !tbaa !5
  %28452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28453 = call i32 @s2n_print_stacktrace(ptr noundef %28452)
  %28454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28455 = trunc i8 %28454 to i1
  br i1 %28455, label %28456, label %28478

28456:                                            ; preds = %28449
  %28457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28458 = call i32 @fileno(ptr noundef %28457) #11
  %28459 = call i32 @isatty(i32 noundef %28458) #11
  %28460 = icmp ne i32 %28459, 0
  br i1 %28460, label %28461, label %28478

28461:                                            ; preds = %28456
  %28462 = load i32, ptr %594, align 4, !tbaa !5
  %28463 = call ptr @__errno_location() #12
  store i32 %28462, ptr %28463, align 4, !tbaa !5
  %28464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28465 = load i32, ptr @test_count, align 4, !tbaa !5
  %28466 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28467 = load i32, ptr %28466, align 4, !tbaa !5
  %28468 = call ptr @s2n_strerror(i32 noundef %28467, ptr noundef @.str.4)
  %28469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28470 = load i32, ptr %28469, align 4, !tbaa !5
  %28471 = call ptr @s2n_strerror_debug(i32 noundef %28470, ptr noundef @.str.4)
  %28472 = call ptr @__errno_location() #12
  %28473 = load i32, ptr %28472, align 4, !tbaa !5
  %28474 = call ptr @strerror(i32 noundef %28473) #11
  %28475 = call ptr @__errno_location() #12
  %28476 = load i32, ptr %28475, align 4, !tbaa !5
  %28477 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28464, ptr noundef @.str.2, i32 noundef %28465, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1002, ptr noundef %28468, ptr noundef %28471, ptr noundef %28474, i32 noundef %28476) #11
  br label %28495

28478:                                            ; preds = %28456, %28449
  %28479 = load i32, ptr %594, align 4, !tbaa !5
  %28480 = call ptr @__errno_location() #12
  store i32 %28479, ptr %28480, align 4, !tbaa !5
  %28481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28482 = load i32, ptr @test_count, align 4, !tbaa !5
  %28483 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28484 = load i32, ptr %28483, align 4, !tbaa !5
  %28485 = call ptr @s2n_strerror(i32 noundef %28484, ptr noundef @.str.4)
  %28486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28487 = load i32, ptr %28486, align 4, !tbaa !5
  %28488 = call ptr @s2n_strerror_debug(i32 noundef %28487, ptr noundef @.str.4)
  %28489 = call ptr @__errno_location() #12
  %28490 = load i32, ptr %28489, align 4, !tbaa !5
  %28491 = call ptr @strerror(i32 noundef %28490) #11
  %28492 = call ptr @__errno_location() #12
  %28493 = load i32, ptr %28492, align 4, !tbaa !5
  %28494 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28481, ptr noundef @.str.5, i32 noundef %28482, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1002, ptr noundef %28485, ptr noundef %28488, ptr noundef %28491, i32 noundef %28493) #11
  br label %28495

28495:                                            ; preds = %28478, %28461
  call void @llvm.lifetime.end.p0(i64 4, ptr %594) #11
  br label %28496

28496:                                            ; preds = %28495
  br label %28497

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

28498:                                            ; No predecessors!
  br label %28499

28499:                                            ; preds = %28498
  br label %28500

28500:                                            ; preds = %28499, %28442
  br label %28501

28501:                                            ; preds = %28500
  br label %28502

28502:                                            ; preds = %28501
  br label %28503

28503:                                            ; preds = %28502
  %28504 = load i32, ptr @test_count, align 4, !tbaa !5
  %28505 = add nsw i32 %28504, 1
  store i32 %28505, ptr @test_count, align 4, !tbaa !5
  %28506 = load ptr, ptr %536, align 8, !tbaa !9
  %28507 = getelementptr inbounds %struct.s2n_connection, ptr %28506, i32 0, i32 89
  %28508 = load i32, ptr %28507, align 8, !tbaa !57
  %28509 = icmp eq i32 %28508, 5
  br i1 %28509, label %28563, label %28510

28510:                                            ; preds = %28503
  br label %28511

28511:                                            ; preds = %28510
  br label %28512

28512:                                            ; preds = %28511
  call void @llvm.lifetime.start.p0(i64 4, ptr %595) #11
  %28513 = call ptr @__errno_location() #12
  %28514 = load i32, ptr %28513, align 4, !tbaa !5
  store i32 %28514, ptr %595, align 4, !tbaa !5
  %28515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28516 = call i32 @s2n_print_stacktrace(ptr noundef %28515)
  %28517 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28518 = trunc i8 %28517 to i1
  br i1 %28518, label %28519, label %28541

28519:                                            ; preds = %28512
  %28520 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28521 = call i32 @fileno(ptr noundef %28520) #11
  %28522 = call i32 @isatty(i32 noundef %28521) #11
  %28523 = icmp ne i32 %28522, 0
  br i1 %28523, label %28524, label %28541

28524:                                            ; preds = %28519
  %28525 = load i32, ptr %595, align 4, !tbaa !5
  %28526 = call ptr @__errno_location() #12
  store i32 %28525, ptr %28526, align 4, !tbaa !5
  %28527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28528 = load i32, ptr @test_count, align 4, !tbaa !5
  %28529 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28530 = load i32, ptr %28529, align 4, !tbaa !5
  %28531 = call ptr @s2n_strerror(i32 noundef %28530, ptr noundef @.str.4)
  %28532 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28533 = load i32, ptr %28532, align 4, !tbaa !5
  %28534 = call ptr @s2n_strerror_debug(i32 noundef %28533, ptr noundef @.str.4)
  %28535 = call ptr @__errno_location() #12
  %28536 = load i32, ptr %28535, align 4, !tbaa !5
  %28537 = call ptr @strerror(i32 noundef %28536) #11
  %28538 = call ptr @__errno_location() #12
  %28539 = load i32, ptr %28538, align 4, !tbaa !5
  %28540 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28527, ptr noundef @.str.2, i32 noundef %28528, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %28531, ptr noundef %28534, ptr noundef %28537, i32 noundef %28539) #11
  br label %28558

28541:                                            ; preds = %28519, %28512
  %28542 = load i32, ptr %595, align 4, !tbaa !5
  %28543 = call ptr @__errno_location() #12
  store i32 %28542, ptr %28543, align 4, !tbaa !5
  %28544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28545 = load i32, ptr @test_count, align 4, !tbaa !5
  %28546 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28547 = load i32, ptr %28546, align 4, !tbaa !5
  %28548 = call ptr @s2n_strerror(i32 noundef %28547, ptr noundef @.str.4)
  %28549 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28550 = load i32, ptr %28549, align 4, !tbaa !5
  %28551 = call ptr @s2n_strerror_debug(i32 noundef %28550, ptr noundef @.str.4)
  %28552 = call ptr @__errno_location() #12
  %28553 = load i32, ptr %28552, align 4, !tbaa !5
  %28554 = call ptr @strerror(i32 noundef %28553) #11
  %28555 = call ptr @__errno_location() #12
  %28556 = load i32, ptr %28555, align 4, !tbaa !5
  %28557 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28544, ptr noundef @.str.5, i32 noundef %28545, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 1003, ptr noundef %28548, ptr noundef %28551, ptr noundef %28554, i32 noundef %28556) #11
  br label %28558

28558:                                            ; preds = %28541, %28524
  call void @llvm.lifetime.end.p0(i64 4, ptr %595) #11
  br label %28559

28559:                                            ; preds = %28558
  br label %28560

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

28561:                                            ; No predecessors!
  br label %28562

28562:                                            ; preds = %28561
  br label %28563

28563:                                            ; preds = %28562, %28503
  br label %28564

28564:                                            ; preds = %28563
  br label %28565

28565:                                            ; preds = %28564
  br label %28566

28566:                                            ; preds = %28565
  %28567 = load i64, ptr %590, align 8, !tbaa !42
  %28568 = add i64 %28567, 1
  store i64 %28568, ptr %590, align 8, !tbaa !42
  br label %28251, !llvm.loop !62

28569:                                            ; preds = %28254
  br label %28570

28570:                                            ; preds = %28569
  br label %28571

28571:                                            ; preds = %28570
  br label %28572

28572:                                            ; preds = %28571
  %28573 = load i32, ptr @test_count, align 4, !tbaa !5
  %28574 = add nsw i32 %28573, 1
  store i32 %28574, ptr @test_count, align 4, !tbaa !5
  %28575 = load ptr, ptr %536, align 8, !tbaa !9
  %28576 = call i32 @s2n_negotiate(ptr noundef %28575, ptr noundef %547)
  %28577 = icmp eq i32 %28576, -1
  br i1 %28577, label %28631, label %28578

28578:                                            ; preds = %28572
  br label %28579

28579:                                            ; preds = %28578
  br label %28580

28580:                                            ; preds = %28579
  call void @llvm.lifetime.start.p0(i64 4, ptr %596) #11
  %28581 = call ptr @__errno_location() #12
  %28582 = load i32, ptr %28581, align 4, !tbaa !5
  store i32 %28582, ptr %596, align 4, !tbaa !5
  %28583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28584 = call i32 @s2n_print_stacktrace(ptr noundef %28583)
  %28585 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28586 = trunc i8 %28585 to i1
  br i1 %28586, label %28587, label %28609

28587:                                            ; preds = %28580
  %28588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28589 = call i32 @fileno(ptr noundef %28588) #11
  %28590 = call i32 @isatty(i32 noundef %28589) #11
  %28591 = icmp ne i32 %28590, 0
  br i1 %28591, label %28592, label %28609

28592:                                            ; preds = %28587
  %28593 = load i32, ptr %596, align 4, !tbaa !5
  %28594 = call ptr @__errno_location() #12
  store i32 %28593, ptr %28594, align 4, !tbaa !5
  %28595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28596 = load i32, ptr @test_count, align 4, !tbaa !5
  %28597 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28598 = load i32, ptr %28597, align 4, !tbaa !5
  %28599 = call ptr @s2n_strerror(i32 noundef %28598, ptr noundef @.str.4)
  %28600 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28601 = load i32, ptr %28600, align 4, !tbaa !5
  %28602 = call ptr @s2n_strerror_debug(i32 noundef %28601, ptr noundef @.str.4)
  %28603 = call ptr @__errno_location() #12
  %28604 = load i32, ptr %28603, align 4, !tbaa !5
  %28605 = call ptr @strerror(i32 noundef %28604) #11
  %28606 = call ptr @__errno_location() #12
  %28607 = load i32, ptr %28606, align 4, !tbaa !5
  %28608 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28595, ptr noundef @.str.2, i32 noundef %28596, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %28599, ptr noundef %28602, ptr noundef %28605, i32 noundef %28607) #11
  br label %28626

28609:                                            ; preds = %28587, %28580
  %28610 = load i32, ptr %596, align 4, !tbaa !5
  %28611 = call ptr @__errno_location() #12
  store i32 %28610, ptr %28611, align 4, !tbaa !5
  %28612 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28613 = load i32, ptr @test_count, align 4, !tbaa !5
  %28614 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28615 = load i32, ptr %28614, align 4, !tbaa !5
  %28616 = call ptr @s2n_strerror(i32 noundef %28615, ptr noundef @.str.4)
  %28617 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28618 = load i32, ptr %28617, align 4, !tbaa !5
  %28619 = call ptr @s2n_strerror_debug(i32 noundef %28618, ptr noundef @.str.4)
  %28620 = call ptr @__errno_location() #12
  %28621 = load i32, ptr %28620, align 4, !tbaa !5
  %28622 = call ptr @strerror(i32 noundef %28621) #11
  %28623 = call ptr @__errno_location() #12
  %28624 = load i32, ptr %28623, align 4, !tbaa !5
  %28625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28612, ptr noundef @.str.5, i32 noundef %28613, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %28616, ptr noundef %28619, ptr noundef %28622, i32 noundef %28624) #11
  br label %28626

28626:                                            ; preds = %28609, %28592
  call void @llvm.lifetime.end.p0(i64 4, ptr %596) #11
  br label %28627

28627:                                            ; preds = %28626
  br label %28628

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

28629:                                            ; No predecessors!
  br label %28630

28630:                                            ; preds = %28629
  br label %28631

28631:                                            ; preds = %28630, %28572
  br label %28632

28632:                                            ; preds = %28631
  br label %28633

28633:                                            ; preds = %28632
  br label %28634

28634:                                            ; preds = %28633
  %28635 = load i32, ptr @test_count, align 4, !tbaa !5
  %28636 = add nsw i32 %28635, 1
  store i32 %28636, ptr @test_count, align 4, !tbaa !5
  %28637 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28638 = load i32, ptr %28637, align 4, !tbaa !5
  %28639 = icmp eq i32 %28638, 201326592
  br i1 %28639, label %28693, label %28640

28640:                                            ; preds = %28634
  br label %28641

28641:                                            ; preds = %28640
  br label %28642

28642:                                            ; preds = %28641
  call void @llvm.lifetime.start.p0(i64 4, ptr %597) #11
  %28643 = call ptr @__errno_location() #12
  %28644 = load i32, ptr %28643, align 4, !tbaa !5
  store i32 %28644, ptr %597, align 4, !tbaa !5
  %28645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28646 = call i32 @s2n_print_stacktrace(ptr noundef %28645)
  %28647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28648 = trunc i8 %28647 to i1
  br i1 %28648, label %28649, label %28671

28649:                                            ; preds = %28642
  %28650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28651 = call i32 @fileno(ptr noundef %28650) #11
  %28652 = call i32 @isatty(i32 noundef %28651) #11
  %28653 = icmp ne i32 %28652, 0
  br i1 %28653, label %28654, label %28671

28654:                                            ; preds = %28649
  %28655 = load i32, ptr %597, align 4, !tbaa !5
  %28656 = call ptr @__errno_location() #12
  store i32 %28655, ptr %28656, align 4, !tbaa !5
  %28657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28658 = load i32, ptr @test_count, align 4, !tbaa !5
  %28659 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28660 = load i32, ptr %28659, align 4, !tbaa !5
  %28661 = call ptr @s2n_strerror(i32 noundef %28660, ptr noundef @.str.4)
  %28662 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28663 = load i32, ptr %28662, align 4, !tbaa !5
  %28664 = call ptr @s2n_strerror_debug(i32 noundef %28663, ptr noundef @.str.4)
  %28665 = call ptr @__errno_location() #12
  %28666 = load i32, ptr %28665, align 4, !tbaa !5
  %28667 = call ptr @strerror(i32 noundef %28666) #11
  %28668 = call ptr @__errno_location() #12
  %28669 = load i32, ptr %28668, align 4, !tbaa !5
  %28670 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28657, ptr noundef @.str.2, i32 noundef %28658, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %28661, ptr noundef %28664, ptr noundef %28667, i32 noundef %28669) #11
  br label %28688

28671:                                            ; preds = %28649, %28642
  %28672 = load i32, ptr %597, align 4, !tbaa !5
  %28673 = call ptr @__errno_location() #12
  store i32 %28672, ptr %28673, align 4, !tbaa !5
  %28674 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28675 = load i32, ptr @test_count, align 4, !tbaa !5
  %28676 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28677 = load i32, ptr %28676, align 4, !tbaa !5
  %28678 = call ptr @s2n_strerror(i32 noundef %28677, ptr noundef @.str.4)
  %28679 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28680 = load i32, ptr %28679, align 4, !tbaa !5
  %28681 = call ptr @s2n_strerror_debug(i32 noundef %28680, ptr noundef @.str.4)
  %28682 = call ptr @__errno_location() #12
  %28683 = load i32, ptr %28682, align 4, !tbaa !5
  %28684 = call ptr @strerror(i32 noundef %28683) #11
  %28685 = call ptr @__errno_location() #12
  %28686 = load i32, ptr %28685, align 4, !tbaa !5
  %28687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28674, ptr noundef @.str.5, i32 noundef %28675, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %28678, ptr noundef %28681, ptr noundef %28684, i32 noundef %28686) #11
  br label %28688

28688:                                            ; preds = %28671, %28654
  call void @llvm.lifetime.end.p0(i64 4, ptr %597) #11
  br label %28689

28689:                                            ; preds = %28688
  br label %28690

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

28691:                                            ; No predecessors!
  br label %28692

28692:                                            ; preds = %28691
  br label %28693

28693:                                            ; preds = %28692, %28634
  br label %28694

28694:                                            ; preds = %28693
  br label %28695

28695:                                            ; preds = %28694
  br label %28696

28696:                                            ; preds = %28695
  %28697 = load i32, ptr @test_count, align 4, !tbaa !5
  %28698 = add nsw i32 %28697, 1
  store i32 %28698, ptr @test_count, align 4, !tbaa !5
  %28699 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28700 = load i32, ptr %28699, align 4, !tbaa !5
  %28701 = call ptr @s2n_strerror_debug(i32 noundef %28700, ptr noundef @.str.4)
  %28702 = icmp eq ptr %28701, null
  br i1 %28702, label %28703, label %28756

28703:                                            ; preds = %28696
  br label %28704

28704:                                            ; preds = %28703
  br label %28705

28705:                                            ; preds = %28704
  call void @llvm.lifetime.start.p0(i64 4, ptr %598) #11
  %28706 = call ptr @__errno_location() #12
  %28707 = load i32, ptr %28706, align 4, !tbaa !5
  store i32 %28707, ptr %598, align 4, !tbaa !5
  %28708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28709 = call i32 @s2n_print_stacktrace(ptr noundef %28708)
  %28710 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28711 = trunc i8 %28710 to i1
  br i1 %28711, label %28712, label %28734

28712:                                            ; preds = %28705
  %28713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28714 = call i32 @fileno(ptr noundef %28713) #11
  %28715 = call i32 @isatty(i32 noundef %28714) #11
  %28716 = icmp ne i32 %28715, 0
  br i1 %28716, label %28717, label %28734

28717:                                            ; preds = %28712
  %28718 = load i32, ptr %598, align 4, !tbaa !5
  %28719 = call ptr @__errno_location() #12
  store i32 %28718, ptr %28719, align 4, !tbaa !5
  %28720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28721 = load i32, ptr @test_count, align 4, !tbaa !5
  %28722 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28723 = load i32, ptr %28722, align 4, !tbaa !5
  %28724 = call ptr @s2n_strerror(i32 noundef %28723, ptr noundef @.str.4)
  %28725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28726 = load i32, ptr %28725, align 4, !tbaa !5
  %28727 = call ptr @s2n_strerror_debug(i32 noundef %28726, ptr noundef @.str.4)
  %28728 = call ptr @__errno_location() #12
  %28729 = load i32, ptr %28728, align 4, !tbaa !5
  %28730 = call ptr @strerror(i32 noundef %28729) #11
  %28731 = call ptr @__errno_location() #12
  %28732 = load i32, ptr %28731, align 4, !tbaa !5
  %28733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28720, ptr noundef @.str.2, i32 noundef %28721, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %28724, ptr noundef %28727, ptr noundef %28730, i32 noundef %28732) #11
  br label %28751

28734:                                            ; preds = %28712, %28705
  %28735 = load i32, ptr %598, align 4, !tbaa !5
  %28736 = call ptr @__errno_location() #12
  store i32 %28735, ptr %28736, align 4, !tbaa !5
  %28737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28738 = load i32, ptr @test_count, align 4, !tbaa !5
  %28739 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28740 = load i32, ptr %28739, align 4, !tbaa !5
  %28741 = call ptr @s2n_strerror(i32 noundef %28740, ptr noundef @.str.4)
  %28742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28743 = load i32, ptr %28742, align 4, !tbaa !5
  %28744 = call ptr @s2n_strerror_debug(i32 noundef %28743, ptr noundef @.str.4)
  %28745 = call ptr @__errno_location() #12
  %28746 = load i32, ptr %28745, align 4, !tbaa !5
  %28747 = call ptr @strerror(i32 noundef %28746) #11
  %28748 = call ptr @__errno_location() #12
  %28749 = load i32, ptr %28748, align 4, !tbaa !5
  %28750 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28737, ptr noundef @.str.5, i32 noundef %28738, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 1006, ptr noundef %28741, ptr noundef %28744, ptr noundef %28747, i32 noundef %28749) #11
  br label %28751

28751:                                            ; preds = %28734, %28717
  call void @llvm.lifetime.end.p0(i64 4, ptr %598) #11
  br label %28752

28752:                                            ; preds = %28751
  br label %28753

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

28754:                                            ; No predecessors!
  br label %28755

28755:                                            ; preds = %28754
  br label %28756

28756:                                            ; preds = %28755, %28696
  br label %28757

28757:                                            ; preds = %28756
  br label %28758

28758:                                            ; preds = %28757
  br label %28759

28759:                                            ; preds = %28758
  br label %28760

28760:                                            ; preds = %28759
  br label %28761

28761:                                            ; preds = %28760
  %28762 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %28762, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %28763 = call ptr @__errno_location() #12
  store i32 0, ptr %28763, align 4, !tbaa !5
  br label %28764

28764:                                            ; preds = %28761
  br label %28765

28765:                                            ; preds = %28764
  br label %28766

28766:                                            ; preds = %28765
  br label %28767

28767:                                            ; preds = %28766
  br label %28768

28768:                                            ; preds = %28767
  %28769 = load i32, ptr @test_count, align 4, !tbaa !5
  %28770 = add nsw i32 %28769, 1
  store i32 %28770, ptr @test_count, align 4, !tbaa !5
  %28771 = load i32, ptr %547, align 4, !tbaa !5
  %28772 = icmp eq i32 %28771, 1
  br i1 %28772, label %28826, label %28773

28773:                                            ; preds = %28768
  br label %28774

28774:                                            ; preds = %28773
  br label %28775

28775:                                            ; preds = %28774
  call void @llvm.lifetime.start.p0(i64 4, ptr %599) #11
  %28776 = call ptr @__errno_location() #12
  %28777 = load i32, ptr %28776, align 4, !tbaa !5
  store i32 %28777, ptr %599, align 4, !tbaa !5
  %28778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28779 = call i32 @s2n_print_stacktrace(ptr noundef %28778)
  %28780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28781 = trunc i8 %28780 to i1
  br i1 %28781, label %28782, label %28804

28782:                                            ; preds = %28775
  %28783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28784 = call i32 @fileno(ptr noundef %28783) #11
  %28785 = call i32 @isatty(i32 noundef %28784) #11
  %28786 = icmp ne i32 %28785, 0
  br i1 %28786, label %28787, label %28804

28787:                                            ; preds = %28782
  %28788 = load i32, ptr %599, align 4, !tbaa !5
  %28789 = call ptr @__errno_location() #12
  store i32 %28788, ptr %28789, align 4, !tbaa !5
  %28790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28791 = load i32, ptr @test_count, align 4, !tbaa !5
  %28792 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28793 = load i32, ptr %28792, align 4, !tbaa !5
  %28794 = call ptr @s2n_strerror(i32 noundef %28793, ptr noundef @.str.4)
  %28795 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28796 = load i32, ptr %28795, align 4, !tbaa !5
  %28797 = call ptr @s2n_strerror_debug(i32 noundef %28796, ptr noundef @.str.4)
  %28798 = call ptr @__errno_location() #12
  %28799 = load i32, ptr %28798, align 4, !tbaa !5
  %28800 = call ptr @strerror(i32 noundef %28799) #11
  %28801 = call ptr @__errno_location() #12
  %28802 = load i32, ptr %28801, align 4, !tbaa !5
  %28803 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28790, ptr noundef @.str.2, i32 noundef %28791, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 1007, ptr noundef %28794, ptr noundef %28797, ptr noundef %28800, i32 noundef %28802) #11
  br label %28821

28804:                                            ; preds = %28782, %28775
  %28805 = load i32, ptr %599, align 4, !tbaa !5
  %28806 = call ptr @__errno_location() #12
  store i32 %28805, ptr %28806, align 4, !tbaa !5
  %28807 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28808 = load i32, ptr @test_count, align 4, !tbaa !5
  %28809 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28810 = load i32, ptr %28809, align 4, !tbaa !5
  %28811 = call ptr @s2n_strerror(i32 noundef %28810, ptr noundef @.str.4)
  %28812 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28813 = load i32, ptr %28812, align 4, !tbaa !5
  %28814 = call ptr @s2n_strerror_debug(i32 noundef %28813, ptr noundef @.str.4)
  %28815 = call ptr @__errno_location() #12
  %28816 = load i32, ptr %28815, align 4, !tbaa !5
  %28817 = call ptr @strerror(i32 noundef %28816) #11
  %28818 = call ptr @__errno_location() #12
  %28819 = load i32, ptr %28818, align 4, !tbaa !5
  %28820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28807, ptr noundef @.str.5, i32 noundef %28808, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 1007, ptr noundef %28811, ptr noundef %28814, ptr noundef %28817, i32 noundef %28819) #11
  br label %28821

28821:                                            ; preds = %28804, %28787
  call void @llvm.lifetime.end.p0(i64 4, ptr %599) #11
  br label %28822

28822:                                            ; preds = %28821
  br label %28823

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

28824:                                            ; No predecessors!
  br label %28825

28825:                                            ; preds = %28824
  br label %28826

28826:                                            ; preds = %28825, %28768
  br label %28827

28827:                                            ; preds = %28826
  br label %28828

28828:                                            ; preds = %28827
  br label %28829

28829:                                            ; preds = %28828
  %28830 = load i32, ptr @test_count, align 4, !tbaa !5
  %28831 = add nsw i32 %28830, 1
  store i32 %28831, ptr @test_count, align 4, !tbaa !5
  %28832 = load ptr, ptr %536, align 8, !tbaa !9
  %28833 = call i32 @s2n_conn_get_current_message_type(ptr noundef %28832)
  %28834 = icmp eq i32 %28833, 13
  br i1 %28834, label %28888, label %28835

28835:                                            ; preds = %28829
  br label %28836

28836:                                            ; preds = %28835
  br label %28837

28837:                                            ; preds = %28836
  call void @llvm.lifetime.start.p0(i64 4, ptr %600) #11
  %28838 = call ptr @__errno_location() #12
  %28839 = load i32, ptr %28838, align 4, !tbaa !5
  store i32 %28839, ptr %600, align 4, !tbaa !5
  %28840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28841 = call i32 @s2n_print_stacktrace(ptr noundef %28840)
  %28842 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28843 = trunc i8 %28842 to i1
  br i1 %28843, label %28844, label %28866

28844:                                            ; preds = %28837
  %28845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28846 = call i32 @fileno(ptr noundef %28845) #11
  %28847 = call i32 @isatty(i32 noundef %28846) #11
  %28848 = icmp ne i32 %28847, 0
  br i1 %28848, label %28849, label %28866

28849:                                            ; preds = %28844
  %28850 = load i32, ptr %600, align 4, !tbaa !5
  %28851 = call ptr @__errno_location() #12
  store i32 %28850, ptr %28851, align 4, !tbaa !5
  %28852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28853 = load i32, ptr @test_count, align 4, !tbaa !5
  %28854 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28855 = load i32, ptr %28854, align 4, !tbaa !5
  %28856 = call ptr @s2n_strerror(i32 noundef %28855, ptr noundef @.str.4)
  %28857 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28858 = load i32, ptr %28857, align 4, !tbaa !5
  %28859 = call ptr @s2n_strerror_debug(i32 noundef %28858, ptr noundef @.str.4)
  %28860 = call ptr @__errno_location() #12
  %28861 = load i32, ptr %28860, align 4, !tbaa !5
  %28862 = call ptr @strerror(i32 noundef %28861) #11
  %28863 = call ptr @__errno_location() #12
  %28864 = load i32, ptr %28863, align 4, !tbaa !5
  %28865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28852, ptr noundef @.str.2, i32 noundef %28853, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1007, ptr noundef %28856, ptr noundef %28859, ptr noundef %28862, i32 noundef %28864) #11
  br label %28883

28866:                                            ; preds = %28844, %28837
  %28867 = load i32, ptr %600, align 4, !tbaa !5
  %28868 = call ptr @__errno_location() #12
  store i32 %28867, ptr %28868, align 4, !tbaa !5
  %28869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28870 = load i32, ptr @test_count, align 4, !tbaa !5
  %28871 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28872 = load i32, ptr %28871, align 4, !tbaa !5
  %28873 = call ptr @s2n_strerror(i32 noundef %28872, ptr noundef @.str.4)
  %28874 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28875 = load i32, ptr %28874, align 4, !tbaa !5
  %28876 = call ptr @s2n_strerror_debug(i32 noundef %28875, ptr noundef @.str.4)
  %28877 = call ptr @__errno_location() #12
  %28878 = load i32, ptr %28877, align 4, !tbaa !5
  %28879 = call ptr @strerror(i32 noundef %28878) #11
  %28880 = call ptr @__errno_location() #12
  %28881 = load i32, ptr %28880, align 4, !tbaa !5
  %28882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28869, ptr noundef @.str.5, i32 noundef %28870, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1007, ptr noundef %28873, ptr noundef %28876, ptr noundef %28879, i32 noundef %28881) #11
  br label %28883

28883:                                            ; preds = %28866, %28849
  call void @llvm.lifetime.end.p0(i64 4, ptr %600) #11
  br label %28884

28884:                                            ; preds = %28883
  br label %28885

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

28886:                                            ; No predecessors!
  br label %28887

28887:                                            ; preds = %28886
  br label %28888

28888:                                            ; preds = %28887, %28829
  br label %28889

28889:                                            ; preds = %28888
  br label %28890

28890:                                            ; preds = %28889
  br label %28891

28891:                                            ; preds = %28890
  %28892 = load i32, ptr @test_count, align 4, !tbaa !5
  %28893 = add nsw i32 %28892, 1
  store i32 %28893, ptr @test_count, align 4, !tbaa !5
  %28894 = load ptr, ptr %536, align 8, !tbaa !9
  %28895 = getelementptr inbounds %struct.s2n_connection, ptr %28894, i32 0, i32 89
  %28896 = load i32, ptr %28895, align 8, !tbaa !57
  %28897 = icmp eq i32 %28896, 5
  br i1 %28897, label %28951, label %28898

28898:                                            ; preds = %28891
  br label %28899

28899:                                            ; preds = %28898
  br label %28900

28900:                                            ; preds = %28899
  call void @llvm.lifetime.start.p0(i64 4, ptr %601) #11
  %28901 = call ptr @__errno_location() #12
  %28902 = load i32, ptr %28901, align 4, !tbaa !5
  store i32 %28902, ptr %601, align 4, !tbaa !5
  %28903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28904 = call i32 @s2n_print_stacktrace(ptr noundef %28903)
  %28905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28906 = trunc i8 %28905 to i1
  br i1 %28906, label %28907, label %28929

28907:                                            ; preds = %28900
  %28908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28909 = call i32 @fileno(ptr noundef %28908) #11
  %28910 = call i32 @isatty(i32 noundef %28909) #11
  %28911 = icmp ne i32 %28910, 0
  br i1 %28911, label %28912, label %28929

28912:                                            ; preds = %28907
  %28913 = load i32, ptr %601, align 4, !tbaa !5
  %28914 = call ptr @__errno_location() #12
  store i32 %28913, ptr %28914, align 4, !tbaa !5
  %28915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28916 = load i32, ptr @test_count, align 4, !tbaa !5
  %28917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28918 = load i32, ptr %28917, align 4, !tbaa !5
  %28919 = call ptr @s2n_strerror(i32 noundef %28918, ptr noundef @.str.4)
  %28920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28921 = load i32, ptr %28920, align 4, !tbaa !5
  %28922 = call ptr @s2n_strerror_debug(i32 noundef %28921, ptr noundef @.str.4)
  %28923 = call ptr @__errno_location() #12
  %28924 = load i32, ptr %28923, align 4, !tbaa !5
  %28925 = call ptr @strerror(i32 noundef %28924) #11
  %28926 = call ptr @__errno_location() #12
  %28927 = load i32, ptr %28926, align 4, !tbaa !5
  %28928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28915, ptr noundef @.str.2, i32 noundef %28916, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %28919, ptr noundef %28922, ptr noundef %28925, i32 noundef %28927) #11
  br label %28946

28929:                                            ; preds = %28907, %28900
  %28930 = load i32, ptr %601, align 4, !tbaa !5
  %28931 = call ptr @__errno_location() #12
  store i32 %28930, ptr %28931, align 4, !tbaa !5
  %28932 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28933 = load i32, ptr @test_count, align 4, !tbaa !5
  %28934 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28935 = load i32, ptr %28934, align 4, !tbaa !5
  %28936 = call ptr @s2n_strerror(i32 noundef %28935, ptr noundef @.str.4)
  %28937 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28938 = load i32, ptr %28937, align 4, !tbaa !5
  %28939 = call ptr @s2n_strerror_debug(i32 noundef %28938, ptr noundef @.str.4)
  %28940 = call ptr @__errno_location() #12
  %28941 = load i32, ptr %28940, align 4, !tbaa !5
  %28942 = call ptr @strerror(i32 noundef %28941) #11
  %28943 = call ptr @__errno_location() #12
  %28944 = load i32, ptr %28943, align 4, !tbaa !5
  %28945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28932, ptr noundef @.str.5, i32 noundef %28933, ptr noundef @.str.139, ptr noundef @.str.1, i32 noundef 1008, ptr noundef %28936, ptr noundef %28939, ptr noundef %28942, i32 noundef %28944) #11
  br label %28946

28946:                                            ; preds = %28929, %28912
  call void @llvm.lifetime.end.p0(i64 4, ptr %601) #11
  br label %28947

28947:                                            ; preds = %28946
  br label %28948

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

28949:                                            ; No predecessors!
  br label %28950

28950:                                            ; preds = %28949
  br label %28951

28951:                                            ; preds = %28950, %28891
  br label %28952

28952:                                            ; preds = %28951
  br label %28953

28953:                                            ; preds = %28952
  br label %28954

28954:                                            ; preds = %28953
  %28955 = load i32, ptr @test_count, align 4, !tbaa !5
  %28956 = add nsw i32 %28955, 1
  store i32 %28956, ptr @test_count, align 4, !tbaa !5
  %28957 = call i32 @s2n_stuffer_free(ptr noundef %542)
  %28958 = icmp eq i32 %28957, -1
  br i1 %28958, label %28959, label %29012

28959:                                            ; preds = %28954
  br label %28960

28960:                                            ; preds = %28959
  br label %28961

28961:                                            ; preds = %28960
  call void @llvm.lifetime.start.p0(i64 4, ptr %602) #11
  %28962 = call ptr @__errno_location() #12
  %28963 = load i32, ptr %28962, align 4, !tbaa !5
  store i32 %28963, ptr %602, align 4, !tbaa !5
  %28964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28965 = call i32 @s2n_print_stacktrace(ptr noundef %28964)
  %28966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %28967 = trunc i8 %28966 to i1
  br i1 %28967, label %28968, label %28990

28968:                                            ; preds = %28961
  %28969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28970 = call i32 @fileno(ptr noundef %28969) #11
  %28971 = call i32 @isatty(i32 noundef %28970) #11
  %28972 = icmp ne i32 %28971, 0
  br i1 %28972, label %28973, label %28990

28973:                                            ; preds = %28968
  %28974 = load i32, ptr %602, align 4, !tbaa !5
  %28975 = call ptr @__errno_location() #12
  store i32 %28974, ptr %28975, align 4, !tbaa !5
  %28976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28977 = load i32, ptr @test_count, align 4, !tbaa !5
  %28978 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28979 = load i32, ptr %28978, align 4, !tbaa !5
  %28980 = call ptr @s2n_strerror(i32 noundef %28979, ptr noundef @.str.4)
  %28981 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28982 = load i32, ptr %28981, align 4, !tbaa !5
  %28983 = call ptr @s2n_strerror_debug(i32 noundef %28982, ptr noundef @.str.4)
  %28984 = call ptr @__errno_location() #12
  %28985 = load i32, ptr %28984, align 4, !tbaa !5
  %28986 = call ptr @strerror(i32 noundef %28985) #11
  %28987 = call ptr @__errno_location() #12
  %28988 = load i32, ptr %28987, align 4, !tbaa !5
  %28989 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28976, ptr noundef @.str.2, i32 noundef %28977, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 1010, ptr noundef %28980, ptr noundef %28983, ptr noundef %28986, i32 noundef %28988) #11
  br label %29007

28990:                                            ; preds = %28968, %28961
  %28991 = load i32, ptr %602, align 4, !tbaa !5
  %28992 = call ptr @__errno_location() #12
  store i32 %28991, ptr %28992, align 4, !tbaa !5
  %28993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %28994 = load i32, ptr @test_count, align 4, !tbaa !5
  %28995 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28996 = load i32, ptr %28995, align 4, !tbaa !5
  %28997 = call ptr @s2n_strerror(i32 noundef %28996, ptr noundef @.str.4)
  %28998 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %28999 = load i32, ptr %28998, align 4, !tbaa !5
  %29000 = call ptr @s2n_strerror_debug(i32 noundef %28999, ptr noundef @.str.4)
  %29001 = call ptr @__errno_location() #12
  %29002 = load i32, ptr %29001, align 4, !tbaa !5
  %29003 = call ptr @strerror(i32 noundef %29002) #11
  %29004 = call ptr @__errno_location() #12
  %29005 = load i32, ptr %29004, align 4, !tbaa !5
  %29006 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %28993, ptr noundef @.str.5, i32 noundef %28994, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 1010, ptr noundef %28997, ptr noundef %29000, ptr noundef %29003, i32 noundef %29005) #11
  br label %29007

29007:                                            ; preds = %28990, %28973
  call void @llvm.lifetime.end.p0(i64 4, ptr %602) #11
  br label %29008

29008:                                            ; preds = %29007
  br label %29009

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

29010:                                            ; No predecessors!
  br label %29011

29011:                                            ; preds = %29010
  br label %29012

29012:                                            ; preds = %29011, %28954
  br label %29013

29013:                                            ; preds = %29012
  br label %29014

29014:                                            ; preds = %29013
  br label %29015

29015:                                            ; preds = %29014
  %29016 = load i32, ptr @test_count, align 4, !tbaa !5
  %29017 = add nsw i32 %29016, 1
  store i32 %29017, ptr @test_count, align 4, !tbaa !5
  %29018 = call i32 @s2n_stuffer_free(ptr noundef %543)
  %29019 = icmp eq i32 %29018, -1
  br i1 %29019, label %29020, label %29073

29020:                                            ; preds = %29015
  br label %29021

29021:                                            ; preds = %29020
  br label %29022

29022:                                            ; preds = %29021
  call void @llvm.lifetime.start.p0(i64 4, ptr %603) #11
  %29023 = call ptr @__errno_location() #12
  %29024 = load i32, ptr %29023, align 4, !tbaa !5
  store i32 %29024, ptr %603, align 4, !tbaa !5
  %29025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29026 = call i32 @s2n_print_stacktrace(ptr noundef %29025)
  %29027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29028 = trunc i8 %29027 to i1
  br i1 %29028, label %29029, label %29051

29029:                                            ; preds = %29022
  %29030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29031 = call i32 @fileno(ptr noundef %29030) #11
  %29032 = call i32 @isatty(i32 noundef %29031) #11
  %29033 = icmp ne i32 %29032, 0
  br i1 %29033, label %29034, label %29051

29034:                                            ; preds = %29029
  %29035 = load i32, ptr %603, align 4, !tbaa !5
  %29036 = call ptr @__errno_location() #12
  store i32 %29035, ptr %29036, align 4, !tbaa !5
  %29037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29038 = load i32, ptr @test_count, align 4, !tbaa !5
  %29039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29040 = load i32, ptr %29039, align 4, !tbaa !5
  %29041 = call ptr @s2n_strerror(i32 noundef %29040, ptr noundef @.str.4)
  %29042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29043 = load i32, ptr %29042, align 4, !tbaa !5
  %29044 = call ptr @s2n_strerror_debug(i32 noundef %29043, ptr noundef @.str.4)
  %29045 = call ptr @__errno_location() #12
  %29046 = load i32, ptr %29045, align 4, !tbaa !5
  %29047 = call ptr @strerror(i32 noundef %29046) #11
  %29048 = call ptr @__errno_location() #12
  %29049 = load i32, ptr %29048, align 4, !tbaa !5
  %29050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29037, ptr noundef @.str.2, i32 noundef %29038, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %29041, ptr noundef %29044, ptr noundef %29047, i32 noundef %29049) #11
  br label %29068

29051:                                            ; preds = %29029, %29022
  %29052 = load i32, ptr %603, align 4, !tbaa !5
  %29053 = call ptr @__errno_location() #12
  store i32 %29052, ptr %29053, align 4, !tbaa !5
  %29054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29055 = load i32, ptr @test_count, align 4, !tbaa !5
  %29056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29057 = load i32, ptr %29056, align 4, !tbaa !5
  %29058 = call ptr @s2n_strerror(i32 noundef %29057, ptr noundef @.str.4)
  %29059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29060 = load i32, ptr %29059, align 4, !tbaa !5
  %29061 = call ptr @s2n_strerror_debug(i32 noundef %29060, ptr noundef @.str.4)
  %29062 = call ptr @__errno_location() #12
  %29063 = load i32, ptr %29062, align 4, !tbaa !5
  %29064 = call ptr @strerror(i32 noundef %29063) #11
  %29065 = call ptr @__errno_location() #12
  %29066 = load i32, ptr %29065, align 4, !tbaa !5
  %29067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29054, ptr noundef @.str.5, i32 noundef %29055, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 1011, ptr noundef %29058, ptr noundef %29061, ptr noundef %29064, i32 noundef %29066) #11
  br label %29068

29068:                                            ; preds = %29051, %29034
  call void @llvm.lifetime.end.p0(i64 4, ptr %603) #11
  br label %29069

29069:                                            ; preds = %29068
  br label %29070

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

29071:                                            ; No predecessors!
  br label %29072

29072:                                            ; preds = %29071
  br label %29073

29073:                                            ; preds = %29072, %29015
  br label %29074

29074:                                            ; preds = %29073
  br label %29075

29075:                                            ; preds = %29074
  br label %29076

29076:                                            ; preds = %29075
  %29077 = load i32, ptr @test_count, align 4, !tbaa !5
  %29078 = add nsw i32 %29077, 1
  store i32 %29078, ptr @test_count, align 4, !tbaa !5
  %29079 = load ptr, ptr %536, align 8, !tbaa !9
  %29080 = call i32 @s2n_connection_free(ptr noundef %29079)
  %29081 = icmp eq i32 %29080, -1
  br i1 %29081, label %29082, label %29135

29082:                                            ; preds = %29076
  br label %29083

29083:                                            ; preds = %29082
  br label %29084

29084:                                            ; preds = %29083
  call void @llvm.lifetime.start.p0(i64 4, ptr %604) #11
  %29085 = call ptr @__errno_location() #12
  %29086 = load i32, ptr %29085, align 4, !tbaa !5
  store i32 %29086, ptr %604, align 4, !tbaa !5
  %29087 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29088 = call i32 @s2n_print_stacktrace(ptr noundef %29087)
  %29089 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29090 = trunc i8 %29089 to i1
  br i1 %29090, label %29091, label %29113

29091:                                            ; preds = %29084
  %29092 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29093 = call i32 @fileno(ptr noundef %29092) #11
  %29094 = call i32 @isatty(i32 noundef %29093) #11
  %29095 = icmp ne i32 %29094, 0
  br i1 %29095, label %29096, label %29113

29096:                                            ; preds = %29091
  %29097 = load i32, ptr %604, align 4, !tbaa !5
  %29098 = call ptr @__errno_location() #12
  store i32 %29097, ptr %29098, align 4, !tbaa !5
  %29099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29100 = load i32, ptr @test_count, align 4, !tbaa !5
  %29101 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29102 = load i32, ptr %29101, align 4, !tbaa !5
  %29103 = call ptr @s2n_strerror(i32 noundef %29102, ptr noundef @.str.4)
  %29104 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29105 = load i32, ptr %29104, align 4, !tbaa !5
  %29106 = call ptr @s2n_strerror_debug(i32 noundef %29105, ptr noundef @.str.4)
  %29107 = call ptr @__errno_location() #12
  %29108 = load i32, ptr %29107, align 4, !tbaa !5
  %29109 = call ptr @strerror(i32 noundef %29108) #11
  %29110 = call ptr @__errno_location() #12
  %29111 = load i32, ptr %29110, align 4, !tbaa !5
  %29112 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29099, ptr noundef @.str.2, i32 noundef %29100, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %29103, ptr noundef %29106, ptr noundef %29109, i32 noundef %29111) #11
  br label %29130

29113:                                            ; preds = %29091, %29084
  %29114 = load i32, ptr %604, align 4, !tbaa !5
  %29115 = call ptr @__errno_location() #12
  store i32 %29114, ptr %29115, align 4, !tbaa !5
  %29116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29117 = load i32, ptr @test_count, align 4, !tbaa !5
  %29118 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29119 = load i32, ptr %29118, align 4, !tbaa !5
  %29120 = call ptr @s2n_strerror(i32 noundef %29119, ptr noundef @.str.4)
  %29121 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29122 = load i32, ptr %29121, align 4, !tbaa !5
  %29123 = call ptr @s2n_strerror_debug(i32 noundef %29122, ptr noundef @.str.4)
  %29124 = call ptr @__errno_location() #12
  %29125 = load i32, ptr %29124, align 4, !tbaa !5
  %29126 = call ptr @strerror(i32 noundef %29125) #11
  %29127 = call ptr @__errno_location() #12
  %29128 = load i32, ptr %29127, align 4, !tbaa !5
  %29129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29116, ptr noundef @.str.5, i32 noundef %29117, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 1012, ptr noundef %29120, ptr noundef %29123, ptr noundef %29126, i32 noundef %29128) #11
  br label %29130

29130:                                            ; preds = %29113, %29096
  call void @llvm.lifetime.end.p0(i64 4, ptr %604) #11
  br label %29131

29131:                                            ; preds = %29130
  br label %29132

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

29133:                                            ; No predecessors!
  br label %29134

29134:                                            ; preds = %29133
  br label %29135

29135:                                            ; preds = %29134, %29076
  br label %29136

29136:                                            ; preds = %29135
  br label %29137

29137:                                            ; preds = %29136
  call void @llvm.lifetime.end.p0(i64 8, ptr %548) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %547) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %546) #11
  %29138 = call i32 @s2n_stuffer_free(ptr noundef %543)
  call void @llvm.lifetime.end.p0(i64 40, ptr %543) #11
  %29139 = call i32 @s2n_stuffer_free(ptr noundef %542)
  call void @llvm.lifetime.end.p0(i64 40, ptr %542) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %536) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %535) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %605) #11
  %29140 = load ptr, ptr %491, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %605, ptr align 8 %29140, i64 168, i1 false), !tbaa.struct !63
  br label %29141

29141:                                            ; preds = %29137
  %29142 = load i32, ptr @test_count, align 4, !tbaa !5
  %29143 = add nsw i32 %29142, 1
  store i32 %29143, ptr @test_count, align 4, !tbaa !5
  %29144 = call i32 @s2n_psk_configure_early_data(ptr noundef %605, i32 noundef 0, i8 noundef zeroext 19, i8 noundef zeroext 1)
  %29145 = icmp eq i32 %29144, -1
  br i1 %29145, label %29146, label %29199

29146:                                            ; preds = %29141
  br label %29147

29147:                                            ; preds = %29146
  br label %29148

29148:                                            ; preds = %29147
  call void @llvm.lifetime.start.p0(i64 4, ptr %606) #11
  %29149 = call ptr @__errno_location() #12
  %29150 = load i32, ptr %29149, align 4, !tbaa !5
  store i32 %29150, ptr %606, align 4, !tbaa !5
  %29151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29152 = call i32 @s2n_print_stacktrace(ptr noundef %29151)
  %29153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29154 = trunc i8 %29153 to i1
  br i1 %29154, label %29155, label %29177

29155:                                            ; preds = %29148
  %29156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29157 = call i32 @fileno(ptr noundef %29156) #11
  %29158 = call i32 @isatty(i32 noundef %29157) #11
  %29159 = icmp ne i32 %29158, 0
  br i1 %29159, label %29160, label %29177

29160:                                            ; preds = %29155
  %29161 = load i32, ptr %606, align 4, !tbaa !5
  %29162 = call ptr @__errno_location() #12
  store i32 %29161, ptr %29162, align 4, !tbaa !5
  %29163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29164 = load i32, ptr @test_count, align 4, !tbaa !5
  %29165 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29166 = load i32, ptr %29165, align 4, !tbaa !5
  %29167 = call ptr @s2n_strerror(i32 noundef %29166, ptr noundef @.str.4)
  %29168 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29169 = load i32, ptr %29168, align 4, !tbaa !5
  %29170 = call ptr @s2n_strerror_debug(i32 noundef %29169, ptr noundef @.str.4)
  %29171 = call ptr @__errno_location() #12
  %29172 = load i32, ptr %29171, align 4, !tbaa !5
  %29173 = call ptr @strerror(i32 noundef %29172) #11
  %29174 = call ptr @__errno_location() #12
  %29175 = load i32, ptr %29174, align 4, !tbaa !5
  %29176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29163, ptr noundef @.str.2, i32 noundef %29164, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 1018, ptr noundef %29167, ptr noundef %29170, ptr noundef %29173, i32 noundef %29175) #11
  br label %29194

29177:                                            ; preds = %29155, %29148
  %29178 = load i32, ptr %606, align 4, !tbaa !5
  %29179 = call ptr @__errno_location() #12
  store i32 %29178, ptr %29179, align 4, !tbaa !5
  %29180 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29181 = load i32, ptr @test_count, align 4, !tbaa !5
  %29182 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29183 = load i32, ptr %29182, align 4, !tbaa !5
  %29184 = call ptr @s2n_strerror(i32 noundef %29183, ptr noundef @.str.4)
  %29185 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29186 = load i32, ptr %29185, align 4, !tbaa !5
  %29187 = call ptr @s2n_strerror_debug(i32 noundef %29186, ptr noundef @.str.4)
  %29188 = call ptr @__errno_location() #12
  %29189 = load i32, ptr %29188, align 4, !tbaa !5
  %29190 = call ptr @strerror(i32 noundef %29189) #11
  %29191 = call ptr @__errno_location() #12
  %29192 = load i32, ptr %29191, align 4, !tbaa !5
  %29193 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29180, ptr noundef @.str.5, i32 noundef %29181, ptr noundef @.str.144, ptr noundef @.str.1, i32 noundef 1018, ptr noundef %29184, ptr noundef %29187, ptr noundef %29190, i32 noundef %29192) #11
  br label %29194

29194:                                            ; preds = %29177, %29160
  call void @llvm.lifetime.end.p0(i64 4, ptr %606) #11
  br label %29195

29195:                                            ; preds = %29194
  br label %29196

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

29197:                                            ; No predecessors!
  br label %29198

29198:                                            ; preds = %29197
  br label %29199

29199:                                            ; preds = %29198, %29141
  br label %29200

29200:                                            ; preds = %29199
  br label %29201

29201:                                            ; preds = %29200
  call void @llvm.lifetime.start.p0(i64 8, ptr %607) #11
  store ptr %605, ptr %607, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %608) #11
  %29202 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %29202, ptr %608, align 8, !tbaa !9
  br label %29203

29203:                                            ; preds = %29201
  %29204 = load i32, ptr @test_count, align 4, !tbaa !5
  %29205 = add nsw i32 %29204, 1
  store i32 %29205, ptr @test_count, align 4, !tbaa !5
  %29206 = load ptr, ptr %608, align 8, !tbaa !9
  %29207 = icmp eq ptr %29206, null
  br i1 %29207, label %29208, label %29261

29208:                                            ; preds = %29203
  br label %29209

29209:                                            ; preds = %29208
  br label %29210

29210:                                            ; preds = %29209
  call void @llvm.lifetime.start.p0(i64 4, ptr %609) #11
  %29211 = call ptr @__errno_location() #12
  %29212 = load i32, ptr %29211, align 4, !tbaa !5
  store i32 %29212, ptr %609, align 4, !tbaa !5
  %29213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29214 = call i32 @s2n_print_stacktrace(ptr noundef %29213)
  %29215 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29216 = trunc i8 %29215 to i1
  br i1 %29216, label %29217, label %29239

29217:                                            ; preds = %29210
  %29218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29219 = call i32 @fileno(ptr noundef %29218) #11
  %29220 = call i32 @isatty(i32 noundef %29219) #11
  %29221 = icmp ne i32 %29220, 0
  br i1 %29221, label %29222, label %29239

29222:                                            ; preds = %29217
  %29223 = load i32, ptr %609, align 4, !tbaa !5
  %29224 = call ptr @__errno_location() #12
  store i32 %29223, ptr %29224, align 4, !tbaa !5
  %29225 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29226 = load i32, ptr @test_count, align 4, !tbaa !5
  %29227 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29228 = load i32, ptr %29227, align 4, !tbaa !5
  %29229 = call ptr @s2n_strerror(i32 noundef %29228, ptr noundef @.str.4)
  %29230 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29231 = load i32, ptr %29230, align 4, !tbaa !5
  %29232 = call ptr @s2n_strerror_debug(i32 noundef %29231, ptr noundef @.str.4)
  %29233 = call ptr @__errno_location() #12
  %29234 = load i32, ptr %29233, align 4, !tbaa !5
  %29235 = call ptr @strerror(i32 noundef %29234) #11
  %29236 = call ptr @__errno_location() #12
  %29237 = load i32, ptr %29236, align 4, !tbaa !5
  %29238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29225, ptr noundef @.str.2, i32 noundef %29226, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 1022, ptr noundef %29229, ptr noundef %29232, ptr noundef %29235, i32 noundef %29237) #11
  br label %29256

29239:                                            ; preds = %29217, %29210
  %29240 = load i32, ptr %609, align 4, !tbaa !5
  %29241 = call ptr @__errno_location() #12
  store i32 %29240, ptr %29241, align 4, !tbaa !5
  %29242 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29243 = load i32, ptr @test_count, align 4, !tbaa !5
  %29244 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29245 = load i32, ptr %29244, align 4, !tbaa !5
  %29246 = call ptr @s2n_strerror(i32 noundef %29245, ptr noundef @.str.4)
  %29247 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29248 = load i32, ptr %29247, align 4, !tbaa !5
  %29249 = call ptr @s2n_strerror_debug(i32 noundef %29248, ptr noundef @.str.4)
  %29250 = call ptr @__errno_location() #12
  %29251 = load i32, ptr %29250, align 4, !tbaa !5
  %29252 = call ptr @strerror(i32 noundef %29251) #11
  %29253 = call ptr @__errno_location() #12
  %29254 = load i32, ptr %29253, align 4, !tbaa !5
  %29255 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29242, ptr noundef @.str.5, i32 noundef %29243, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 1022, ptr noundef %29246, ptr noundef %29249, ptr noundef %29252, i32 noundef %29254) #11
  br label %29256

29256:                                            ; preds = %29239, %29222
  call void @llvm.lifetime.end.p0(i64 4, ptr %609) #11
  br label %29257

29257:                                            ; preds = %29256
  br label %29258

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

29259:                                            ; No predecessors!
  br label %29260

29260:                                            ; preds = %29259
  br label %29261

29261:                                            ; preds = %29260, %29203
  br label %29262

29262:                                            ; preds = %29261
  br label %29263

29263:                                            ; preds = %29262
  br label %29264

29264:                                            ; preds = %29263
  %29265 = load i32, ptr @test_count, align 4, !tbaa !5
  %29266 = add nsw i32 %29265, 1
  store i32 %29266, ptr @test_count, align 4, !tbaa !5
  %29267 = load ptr, ptr %608, align 8, !tbaa !9
  %29268 = call i32 @s2n_connection_set_blinding(ptr noundef %29267, i32 noundef 1)
  %29269 = icmp eq i32 %29268, -1
  br i1 %29269, label %29270, label %29323

29270:                                            ; preds = %29264
  br label %29271

29271:                                            ; preds = %29270
  br label %29272

29272:                                            ; preds = %29271
  call void @llvm.lifetime.start.p0(i64 4, ptr %610) #11
  %29273 = call ptr @__errno_location() #12
  %29274 = load i32, ptr %29273, align 4, !tbaa !5
  store i32 %29274, ptr %610, align 4, !tbaa !5
  %29275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29276 = call i32 @s2n_print_stacktrace(ptr noundef %29275)
  %29277 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29278 = trunc i8 %29277 to i1
  br i1 %29278, label %29279, label %29301

29279:                                            ; preds = %29272
  %29280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29281 = call i32 @fileno(ptr noundef %29280) #11
  %29282 = call i32 @isatty(i32 noundef %29281) #11
  %29283 = icmp ne i32 %29282, 0
  br i1 %29283, label %29284, label %29301

29284:                                            ; preds = %29279
  %29285 = load i32, ptr %610, align 4, !tbaa !5
  %29286 = call ptr @__errno_location() #12
  store i32 %29285, ptr %29286, align 4, !tbaa !5
  %29287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29288 = load i32, ptr @test_count, align 4, !tbaa !5
  %29289 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29290 = load i32, ptr %29289, align 4, !tbaa !5
  %29291 = call ptr @s2n_strerror(i32 noundef %29290, ptr noundef @.str.4)
  %29292 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29293 = load i32, ptr %29292, align 4, !tbaa !5
  %29294 = call ptr @s2n_strerror_debug(i32 noundef %29293, ptr noundef @.str.4)
  %29295 = call ptr @__errno_location() #12
  %29296 = load i32, ptr %29295, align 4, !tbaa !5
  %29297 = call ptr @strerror(i32 noundef %29296) #11
  %29298 = call ptr @__errno_location() #12
  %29299 = load i32, ptr %29298, align 4, !tbaa !5
  %29300 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29287, ptr noundef @.str.2, i32 noundef %29288, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1023, ptr noundef %29291, ptr noundef %29294, ptr noundef %29297, i32 noundef %29299) #11
  br label %29318

29301:                                            ; preds = %29279, %29272
  %29302 = load i32, ptr %610, align 4, !tbaa !5
  %29303 = call ptr @__errno_location() #12
  store i32 %29302, ptr %29303, align 4, !tbaa !5
  %29304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29305 = load i32, ptr @test_count, align 4, !tbaa !5
  %29306 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29307 = load i32, ptr %29306, align 4, !tbaa !5
  %29308 = call ptr @s2n_strerror(i32 noundef %29307, ptr noundef @.str.4)
  %29309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29310 = load i32, ptr %29309, align 4, !tbaa !5
  %29311 = call ptr @s2n_strerror_debug(i32 noundef %29310, ptr noundef @.str.4)
  %29312 = call ptr @__errno_location() #12
  %29313 = load i32, ptr %29312, align 4, !tbaa !5
  %29314 = call ptr @strerror(i32 noundef %29313) #11
  %29315 = call ptr @__errno_location() #12
  %29316 = load i32, ptr %29315, align 4, !tbaa !5
  %29317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29304, ptr noundef @.str.5, i32 noundef %29305, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1023, ptr noundef %29308, ptr noundef %29311, ptr noundef %29314, i32 noundef %29316) #11
  br label %29318

29318:                                            ; preds = %29301, %29284
  call void @llvm.lifetime.end.p0(i64 4, ptr %610) #11
  br label %29319

29319:                                            ; preds = %29318
  br label %29320

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

29321:                                            ; No predecessors!
  br label %29322

29322:                                            ; preds = %29321
  br label %29323

29323:                                            ; preds = %29322, %29264
  br label %29324

29324:                                            ; preds = %29323
  br label %29325

29325:                                            ; preds = %29324
  br label %29326

29326:                                            ; preds = %29325
  %29327 = load i32, ptr @test_count, align 4, !tbaa !5
  %29328 = add nsw i32 %29327, 1
  store i32 %29328, ptr @test_count, align 4, !tbaa !5
  %29329 = load ptr, ptr %608, align 8, !tbaa !9
  %29330 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %29329, ptr noundef @.str.31)
  %29331 = icmp eq i32 %29330, -1
  br i1 %29331, label %29332, label %29385

29332:                                            ; preds = %29326
  br label %29333

29333:                                            ; preds = %29332
  br label %29334

29334:                                            ; preds = %29333
  call void @llvm.lifetime.start.p0(i64 4, ptr %611) #11
  %29335 = call ptr @__errno_location() #12
  %29336 = load i32, ptr %29335, align 4, !tbaa !5
  store i32 %29336, ptr %611, align 4, !tbaa !5
  %29337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29338 = call i32 @s2n_print_stacktrace(ptr noundef %29337)
  %29339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29340 = trunc i8 %29339 to i1
  br i1 %29340, label %29341, label %29363

29341:                                            ; preds = %29334
  %29342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29343 = call i32 @fileno(ptr noundef %29342) #11
  %29344 = call i32 @isatty(i32 noundef %29343) #11
  %29345 = icmp ne i32 %29344, 0
  br i1 %29345, label %29346, label %29363

29346:                                            ; preds = %29341
  %29347 = load i32, ptr %611, align 4, !tbaa !5
  %29348 = call ptr @__errno_location() #12
  store i32 %29347, ptr %29348, align 4, !tbaa !5
  %29349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29350 = load i32, ptr @test_count, align 4, !tbaa !5
  %29351 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29352 = load i32, ptr %29351, align 4, !tbaa !5
  %29353 = call ptr @s2n_strerror(i32 noundef %29352, ptr noundef @.str.4)
  %29354 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29355 = load i32, ptr %29354, align 4, !tbaa !5
  %29356 = call ptr @s2n_strerror_debug(i32 noundef %29355, ptr noundef @.str.4)
  %29357 = call ptr @__errno_location() #12
  %29358 = load i32, ptr %29357, align 4, !tbaa !5
  %29359 = call ptr @strerror(i32 noundef %29358) #11
  %29360 = call ptr @__errno_location() #12
  %29361 = load i32, ptr %29360, align 4, !tbaa !5
  %29362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29349, ptr noundef @.str.2, i32 noundef %29350, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 1024, ptr noundef %29353, ptr noundef %29356, ptr noundef %29359, i32 noundef %29361) #11
  br label %29380

29363:                                            ; preds = %29341, %29334
  %29364 = load i32, ptr %611, align 4, !tbaa !5
  %29365 = call ptr @__errno_location() #12
  store i32 %29364, ptr %29365, align 4, !tbaa !5
  %29366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29367 = load i32, ptr @test_count, align 4, !tbaa !5
  %29368 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29369 = load i32, ptr %29368, align 4, !tbaa !5
  %29370 = call ptr @s2n_strerror(i32 noundef %29369, ptr noundef @.str.4)
  %29371 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29372 = load i32, ptr %29371, align 4, !tbaa !5
  %29373 = call ptr @s2n_strerror_debug(i32 noundef %29372, ptr noundef @.str.4)
  %29374 = call ptr @__errno_location() #12
  %29375 = load i32, ptr %29374, align 4, !tbaa !5
  %29376 = call ptr @strerror(i32 noundef %29375) #11
  %29377 = call ptr @__errno_location() #12
  %29378 = load i32, ptr %29377, align 4, !tbaa !5
  %29379 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29366, ptr noundef @.str.5, i32 noundef %29367, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 1024, ptr noundef %29370, ptr noundef %29373, ptr noundef %29376, i32 noundef %29378) #11
  br label %29380

29380:                                            ; preds = %29363, %29346
  call void @llvm.lifetime.end.p0(i64 4, ptr %611) #11
  br label %29381

29381:                                            ; preds = %29380
  br label %29382

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

29383:                                            ; No predecessors!
  br label %29384

29384:                                            ; preds = %29383
  br label %29385

29385:                                            ; preds = %29384, %29326
  br label %29386

29386:                                            ; preds = %29385
  br label %29387

29387:                                            ; preds = %29386
  br label %29388

29388:                                            ; preds = %29387
  %29389 = load i32, ptr @test_count, align 4, !tbaa !5
  %29390 = add nsw i32 %29389, 1
  store i32 %29390, ptr @test_count, align 4, !tbaa !5
  %29391 = load ptr, ptr %608, align 8, !tbaa !9
  %29392 = load ptr, ptr %607, align 8, !tbaa !9
  %29393 = call i32 @s2n_connection_append_psk(ptr noundef %29391, ptr noundef %29392)
  %29394 = icmp eq i32 %29393, -1
  br i1 %29394, label %29395, label %29448

29395:                                            ; preds = %29388
  br label %29396

29396:                                            ; preds = %29395
  br label %29397

29397:                                            ; preds = %29396
  call void @llvm.lifetime.start.p0(i64 4, ptr %612) #11
  %29398 = call ptr @__errno_location() #12
  %29399 = load i32, ptr %29398, align 4, !tbaa !5
  store i32 %29399, ptr %612, align 4, !tbaa !5
  %29400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29401 = call i32 @s2n_print_stacktrace(ptr noundef %29400)
  %29402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29403 = trunc i8 %29402 to i1
  br i1 %29403, label %29404, label %29426

29404:                                            ; preds = %29397
  %29405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29406 = call i32 @fileno(ptr noundef %29405) #11
  %29407 = call i32 @isatty(i32 noundef %29406) #11
  %29408 = icmp ne i32 %29407, 0
  br i1 %29408, label %29409, label %29426

29409:                                            ; preds = %29404
  %29410 = load i32, ptr %612, align 4, !tbaa !5
  %29411 = call ptr @__errno_location() #12
  store i32 %29410, ptr %29411, align 4, !tbaa !5
  %29412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29413 = load i32, ptr @test_count, align 4, !tbaa !5
  %29414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29415 = load i32, ptr %29414, align 4, !tbaa !5
  %29416 = call ptr @s2n_strerror(i32 noundef %29415, ptr noundef @.str.4)
  %29417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29418 = load i32, ptr %29417, align 4, !tbaa !5
  %29419 = call ptr @s2n_strerror_debug(i32 noundef %29418, ptr noundef @.str.4)
  %29420 = call ptr @__errno_location() #12
  %29421 = load i32, ptr %29420, align 4, !tbaa !5
  %29422 = call ptr @strerror(i32 noundef %29421) #11
  %29423 = call ptr @__errno_location() #12
  %29424 = load i32, ptr %29423, align 4, !tbaa !5
  %29425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29412, ptr noundef @.str.2, i32 noundef %29413, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 1025, ptr noundef %29416, ptr noundef %29419, ptr noundef %29422, i32 noundef %29424) #11
  br label %29443

29426:                                            ; preds = %29404, %29397
  %29427 = load i32, ptr %612, align 4, !tbaa !5
  %29428 = call ptr @__errno_location() #12
  store i32 %29427, ptr %29428, align 4, !tbaa !5
  %29429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29430 = load i32, ptr @test_count, align 4, !tbaa !5
  %29431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29432 = load i32, ptr %29431, align 4, !tbaa !5
  %29433 = call ptr @s2n_strerror(i32 noundef %29432, ptr noundef @.str.4)
  %29434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29435 = load i32, ptr %29434, align 4, !tbaa !5
  %29436 = call ptr @s2n_strerror_debug(i32 noundef %29435, ptr noundef @.str.4)
  %29437 = call ptr @__errno_location() #12
  %29438 = load i32, ptr %29437, align 4, !tbaa !5
  %29439 = call ptr @strerror(i32 noundef %29438) #11
  %29440 = call ptr @__errno_location() #12
  %29441 = load i32, ptr %29440, align 4, !tbaa !5
  %29442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29429, ptr noundef @.str.5, i32 noundef %29430, ptr noundef @.str.145, ptr noundef @.str.1, i32 noundef 1025, ptr noundef %29433, ptr noundef %29436, ptr noundef %29439, i32 noundef %29441) #11
  br label %29443

29443:                                            ; preds = %29426, %29409
  call void @llvm.lifetime.end.p0(i64 4, ptr %612) #11
  br label %29444

29444:                                            ; preds = %29443
  br label %29445

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

29446:                                            ; No predecessors!
  br label %29447

29447:                                            ; preds = %29446
  br label %29448

29448:                                            ; preds = %29447, %29388
  br label %29449

29449:                                            ; preds = %29448
  br label %29450

29450:                                            ; preds = %29449
  br label %29451

29451:                                            ; preds = %29450
  %29452 = load i32, ptr @test_count, align 4, !tbaa !5
  %29453 = add nsw i32 %29452, 1
  store i32 %29453, ptr @test_count, align 4, !tbaa !5
  %29454 = load ptr, ptr %608, align 8, !tbaa !9
  %29455 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %29454, i32 noundef 1024)
  %29456 = icmp eq i32 %29455, -1
  br i1 %29456, label %29457, label %29510

29457:                                            ; preds = %29451
  br label %29458

29458:                                            ; preds = %29457
  br label %29459

29459:                                            ; preds = %29458
  call void @llvm.lifetime.start.p0(i64 4, ptr %613) #11
  %29460 = call ptr @__errno_location() #12
  %29461 = load i32, ptr %29460, align 4, !tbaa !5
  store i32 %29461, ptr %613, align 4, !tbaa !5
  %29462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29463 = call i32 @s2n_print_stacktrace(ptr noundef %29462)
  %29464 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29465 = trunc i8 %29464 to i1
  br i1 %29465, label %29466, label %29488

29466:                                            ; preds = %29459
  %29467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29468 = call i32 @fileno(ptr noundef %29467) #11
  %29469 = call i32 @isatty(i32 noundef %29468) #11
  %29470 = icmp ne i32 %29469, 0
  br i1 %29470, label %29471, label %29488

29471:                                            ; preds = %29466
  %29472 = load i32, ptr %613, align 4, !tbaa !5
  %29473 = call ptr @__errno_location() #12
  store i32 %29472, ptr %29473, align 4, !tbaa !5
  %29474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29475 = load i32, ptr @test_count, align 4, !tbaa !5
  %29476 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29477 = load i32, ptr %29476, align 4, !tbaa !5
  %29478 = call ptr @s2n_strerror(i32 noundef %29477, ptr noundef @.str.4)
  %29479 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29480 = load i32, ptr %29479, align 4, !tbaa !5
  %29481 = call ptr @s2n_strerror_debug(i32 noundef %29480, ptr noundef @.str.4)
  %29482 = call ptr @__errno_location() #12
  %29483 = load i32, ptr %29482, align 4, !tbaa !5
  %29484 = call ptr @strerror(i32 noundef %29483) #11
  %29485 = call ptr @__errno_location() #12
  %29486 = load i32, ptr %29485, align 4, !tbaa !5
  %29487 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29474, ptr noundef @.str.2, i32 noundef %29475, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 1026, ptr noundef %29478, ptr noundef %29481, ptr noundef %29484, i32 noundef %29486) #11
  br label %29505

29488:                                            ; preds = %29466, %29459
  %29489 = load i32, ptr %613, align 4, !tbaa !5
  %29490 = call ptr @__errno_location() #12
  store i32 %29489, ptr %29490, align 4, !tbaa !5
  %29491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29492 = load i32, ptr @test_count, align 4, !tbaa !5
  %29493 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29494 = load i32, ptr %29493, align 4, !tbaa !5
  %29495 = call ptr @s2n_strerror(i32 noundef %29494, ptr noundef @.str.4)
  %29496 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29497 = load i32, ptr %29496, align 4, !tbaa !5
  %29498 = call ptr @s2n_strerror_debug(i32 noundef %29497, ptr noundef @.str.4)
  %29499 = call ptr @__errno_location() #12
  %29500 = load i32, ptr %29499, align 4, !tbaa !5
  %29501 = call ptr @strerror(i32 noundef %29500) #11
  %29502 = call ptr @__errno_location() #12
  %29503 = load i32, ptr %29502, align 4, !tbaa !5
  %29504 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29491, ptr noundef @.str.5, i32 noundef %29492, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 1026, ptr noundef %29495, ptr noundef %29498, ptr noundef %29501, i32 noundef %29503) #11
  br label %29505

29505:                                            ; preds = %29488, %29471
  call void @llvm.lifetime.end.p0(i64 4, ptr %613) #11
  br label %29506

29506:                                            ; preds = %29505
  br label %29507

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

29508:                                            ; No predecessors!
  br label %29509

29509:                                            ; preds = %29508
  br label %29510

29510:                                            ; preds = %29509, %29451
  br label %29511

29511:                                            ; preds = %29510
  br label %29512

29512:                                            ; preds = %29511
  %29513 = load ptr, ptr %608, align 8, !tbaa !9
  %29514 = getelementptr inbounds %struct.s2n_connection, ptr %29513, i32 0, i32 33
  %29515 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %29514, i32 0, i32 0
  store i32 1, ptr %29515, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 40, ptr %614) #11
  call void @llvm.memset.p0.i64(ptr align 8 %614, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %615) #11
  call void @llvm.memset.p0.i64(ptr align 8 %615, i8 0, i64 40, i1 false)
  br label %29516

29516:                                            ; preds = %29512
  %29517 = load i32, ptr @test_count, align 4, !tbaa !5
  %29518 = add nsw i32 %29517, 1
  store i32 %29518, ptr @test_count, align 4, !tbaa !5
  %29519 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %614, i32 noundef 8092)
  %29520 = icmp eq i32 %29519, -1
  br i1 %29520, label %29521, label %29574

29521:                                            ; preds = %29516
  br label %29522

29522:                                            ; preds = %29521
  br label %29523

29523:                                            ; preds = %29522
  call void @llvm.lifetime.start.p0(i64 4, ptr %616) #11
  %29524 = call ptr @__errno_location() #12
  %29525 = load i32, ptr %29524, align 4, !tbaa !5
  store i32 %29525, ptr %616, align 4, !tbaa !5
  %29526 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29527 = call i32 @s2n_print_stacktrace(ptr noundef %29526)
  %29528 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29529 = trunc i8 %29528 to i1
  br i1 %29529, label %29530, label %29552

29530:                                            ; preds = %29523
  %29531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29532 = call i32 @fileno(ptr noundef %29531) #11
  %29533 = call i32 @isatty(i32 noundef %29532) #11
  %29534 = icmp ne i32 %29533, 0
  br i1 %29534, label %29535, label %29552

29535:                                            ; preds = %29530
  %29536 = load i32, ptr %616, align 4, !tbaa !5
  %29537 = call ptr @__errno_location() #12
  store i32 %29536, ptr %29537, align 4, !tbaa !5
  %29538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29539 = load i32, ptr @test_count, align 4, !tbaa !5
  %29540 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29541 = load i32, ptr %29540, align 4, !tbaa !5
  %29542 = call ptr @s2n_strerror(i32 noundef %29541, ptr noundef @.str.4)
  %29543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29544 = load i32, ptr %29543, align 4, !tbaa !5
  %29545 = call ptr @s2n_strerror_debug(i32 noundef %29544, ptr noundef @.str.4)
  %29546 = call ptr @__errno_location() #12
  %29547 = load i32, ptr %29546, align 4, !tbaa !5
  %29548 = call ptr @strerror(i32 noundef %29547) #11
  %29549 = call ptr @__errno_location() #12
  %29550 = load i32, ptr %29549, align 4, !tbaa !5
  %29551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29538, ptr noundef @.str.2, i32 noundef %29539, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1034, ptr noundef %29542, ptr noundef %29545, ptr noundef %29548, i32 noundef %29550) #11
  br label %29569

29552:                                            ; preds = %29530, %29523
  %29553 = load i32, ptr %616, align 4, !tbaa !5
  %29554 = call ptr @__errno_location() #12
  store i32 %29553, ptr %29554, align 4, !tbaa !5
  %29555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29556 = load i32, ptr @test_count, align 4, !tbaa !5
  %29557 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29558 = load i32, ptr %29557, align 4, !tbaa !5
  %29559 = call ptr @s2n_strerror(i32 noundef %29558, ptr noundef @.str.4)
  %29560 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29561 = load i32, ptr %29560, align 4, !tbaa !5
  %29562 = call ptr @s2n_strerror_debug(i32 noundef %29561, ptr noundef @.str.4)
  %29563 = call ptr @__errno_location() #12
  %29564 = load i32, ptr %29563, align 4, !tbaa !5
  %29565 = call ptr @strerror(i32 noundef %29564) #11
  %29566 = call ptr @__errno_location() #12
  %29567 = load i32, ptr %29566, align 4, !tbaa !5
  %29568 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29555, ptr noundef @.str.5, i32 noundef %29556, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1034, ptr noundef %29559, ptr noundef %29562, ptr noundef %29565, i32 noundef %29567) #11
  br label %29569

29569:                                            ; preds = %29552, %29535
  call void @llvm.lifetime.end.p0(i64 4, ptr %616) #11
  br label %29570

29570:                                            ; preds = %29569
  br label %29571

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

29572:                                            ; No predecessors!
  br label %29573

29573:                                            ; preds = %29572
  br label %29574

29574:                                            ; preds = %29573, %29516
  br label %29575

29575:                                            ; preds = %29574
  br label %29576

29576:                                            ; preds = %29575
  br label %29577

29577:                                            ; preds = %29576
  %29578 = load i32, ptr @test_count, align 4, !tbaa !5
  %29579 = add nsw i32 %29578, 1
  store i32 %29579, ptr @test_count, align 4, !tbaa !5
  %29580 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %615, i32 noundef 8092)
  %29581 = icmp eq i32 %29580, -1
  br i1 %29581, label %29582, label %29635

29582:                                            ; preds = %29577
  br label %29583

29583:                                            ; preds = %29582
  br label %29584

29584:                                            ; preds = %29583
  call void @llvm.lifetime.start.p0(i64 4, ptr %617) #11
  %29585 = call ptr @__errno_location() #12
  %29586 = load i32, ptr %29585, align 4, !tbaa !5
  store i32 %29586, ptr %617, align 4, !tbaa !5
  %29587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29588 = call i32 @s2n_print_stacktrace(ptr noundef %29587)
  %29589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29590 = trunc i8 %29589 to i1
  br i1 %29590, label %29591, label %29613

29591:                                            ; preds = %29584
  %29592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29593 = call i32 @fileno(ptr noundef %29592) #11
  %29594 = call i32 @isatty(i32 noundef %29593) #11
  %29595 = icmp ne i32 %29594, 0
  br i1 %29595, label %29596, label %29613

29596:                                            ; preds = %29591
  %29597 = load i32, ptr %617, align 4, !tbaa !5
  %29598 = call ptr @__errno_location() #12
  store i32 %29597, ptr %29598, align 4, !tbaa !5
  %29599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29600 = load i32, ptr @test_count, align 4, !tbaa !5
  %29601 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29602 = load i32, ptr %29601, align 4, !tbaa !5
  %29603 = call ptr @s2n_strerror(i32 noundef %29602, ptr noundef @.str.4)
  %29604 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29605 = load i32, ptr %29604, align 4, !tbaa !5
  %29606 = call ptr @s2n_strerror_debug(i32 noundef %29605, ptr noundef @.str.4)
  %29607 = call ptr @__errno_location() #12
  %29608 = load i32, ptr %29607, align 4, !tbaa !5
  %29609 = call ptr @strerror(i32 noundef %29608) #11
  %29610 = call ptr @__errno_location() #12
  %29611 = load i32, ptr %29610, align 4, !tbaa !5
  %29612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29599, ptr noundef @.str.2, i32 noundef %29600, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %29603, ptr noundef %29606, ptr noundef %29609, i32 noundef %29611) #11
  br label %29630

29613:                                            ; preds = %29591, %29584
  %29614 = load i32, ptr %617, align 4, !tbaa !5
  %29615 = call ptr @__errno_location() #12
  store i32 %29614, ptr %29615, align 4, !tbaa !5
  %29616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29617 = load i32, ptr @test_count, align 4, !tbaa !5
  %29618 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29619 = load i32, ptr %29618, align 4, !tbaa !5
  %29620 = call ptr @s2n_strerror(i32 noundef %29619, ptr noundef @.str.4)
  %29621 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29622 = load i32, ptr %29621, align 4, !tbaa !5
  %29623 = call ptr @s2n_strerror_debug(i32 noundef %29622, ptr noundef @.str.4)
  %29624 = call ptr @__errno_location() #12
  %29625 = load i32, ptr %29624, align 4, !tbaa !5
  %29626 = call ptr @strerror(i32 noundef %29625) #11
  %29627 = call ptr @__errno_location() #12
  %29628 = load i32, ptr %29627, align 4, !tbaa !5
  %29629 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29616, ptr noundef @.str.5, i32 noundef %29617, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1035, ptr noundef %29620, ptr noundef %29623, ptr noundef %29626, i32 noundef %29628) #11
  br label %29630

29630:                                            ; preds = %29613, %29596
  call void @llvm.lifetime.end.p0(i64 4, ptr %617) #11
  br label %29631

29631:                                            ; preds = %29630
  br label %29632

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

29633:                                            ; No predecessors!
  br label %29634

29634:                                            ; preds = %29633
  br label %29635

29635:                                            ; preds = %29634, %29577
  br label %29636

29636:                                            ; preds = %29635
  br label %29637

29637:                                            ; preds = %29636
  br label %29638

29638:                                            ; preds = %29637
  %29639 = load i32, ptr @test_count, align 4, !tbaa !5
  %29640 = add nsw i32 %29639, 1
  store i32 %29640, ptr @test_count, align 4, !tbaa !5
  %29641 = load ptr, ptr %608, align 8, !tbaa !9
  %29642 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %614, ptr noundef %615, ptr noundef %29641)
  %29643 = icmp eq i32 %29642, -1
  br i1 %29643, label %29644, label %29697

29644:                                            ; preds = %29638
  br label %29645

29645:                                            ; preds = %29644
  br label %29646

29646:                                            ; preds = %29645
  call void @llvm.lifetime.start.p0(i64 4, ptr %618) #11
  %29647 = call ptr @__errno_location() #12
  %29648 = load i32, ptr %29647, align 4, !tbaa !5
  store i32 %29648, ptr %618, align 4, !tbaa !5
  %29649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29650 = call i32 @s2n_print_stacktrace(ptr noundef %29649)
  %29651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29652 = trunc i8 %29651 to i1
  br i1 %29652, label %29653, label %29675

29653:                                            ; preds = %29646
  %29654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29655 = call i32 @fileno(ptr noundef %29654) #11
  %29656 = call i32 @isatty(i32 noundef %29655) #11
  %29657 = icmp ne i32 %29656, 0
  br i1 %29657, label %29658, label %29675

29658:                                            ; preds = %29653
  %29659 = load i32, ptr %618, align 4, !tbaa !5
  %29660 = call ptr @__errno_location() #12
  store i32 %29659, ptr %29660, align 4, !tbaa !5
  %29661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29662 = load i32, ptr @test_count, align 4, !tbaa !5
  %29663 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29664 = load i32, ptr %29663, align 4, !tbaa !5
  %29665 = call ptr @s2n_strerror(i32 noundef %29664, ptr noundef @.str.4)
  %29666 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29667 = load i32, ptr %29666, align 4, !tbaa !5
  %29668 = call ptr @s2n_strerror_debug(i32 noundef %29667, ptr noundef @.str.4)
  %29669 = call ptr @__errno_location() #12
  %29670 = load i32, ptr %29669, align 4, !tbaa !5
  %29671 = call ptr @strerror(i32 noundef %29670) #11
  %29672 = call ptr @__errno_location() #12
  %29673 = load i32, ptr %29672, align 4, !tbaa !5
  %29674 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29661, ptr noundef @.str.2, i32 noundef %29662, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 1036, ptr noundef %29665, ptr noundef %29668, ptr noundef %29671, i32 noundef %29673) #11
  br label %29692

29675:                                            ; preds = %29653, %29646
  %29676 = load i32, ptr %618, align 4, !tbaa !5
  %29677 = call ptr @__errno_location() #12
  store i32 %29676, ptr %29677, align 4, !tbaa !5
  %29678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29679 = load i32, ptr @test_count, align 4, !tbaa !5
  %29680 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29681 = load i32, ptr %29680, align 4, !tbaa !5
  %29682 = call ptr @s2n_strerror(i32 noundef %29681, ptr noundef @.str.4)
  %29683 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29684 = load i32, ptr %29683, align 4, !tbaa !5
  %29685 = call ptr @s2n_strerror_debug(i32 noundef %29684, ptr noundef @.str.4)
  %29686 = call ptr @__errno_location() #12
  %29687 = load i32, ptr %29686, align 4, !tbaa !5
  %29688 = call ptr @strerror(i32 noundef %29687) #11
  %29689 = call ptr @__errno_location() #12
  %29690 = load i32, ptr %29689, align 4, !tbaa !5
  %29691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29678, ptr noundef @.str.5, i32 noundef %29679, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 1036, ptr noundef %29682, ptr noundef %29685, ptr noundef %29688, i32 noundef %29690) #11
  br label %29692

29692:                                            ; preds = %29675, %29658
  call void @llvm.lifetime.end.p0(i64 4, ptr %618) #11
  br label %29693

29693:                                            ; preds = %29692
  br label %29694

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

29695:                                            ; No predecessors!
  br label %29696

29696:                                            ; preds = %29695
  br label %29697

29697:                                            ; preds = %29696, %29638
  br label %29698

29698:                                            ; preds = %29697
  br label %29699

29699:                                            ; preds = %29698
  br label %29700

29700:                                            ; preds = %29699
  %29701 = load i32, ptr @test_count, align 4, !tbaa !5
  %29702 = add nsw i32 %29701, 1
  store i32 %29702, ptr @test_count, align 4, !tbaa !5
  %29703 = call i32 @s2n_stuffer_write(ptr noundef %614, ptr noundef %501)
  %29704 = icmp eq i32 %29703, -1
  br i1 %29704, label %29705, label %29758

29705:                                            ; preds = %29700
  br label %29706

29706:                                            ; preds = %29705
  br label %29707

29707:                                            ; preds = %29706
  call void @llvm.lifetime.start.p0(i64 4, ptr %619) #11
  %29708 = call ptr @__errno_location() #12
  %29709 = load i32, ptr %29708, align 4, !tbaa !5
  store i32 %29709, ptr %619, align 4, !tbaa !5
  %29710 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29711 = call i32 @s2n_print_stacktrace(ptr noundef %29710)
  %29712 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29713 = trunc i8 %29712 to i1
  br i1 %29713, label %29714, label %29736

29714:                                            ; preds = %29707
  %29715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29716 = call i32 @fileno(ptr noundef %29715) #11
  %29717 = call i32 @isatty(i32 noundef %29716) #11
  %29718 = icmp ne i32 %29717, 0
  br i1 %29718, label %29719, label %29736

29719:                                            ; preds = %29714
  %29720 = load i32, ptr %619, align 4, !tbaa !5
  %29721 = call ptr @__errno_location() #12
  store i32 %29720, ptr %29721, align 4, !tbaa !5
  %29722 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29723 = load i32, ptr @test_count, align 4, !tbaa !5
  %29724 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29725 = load i32, ptr %29724, align 4, !tbaa !5
  %29726 = call ptr @s2n_strerror(i32 noundef %29725, ptr noundef @.str.4)
  %29727 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29728 = load i32, ptr %29727, align 4, !tbaa !5
  %29729 = call ptr @s2n_strerror_debug(i32 noundef %29728, ptr noundef @.str.4)
  %29730 = call ptr @__errno_location() #12
  %29731 = load i32, ptr %29730, align 4, !tbaa !5
  %29732 = call ptr @strerror(i32 noundef %29731) #11
  %29733 = call ptr @__errno_location() #12
  %29734 = load i32, ptr %29733, align 4, !tbaa !5
  %29735 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29722, ptr noundef @.str.2, i32 noundef %29723, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 1038, ptr noundef %29726, ptr noundef %29729, ptr noundef %29732, i32 noundef %29734) #11
  br label %29753

29736:                                            ; preds = %29714, %29707
  %29737 = load i32, ptr %619, align 4, !tbaa !5
  %29738 = call ptr @__errno_location() #12
  store i32 %29737, ptr %29738, align 4, !tbaa !5
  %29739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29740 = load i32, ptr @test_count, align 4, !tbaa !5
  %29741 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29742 = load i32, ptr %29741, align 4, !tbaa !5
  %29743 = call ptr @s2n_strerror(i32 noundef %29742, ptr noundef @.str.4)
  %29744 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29745 = load i32, ptr %29744, align 4, !tbaa !5
  %29746 = call ptr @s2n_strerror_debug(i32 noundef %29745, ptr noundef @.str.4)
  %29747 = call ptr @__errno_location() #12
  %29748 = load i32, ptr %29747, align 4, !tbaa !5
  %29749 = call ptr @strerror(i32 noundef %29748) #11
  %29750 = call ptr @__errno_location() #12
  %29751 = load i32, ptr %29750, align 4, !tbaa !5
  %29752 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29739, ptr noundef @.str.5, i32 noundef %29740, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 1038, ptr noundef %29743, ptr noundef %29746, ptr noundef %29749, i32 noundef %29751) #11
  br label %29753

29753:                                            ; preds = %29736, %29719
  call void @llvm.lifetime.end.p0(i64 4, ptr %619) #11
  br label %29754

29754:                                            ; preds = %29753
  br label %29755

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

29756:                                            ; No predecessors!
  br label %29757

29757:                                            ; preds = %29756
  br label %29758

29758:                                            ; preds = %29757, %29700
  br label %29759

29759:                                            ; preds = %29758
  br label %29760

29760:                                            ; preds = %29759
  br label %29761

29761:                                            ; preds = %29760
  %29762 = load i32, ptr @test_count, align 4, !tbaa !5
  %29763 = add nsw i32 %29762, 1
  store i32 %29763, ptr @test_count, align 4, !tbaa !5
  %29764 = call i32 @s2n_stuffer_write(ptr noundef %614, ptr noundef %505)
  %29765 = icmp eq i32 %29764, -1
  br i1 %29765, label %29766, label %29819

29766:                                            ; preds = %29761
  br label %29767

29767:                                            ; preds = %29766
  br label %29768

29768:                                            ; preds = %29767
  call void @llvm.lifetime.start.p0(i64 4, ptr %620) #11
  %29769 = call ptr @__errno_location() #12
  %29770 = load i32, ptr %29769, align 4, !tbaa !5
  store i32 %29770, ptr %620, align 4, !tbaa !5
  %29771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29772 = call i32 @s2n_print_stacktrace(ptr noundef %29771)
  %29773 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29774 = trunc i8 %29773 to i1
  br i1 %29774, label %29775, label %29797

29775:                                            ; preds = %29768
  %29776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29777 = call i32 @fileno(ptr noundef %29776) #11
  %29778 = call i32 @isatty(i32 noundef %29777) #11
  %29779 = icmp ne i32 %29778, 0
  br i1 %29779, label %29780, label %29797

29780:                                            ; preds = %29775
  %29781 = load i32, ptr %620, align 4, !tbaa !5
  %29782 = call ptr @__errno_location() #12
  store i32 %29781, ptr %29782, align 4, !tbaa !5
  %29783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29784 = load i32, ptr @test_count, align 4, !tbaa !5
  %29785 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29786 = load i32, ptr %29785, align 4, !tbaa !5
  %29787 = call ptr @s2n_strerror(i32 noundef %29786, ptr noundef @.str.4)
  %29788 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29789 = load i32, ptr %29788, align 4, !tbaa !5
  %29790 = call ptr @s2n_strerror_debug(i32 noundef %29789, ptr noundef @.str.4)
  %29791 = call ptr @__errno_location() #12
  %29792 = load i32, ptr %29791, align 4, !tbaa !5
  %29793 = call ptr @strerror(i32 noundef %29792) #11
  %29794 = call ptr @__errno_location() #12
  %29795 = load i32, ptr %29794, align 4, !tbaa !5
  %29796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29783, ptr noundef @.str.2, i32 noundef %29784, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %29787, ptr noundef %29790, ptr noundef %29793, i32 noundef %29795) #11
  br label %29814

29797:                                            ; preds = %29775, %29768
  %29798 = load i32, ptr %620, align 4, !tbaa !5
  %29799 = call ptr @__errno_location() #12
  store i32 %29798, ptr %29799, align 4, !tbaa !5
  %29800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29801 = load i32, ptr @test_count, align 4, !tbaa !5
  %29802 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29803 = load i32, ptr %29802, align 4, !tbaa !5
  %29804 = call ptr @s2n_strerror(i32 noundef %29803, ptr noundef @.str.4)
  %29805 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29806 = load i32, ptr %29805, align 4, !tbaa !5
  %29807 = call ptr @s2n_strerror_debug(i32 noundef %29806, ptr noundef @.str.4)
  %29808 = call ptr @__errno_location() #12
  %29809 = load i32, ptr %29808, align 4, !tbaa !5
  %29810 = call ptr @strerror(i32 noundef %29809) #11
  %29811 = call ptr @__errno_location() #12
  %29812 = load i32, ptr %29811, align 4, !tbaa !5
  %29813 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29800, ptr noundef @.str.5, i32 noundef %29801, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 1039, ptr noundef %29804, ptr noundef %29807, ptr noundef %29810, i32 noundef %29812) #11
  br label %29814

29814:                                            ; preds = %29797, %29780
  call void @llvm.lifetime.end.p0(i64 4, ptr %620) #11
  br label %29815

29815:                                            ; preds = %29814
  br label %29816

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

29817:                                            ; No predecessors!
  br label %29818

29818:                                            ; preds = %29817
  br label %29819

29819:                                            ; preds = %29818, %29761
  br label %29820

29820:                                            ; preds = %29819
  br label %29821

29821:                                            ; preds = %29820
  br label %29822

29822:                                            ; preds = %29821
  %29823 = load i32, ptr @test_count, align 4, !tbaa !5
  %29824 = add nsw i32 %29823, 1
  store i32 %29824, ptr @test_count, align 4, !tbaa !5
  %29825 = call i32 @s2n_stuffer_write(ptr noundef %614, ptr noundef %507)
  %29826 = icmp eq i32 %29825, -1
  br i1 %29826, label %29827, label %29880

29827:                                            ; preds = %29822
  br label %29828

29828:                                            ; preds = %29827
  br label %29829

29829:                                            ; preds = %29828
  call void @llvm.lifetime.start.p0(i64 4, ptr %621) #11
  %29830 = call ptr @__errno_location() #12
  %29831 = load i32, ptr %29830, align 4, !tbaa !5
  store i32 %29831, ptr %621, align 4, !tbaa !5
  %29832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29833 = call i32 @s2n_print_stacktrace(ptr noundef %29832)
  %29834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29835 = trunc i8 %29834 to i1
  br i1 %29835, label %29836, label %29858

29836:                                            ; preds = %29829
  %29837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29838 = call i32 @fileno(ptr noundef %29837) #11
  %29839 = call i32 @isatty(i32 noundef %29838) #11
  %29840 = icmp ne i32 %29839, 0
  br i1 %29840, label %29841, label %29858

29841:                                            ; preds = %29836
  %29842 = load i32, ptr %621, align 4, !tbaa !5
  %29843 = call ptr @__errno_location() #12
  store i32 %29842, ptr %29843, align 4, !tbaa !5
  %29844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29845 = load i32, ptr @test_count, align 4, !tbaa !5
  %29846 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29847 = load i32, ptr %29846, align 4, !tbaa !5
  %29848 = call ptr @s2n_strerror(i32 noundef %29847, ptr noundef @.str.4)
  %29849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29850 = load i32, ptr %29849, align 4, !tbaa !5
  %29851 = call ptr @s2n_strerror_debug(i32 noundef %29850, ptr noundef @.str.4)
  %29852 = call ptr @__errno_location() #12
  %29853 = load i32, ptr %29852, align 4, !tbaa !5
  %29854 = call ptr @strerror(i32 noundef %29853) #11
  %29855 = call ptr @__errno_location() #12
  %29856 = load i32, ptr %29855, align 4, !tbaa !5
  %29857 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29844, ptr noundef @.str.2, i32 noundef %29845, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %29848, ptr noundef %29851, ptr noundef %29854, i32 noundef %29856) #11
  br label %29875

29858:                                            ; preds = %29836, %29829
  %29859 = load i32, ptr %621, align 4, !tbaa !5
  %29860 = call ptr @__errno_location() #12
  store i32 %29859, ptr %29860, align 4, !tbaa !5
  %29861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29862 = load i32, ptr @test_count, align 4, !tbaa !5
  %29863 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29864 = load i32, ptr %29863, align 4, !tbaa !5
  %29865 = call ptr @s2n_strerror(i32 noundef %29864, ptr noundef @.str.4)
  %29866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29867 = load i32, ptr %29866, align 4, !tbaa !5
  %29868 = call ptr @s2n_strerror_debug(i32 noundef %29867, ptr noundef @.str.4)
  %29869 = call ptr @__errno_location() #12
  %29870 = load i32, ptr %29869, align 4, !tbaa !5
  %29871 = call ptr @strerror(i32 noundef %29870) #11
  %29872 = call ptr @__errno_location() #12
  %29873 = load i32, ptr %29872, align 4, !tbaa !5
  %29874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29861, ptr noundef @.str.5, i32 noundef %29862, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 1040, ptr noundef %29865, ptr noundef %29868, ptr noundef %29871, i32 noundef %29873) #11
  br label %29875

29875:                                            ; preds = %29858, %29841
  call void @llvm.lifetime.end.p0(i64 4, ptr %621) #11
  br label %29876

29876:                                            ; preds = %29875
  br label %29877

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

29878:                                            ; No predecessors!
  br label %29879

29879:                                            ; preds = %29878
  br label %29880

29880:                                            ; preds = %29879, %29822
  br label %29881

29881:                                            ; preds = %29880
  br label %29882

29882:                                            ; preds = %29881
  call void @llvm.lifetime.start.p0(i64 100, ptr %622) #11
  call void @llvm.memset.p0.i64(ptr align 16 %622, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %623) #11
  store i32 0, ptr %623, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %624) #11
  store i64 0, ptr %624, align 8, !tbaa !42
  br label %29883

29883:                                            ; preds = %29882
  %29884 = load i32, ptr @test_count, align 4, !tbaa !5
  %29885 = add nsw i32 %29884, 1
  store i32 %29885, ptr @test_count, align 4, !tbaa !5
  %29886 = load ptr, ptr %608, align 8, !tbaa !9
  %29887 = getelementptr inbounds [100 x i8], ptr %622, i64 0, i64 0
  %29888 = call i32 @s2n_recv_early_data(ptr noundef %29886, ptr noundef %29887, i64 noundef 100, ptr noundef %624, ptr noundef %623)
  %29889 = icmp eq i32 %29888, -1
  br i1 %29889, label %29890, label %29943

29890:                                            ; preds = %29883
  br label %29891

29891:                                            ; preds = %29890
  br label %29892

29892:                                            ; preds = %29891
  call void @llvm.lifetime.start.p0(i64 4, ptr %625) #11
  %29893 = call ptr @__errno_location() #12
  %29894 = load i32, ptr %29893, align 4, !tbaa !5
  store i32 %29894, ptr %625, align 4, !tbaa !5
  %29895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29896 = call i32 @s2n_print_stacktrace(ptr noundef %29895)
  %29897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29898 = trunc i8 %29897 to i1
  br i1 %29898, label %29899, label %29921

29899:                                            ; preds = %29892
  %29900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29901 = call i32 @fileno(ptr noundef %29900) #11
  %29902 = call i32 @isatty(i32 noundef %29901) #11
  %29903 = icmp ne i32 %29902, 0
  br i1 %29903, label %29904, label %29921

29904:                                            ; preds = %29899
  %29905 = load i32, ptr %625, align 4, !tbaa !5
  %29906 = call ptr @__errno_location() #12
  store i32 %29905, ptr %29906, align 4, !tbaa !5
  %29907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29908 = load i32, ptr @test_count, align 4, !tbaa !5
  %29909 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29910 = load i32, ptr %29909, align 4, !tbaa !5
  %29911 = call ptr @s2n_strerror(i32 noundef %29910, ptr noundef @.str.4)
  %29912 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29913 = load i32, ptr %29912, align 4, !tbaa !5
  %29914 = call ptr @s2n_strerror_debug(i32 noundef %29913, ptr noundef @.str.4)
  %29915 = call ptr @__errno_location() #12
  %29916 = load i32, ptr %29915, align 4, !tbaa !5
  %29917 = call ptr @strerror(i32 noundef %29916) #11
  %29918 = call ptr @__errno_location() #12
  %29919 = load i32, ptr %29918, align 4, !tbaa !5
  %29920 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29907, ptr noundef @.str.2, i32 noundef %29908, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1047, ptr noundef %29911, ptr noundef %29914, ptr noundef %29917, i32 noundef %29919) #11
  br label %29938

29921:                                            ; preds = %29899, %29892
  %29922 = load i32, ptr %625, align 4, !tbaa !5
  %29923 = call ptr @__errno_location() #12
  store i32 %29922, ptr %29923, align 4, !tbaa !5
  %29924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29925 = load i32, ptr @test_count, align 4, !tbaa !5
  %29926 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29927 = load i32, ptr %29926, align 4, !tbaa !5
  %29928 = call ptr @s2n_strerror(i32 noundef %29927, ptr noundef @.str.4)
  %29929 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29930 = load i32, ptr %29929, align 4, !tbaa !5
  %29931 = call ptr @s2n_strerror_debug(i32 noundef %29930, ptr noundef @.str.4)
  %29932 = call ptr @__errno_location() #12
  %29933 = load i32, ptr %29932, align 4, !tbaa !5
  %29934 = call ptr @strerror(i32 noundef %29933) #11
  %29935 = call ptr @__errno_location() #12
  %29936 = load i32, ptr %29935, align 4, !tbaa !5
  %29937 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29924, ptr noundef @.str.5, i32 noundef %29925, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1047, ptr noundef %29928, ptr noundef %29931, ptr noundef %29934, i32 noundef %29936) #11
  br label %29938

29938:                                            ; preds = %29921, %29904
  call void @llvm.lifetime.end.p0(i64 4, ptr %625) #11
  br label %29939

29939:                                            ; preds = %29938
  br label %29940

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

29941:                                            ; No predecessors!
  br label %29942

29942:                                            ; preds = %29941
  br label %29943

29943:                                            ; preds = %29942, %29883
  br label %29944

29944:                                            ; preds = %29943
  br label %29945

29945:                                            ; preds = %29944
  br label %29946

29946:                                            ; preds = %29945
  %29947 = load i32, ptr @test_count, align 4, !tbaa !5
  %29948 = add nsw i32 %29947, 1
  store i32 %29948, ptr @test_count, align 4, !tbaa !5
  %29949 = load i32, ptr %623, align 4, !tbaa !5
  %29950 = icmp eq i32 %29949, 0
  br i1 %29950, label %30004, label %29951

29951:                                            ; preds = %29946
  br label %29952

29952:                                            ; preds = %29951
  br label %29953

29953:                                            ; preds = %29952
  call void @llvm.lifetime.start.p0(i64 4, ptr %626) #11
  %29954 = call ptr @__errno_location() #12
  %29955 = load i32, ptr %29954, align 4, !tbaa !5
  store i32 %29955, ptr %626, align 4, !tbaa !5
  %29956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29957 = call i32 @s2n_print_stacktrace(ptr noundef %29956)
  %29958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %29959 = trunc i8 %29958 to i1
  br i1 %29959, label %29960, label %29982

29960:                                            ; preds = %29953
  %29961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29962 = call i32 @fileno(ptr noundef %29961) #11
  %29963 = call i32 @isatty(i32 noundef %29962) #11
  %29964 = icmp ne i32 %29963, 0
  br i1 %29964, label %29965, label %29982

29965:                                            ; preds = %29960
  %29966 = load i32, ptr %626, align 4, !tbaa !5
  %29967 = call ptr @__errno_location() #12
  store i32 %29966, ptr %29967, align 4, !tbaa !5
  %29968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29969 = load i32, ptr @test_count, align 4, !tbaa !5
  %29970 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29971 = load i32, ptr %29970, align 4, !tbaa !5
  %29972 = call ptr @s2n_strerror(i32 noundef %29971, ptr noundef @.str.4)
  %29973 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29974 = load i32, ptr %29973, align 4, !tbaa !5
  %29975 = call ptr @s2n_strerror_debug(i32 noundef %29974, ptr noundef @.str.4)
  %29976 = call ptr @__errno_location() #12
  %29977 = load i32, ptr %29976, align 4, !tbaa !5
  %29978 = call ptr @strerror(i32 noundef %29977) #11
  %29979 = call ptr @__errno_location() #12
  %29980 = load i32, ptr %29979, align 4, !tbaa !5
  %29981 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29968, ptr noundef @.str.2, i32 noundef %29969, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %29972, ptr noundef %29975, ptr noundef %29978, i32 noundef %29980) #11
  br label %29999

29982:                                            ; preds = %29960, %29953
  %29983 = load i32, ptr %626, align 4, !tbaa !5
  %29984 = call ptr @__errno_location() #12
  store i32 %29983, ptr %29984, align 4, !tbaa !5
  %29985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %29986 = load i32, ptr @test_count, align 4, !tbaa !5
  %29987 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29988 = load i32, ptr %29987, align 4, !tbaa !5
  %29989 = call ptr @s2n_strerror(i32 noundef %29988, ptr noundef @.str.4)
  %29990 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %29991 = load i32, ptr %29990, align 4, !tbaa !5
  %29992 = call ptr @s2n_strerror_debug(i32 noundef %29991, ptr noundef @.str.4)
  %29993 = call ptr @__errno_location() #12
  %29994 = load i32, ptr %29993, align 4, !tbaa !5
  %29995 = call ptr @strerror(i32 noundef %29994) #11
  %29996 = call ptr @__errno_location() #12
  %29997 = load i32, ptr %29996, align 4, !tbaa !5
  %29998 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %29985, ptr noundef @.str.5, i32 noundef %29986, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %29989, ptr noundef %29992, ptr noundef %29995, i32 noundef %29997) #11
  br label %29999

29999:                                            ; preds = %29982, %29965
  call void @llvm.lifetime.end.p0(i64 4, ptr %626) #11
  br label %30000

30000:                                            ; preds = %29999
  br label %30001

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

30002:                                            ; No predecessors!
  br label %30003

30003:                                            ; preds = %30002
  br label %30004

30004:                                            ; preds = %30003, %29946
  br label %30005

30005:                                            ; preds = %30004
  br label %30006

30006:                                            ; preds = %30005
  br label %30007

30007:                                            ; preds = %30006
  %30008 = load i32, ptr @test_count, align 4, !tbaa !5
  %30009 = add nsw i32 %30008, 1
  store i32 %30009, ptr @test_count, align 4, !tbaa !5
  %30010 = load ptr, ptr %608, align 8, !tbaa !9
  %30011 = call i32 @s2n_conn_get_current_message_type(ptr noundef %30010)
  %30012 = icmp eq i32 %30011, 0
  br i1 %30012, label %30066, label %30013

30013:                                            ; preds = %30007
  br label %30014

30014:                                            ; preds = %30013
  br label %30015

30015:                                            ; preds = %30014
  call void @llvm.lifetime.start.p0(i64 4, ptr %627) #11
  %30016 = call ptr @__errno_location() #12
  %30017 = load i32, ptr %30016, align 4, !tbaa !5
  store i32 %30017, ptr %627, align 4, !tbaa !5
  %30018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30019 = call i32 @s2n_print_stacktrace(ptr noundef %30018)
  %30020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30021 = trunc i8 %30020 to i1
  br i1 %30021, label %30022, label %30044

30022:                                            ; preds = %30015
  %30023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30024 = call i32 @fileno(ptr noundef %30023) #11
  %30025 = call i32 @isatty(i32 noundef %30024) #11
  %30026 = icmp ne i32 %30025, 0
  br i1 %30026, label %30027, label %30044

30027:                                            ; preds = %30022
  %30028 = load i32, ptr %627, align 4, !tbaa !5
  %30029 = call ptr @__errno_location() #12
  store i32 %30028, ptr %30029, align 4, !tbaa !5
  %30030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30031 = load i32, ptr @test_count, align 4, !tbaa !5
  %30032 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30033 = load i32, ptr %30032, align 4, !tbaa !5
  %30034 = call ptr @s2n_strerror(i32 noundef %30033, ptr noundef @.str.4)
  %30035 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30036 = load i32, ptr %30035, align 4, !tbaa !5
  %30037 = call ptr @s2n_strerror_debug(i32 noundef %30036, ptr noundef @.str.4)
  %30038 = call ptr @__errno_location() #12
  %30039 = load i32, ptr %30038, align 4, !tbaa !5
  %30040 = call ptr @strerror(i32 noundef %30039) #11
  %30041 = call ptr @__errno_location() #12
  %30042 = load i32, ptr %30041, align 4, !tbaa !5
  %30043 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30030, ptr noundef @.str.2, i32 noundef %30031, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %30034, ptr noundef %30037, ptr noundef %30040, i32 noundef %30042) #11
  br label %30061

30044:                                            ; preds = %30022, %30015
  %30045 = load i32, ptr %627, align 4, !tbaa !5
  %30046 = call ptr @__errno_location() #12
  store i32 %30045, ptr %30046, align 4, !tbaa !5
  %30047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30048 = load i32, ptr @test_count, align 4, !tbaa !5
  %30049 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30050 = load i32, ptr %30049, align 4, !tbaa !5
  %30051 = call ptr @s2n_strerror(i32 noundef %30050, ptr noundef @.str.4)
  %30052 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30053 = load i32, ptr %30052, align 4, !tbaa !5
  %30054 = call ptr @s2n_strerror_debug(i32 noundef %30053, ptr noundef @.str.4)
  %30055 = call ptr @__errno_location() #12
  %30056 = load i32, ptr %30055, align 4, !tbaa !5
  %30057 = call ptr @strerror(i32 noundef %30056) #11
  %30058 = call ptr @__errno_location() #12
  %30059 = load i32, ptr %30058, align 4, !tbaa !5
  %30060 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30047, ptr noundef @.str.5, i32 noundef %30048, ptr noundef @.str.105, ptr noundef @.str.1, i32 noundef 1048, ptr noundef %30051, ptr noundef %30054, ptr noundef %30057, i32 noundef %30059) #11
  br label %30061

30061:                                            ; preds = %30044, %30027
  call void @llvm.lifetime.end.p0(i64 4, ptr %627) #11
  br label %30062

30062:                                            ; preds = %30061
  br label %30063

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

30064:                                            ; No predecessors!
  br label %30065

30065:                                            ; preds = %30064
  br label %30066

30066:                                            ; preds = %30065, %30007
  br label %30067

30067:                                            ; preds = %30066
  br label %30068

30068:                                            ; preds = %30067
  br label %30069

30069:                                            ; preds = %30068
  %30070 = load i32, ptr @test_count, align 4, !tbaa !5
  %30071 = add nsw i32 %30070, 1
  store i32 %30071, ptr @test_count, align 4, !tbaa !5
  %30072 = load i64, ptr %624, align 8, !tbaa !42
  %30073 = icmp eq i64 %30072, 0
  br i1 %30073, label %30127, label %30074

30074:                                            ; preds = %30069
  br label %30075

30075:                                            ; preds = %30074
  br label %30076

30076:                                            ; preds = %30075
  call void @llvm.lifetime.start.p0(i64 4, ptr %628) #11
  %30077 = call ptr @__errno_location() #12
  %30078 = load i32, ptr %30077, align 4, !tbaa !5
  store i32 %30078, ptr %628, align 4, !tbaa !5
  %30079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30080 = call i32 @s2n_print_stacktrace(ptr noundef %30079)
  %30081 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30082 = trunc i8 %30081 to i1
  br i1 %30082, label %30083, label %30105

30083:                                            ; preds = %30076
  %30084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30085 = call i32 @fileno(ptr noundef %30084) #11
  %30086 = call i32 @isatty(i32 noundef %30085) #11
  %30087 = icmp ne i32 %30086, 0
  br i1 %30087, label %30088, label %30105

30088:                                            ; preds = %30083
  %30089 = load i32, ptr %628, align 4, !tbaa !5
  %30090 = call ptr @__errno_location() #12
  store i32 %30089, ptr %30090, align 4, !tbaa !5
  %30091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30092 = load i32, ptr @test_count, align 4, !tbaa !5
  %30093 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30094 = load i32, ptr %30093, align 4, !tbaa !5
  %30095 = call ptr @s2n_strerror(i32 noundef %30094, ptr noundef @.str.4)
  %30096 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30097 = load i32, ptr %30096, align 4, !tbaa !5
  %30098 = call ptr @s2n_strerror_debug(i32 noundef %30097, ptr noundef @.str.4)
  %30099 = call ptr @__errno_location() #12
  %30100 = load i32, ptr %30099, align 4, !tbaa !5
  %30101 = call ptr @strerror(i32 noundef %30100) #11
  %30102 = call ptr @__errno_location() #12
  %30103 = load i32, ptr %30102, align 4, !tbaa !5
  %30104 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30091, ptr noundef @.str.2, i32 noundef %30092, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1049, ptr noundef %30095, ptr noundef %30098, ptr noundef %30101, i32 noundef %30103) #11
  br label %30122

30105:                                            ; preds = %30083, %30076
  %30106 = load i32, ptr %628, align 4, !tbaa !5
  %30107 = call ptr @__errno_location() #12
  store i32 %30106, ptr %30107, align 4, !tbaa !5
  %30108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30109 = load i32, ptr @test_count, align 4, !tbaa !5
  %30110 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30111 = load i32, ptr %30110, align 4, !tbaa !5
  %30112 = call ptr @s2n_strerror(i32 noundef %30111, ptr noundef @.str.4)
  %30113 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30114 = load i32, ptr %30113, align 4, !tbaa !5
  %30115 = call ptr @s2n_strerror_debug(i32 noundef %30114, ptr noundef @.str.4)
  %30116 = call ptr @__errno_location() #12
  %30117 = load i32, ptr %30116, align 4, !tbaa !5
  %30118 = call ptr @strerror(i32 noundef %30117) #11
  %30119 = call ptr @__errno_location() #12
  %30120 = load i32, ptr %30119, align 4, !tbaa !5
  %30121 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30108, ptr noundef @.str.5, i32 noundef %30109, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1049, ptr noundef %30112, ptr noundef %30115, ptr noundef %30118, i32 noundef %30120) #11
  br label %30122

30122:                                            ; preds = %30105, %30088
  call void @llvm.lifetime.end.p0(i64 4, ptr %628) #11
  br label %30123

30123:                                            ; preds = %30122
  br label %30124

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

30125:                                            ; No predecessors!
  br label %30126

30126:                                            ; preds = %30125
  br label %30127

30127:                                            ; preds = %30126, %30069
  br label %30128

30128:                                            ; preds = %30127
  br label %30129

30129:                                            ; preds = %30128
  br label %30130

30130:                                            ; preds = %30129
  br label %30131

30131:                                            ; preds = %30130
  br label %30132

30132:                                            ; preds = %30131
  %30133 = load i32, ptr @test_count, align 4, !tbaa !5
  %30134 = add nsw i32 %30133, 1
  store i32 %30134, ptr @test_count, align 4, !tbaa !5
  %30135 = load ptr, ptr %608, align 8, !tbaa !9
  %30136 = call i32 @s2n_negotiate(ptr noundef %30135, ptr noundef %623)
  %30137 = icmp eq i32 %30136, -1
  br i1 %30137, label %30191, label %30138

30138:                                            ; preds = %30132
  br label %30139

30139:                                            ; preds = %30138
  br label %30140

30140:                                            ; preds = %30139
  call void @llvm.lifetime.start.p0(i64 4, ptr %629) #11
  %30141 = call ptr @__errno_location() #12
  %30142 = load i32, ptr %30141, align 4, !tbaa !5
  store i32 %30142, ptr %629, align 4, !tbaa !5
  %30143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30144 = call i32 @s2n_print_stacktrace(ptr noundef %30143)
  %30145 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30146 = trunc i8 %30145 to i1
  br i1 %30146, label %30147, label %30169

30147:                                            ; preds = %30140
  %30148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30149 = call i32 @fileno(ptr noundef %30148) #11
  %30150 = call i32 @isatty(i32 noundef %30149) #11
  %30151 = icmp ne i32 %30150, 0
  br i1 %30151, label %30152, label %30169

30152:                                            ; preds = %30147
  %30153 = load i32, ptr %629, align 4, !tbaa !5
  %30154 = call ptr @__errno_location() #12
  store i32 %30153, ptr %30154, align 4, !tbaa !5
  %30155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30156 = load i32, ptr @test_count, align 4, !tbaa !5
  %30157 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30158 = load i32, ptr %30157, align 4, !tbaa !5
  %30159 = call ptr @s2n_strerror(i32 noundef %30158, ptr noundef @.str.4)
  %30160 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30161 = load i32, ptr %30160, align 4, !tbaa !5
  %30162 = call ptr @s2n_strerror_debug(i32 noundef %30161, ptr noundef @.str.4)
  %30163 = call ptr @__errno_location() #12
  %30164 = load i32, ptr %30163, align 4, !tbaa !5
  %30165 = call ptr @strerror(i32 noundef %30164) #11
  %30166 = call ptr @__errno_location() #12
  %30167 = load i32, ptr %30166, align 4, !tbaa !5
  %30168 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30155, ptr noundef @.str.2, i32 noundef %30156, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %30159, ptr noundef %30162, ptr noundef %30165, i32 noundef %30167) #11
  br label %30186

30169:                                            ; preds = %30147, %30140
  %30170 = load i32, ptr %629, align 4, !tbaa !5
  %30171 = call ptr @__errno_location() #12
  store i32 %30170, ptr %30171, align 4, !tbaa !5
  %30172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30173 = load i32, ptr @test_count, align 4, !tbaa !5
  %30174 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30175 = load i32, ptr %30174, align 4, !tbaa !5
  %30176 = call ptr @s2n_strerror(i32 noundef %30175, ptr noundef @.str.4)
  %30177 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30178 = load i32, ptr %30177, align 4, !tbaa !5
  %30179 = call ptr @s2n_strerror_debug(i32 noundef %30178, ptr noundef @.str.4)
  %30180 = call ptr @__errno_location() #12
  %30181 = load i32, ptr %30180, align 4, !tbaa !5
  %30182 = call ptr @strerror(i32 noundef %30181) #11
  %30183 = call ptr @__errno_location() #12
  %30184 = load i32, ptr %30183, align 4, !tbaa !5
  %30185 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30172, ptr noundef @.str.5, i32 noundef %30173, ptr noundef @.str.143, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %30176, ptr noundef %30179, ptr noundef %30182, i32 noundef %30184) #11
  br label %30186

30186:                                            ; preds = %30169, %30152
  call void @llvm.lifetime.end.p0(i64 4, ptr %629) #11
  br label %30187

30187:                                            ; preds = %30186
  br label %30188

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

30189:                                            ; No predecessors!
  br label %30190

30190:                                            ; preds = %30189
  br label %30191

30191:                                            ; preds = %30190, %30132
  br label %30192

30192:                                            ; preds = %30191
  br label %30193

30193:                                            ; preds = %30192
  br label %30194

30194:                                            ; preds = %30193
  %30195 = load i32, ptr @test_count, align 4, !tbaa !5
  %30196 = add nsw i32 %30195, 1
  store i32 %30196, ptr @test_count, align 4, !tbaa !5
  %30197 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30198 = load i32, ptr %30197, align 4, !tbaa !5
  %30199 = icmp eq i32 %30198, 201326592
  br i1 %30199, label %30253, label %30200

30200:                                            ; preds = %30194
  br label %30201

30201:                                            ; preds = %30200
  br label %30202

30202:                                            ; preds = %30201
  call void @llvm.lifetime.start.p0(i64 4, ptr %630) #11
  %30203 = call ptr @__errno_location() #12
  %30204 = load i32, ptr %30203, align 4, !tbaa !5
  store i32 %30204, ptr %630, align 4, !tbaa !5
  %30205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30206 = call i32 @s2n_print_stacktrace(ptr noundef %30205)
  %30207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30208 = trunc i8 %30207 to i1
  br i1 %30208, label %30209, label %30231

30209:                                            ; preds = %30202
  %30210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30211 = call i32 @fileno(ptr noundef %30210) #11
  %30212 = call i32 @isatty(i32 noundef %30211) #11
  %30213 = icmp ne i32 %30212, 0
  br i1 %30213, label %30214, label %30231

30214:                                            ; preds = %30209
  %30215 = load i32, ptr %630, align 4, !tbaa !5
  %30216 = call ptr @__errno_location() #12
  store i32 %30215, ptr %30216, align 4, !tbaa !5
  %30217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30218 = load i32, ptr @test_count, align 4, !tbaa !5
  %30219 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30220 = load i32, ptr %30219, align 4, !tbaa !5
  %30221 = call ptr @s2n_strerror(i32 noundef %30220, ptr noundef @.str.4)
  %30222 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30223 = load i32, ptr %30222, align 4, !tbaa !5
  %30224 = call ptr @s2n_strerror_debug(i32 noundef %30223, ptr noundef @.str.4)
  %30225 = call ptr @__errno_location() #12
  %30226 = load i32, ptr %30225, align 4, !tbaa !5
  %30227 = call ptr @strerror(i32 noundef %30226) #11
  %30228 = call ptr @__errno_location() #12
  %30229 = load i32, ptr %30228, align 4, !tbaa !5
  %30230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30217, ptr noundef @.str.2, i32 noundef %30218, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %30221, ptr noundef %30224, ptr noundef %30227, i32 noundef %30229) #11
  br label %30248

30231:                                            ; preds = %30209, %30202
  %30232 = load i32, ptr %630, align 4, !tbaa !5
  %30233 = call ptr @__errno_location() #12
  store i32 %30232, ptr %30233, align 4, !tbaa !5
  %30234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30235 = load i32, ptr @test_count, align 4, !tbaa !5
  %30236 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30237 = load i32, ptr %30236, align 4, !tbaa !5
  %30238 = call ptr @s2n_strerror(i32 noundef %30237, ptr noundef @.str.4)
  %30239 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30240 = load i32, ptr %30239, align 4, !tbaa !5
  %30241 = call ptr @s2n_strerror_debug(i32 noundef %30240, ptr noundef @.str.4)
  %30242 = call ptr @__errno_location() #12
  %30243 = load i32, ptr %30242, align 4, !tbaa !5
  %30244 = call ptr @strerror(i32 noundef %30243) #11
  %30245 = call ptr @__errno_location() #12
  %30246 = load i32, ptr %30245, align 4, !tbaa !5
  %30247 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30234, ptr noundef @.str.5, i32 noundef %30235, ptr noundef @.str.61, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %30238, ptr noundef %30241, ptr noundef %30244, i32 noundef %30246) #11
  br label %30248

30248:                                            ; preds = %30231, %30214
  call void @llvm.lifetime.end.p0(i64 4, ptr %630) #11
  br label %30249

30249:                                            ; preds = %30248
  br label %30250

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

30251:                                            ; No predecessors!
  br label %30252

30252:                                            ; preds = %30251
  br label %30253

30253:                                            ; preds = %30252, %30194
  br label %30254

30254:                                            ; preds = %30253
  br label %30255

30255:                                            ; preds = %30254
  br label %30256

30256:                                            ; preds = %30255
  %30257 = load i32, ptr @test_count, align 4, !tbaa !5
  %30258 = add nsw i32 %30257, 1
  store i32 %30258, ptr @test_count, align 4, !tbaa !5
  %30259 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30260 = load i32, ptr %30259, align 4, !tbaa !5
  %30261 = call ptr @s2n_strerror_debug(i32 noundef %30260, ptr noundef @.str.4)
  %30262 = icmp eq ptr %30261, null
  br i1 %30262, label %30263, label %30316

30263:                                            ; preds = %30256
  br label %30264

30264:                                            ; preds = %30263
  br label %30265

30265:                                            ; preds = %30264
  call void @llvm.lifetime.start.p0(i64 4, ptr %631) #11
  %30266 = call ptr @__errno_location() #12
  %30267 = load i32, ptr %30266, align 4, !tbaa !5
  store i32 %30267, ptr %631, align 4, !tbaa !5
  %30268 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30269 = call i32 @s2n_print_stacktrace(ptr noundef %30268)
  %30270 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30271 = trunc i8 %30270 to i1
  br i1 %30271, label %30272, label %30294

30272:                                            ; preds = %30265
  %30273 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30274 = call i32 @fileno(ptr noundef %30273) #11
  %30275 = call i32 @isatty(i32 noundef %30274) #11
  %30276 = icmp ne i32 %30275, 0
  br i1 %30276, label %30277, label %30294

30277:                                            ; preds = %30272
  %30278 = load i32, ptr %631, align 4, !tbaa !5
  %30279 = call ptr @__errno_location() #12
  store i32 %30278, ptr %30279, align 4, !tbaa !5
  %30280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30281 = load i32, ptr @test_count, align 4, !tbaa !5
  %30282 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30283 = load i32, ptr %30282, align 4, !tbaa !5
  %30284 = call ptr @s2n_strerror(i32 noundef %30283, ptr noundef @.str.4)
  %30285 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30286 = load i32, ptr %30285, align 4, !tbaa !5
  %30287 = call ptr @s2n_strerror_debug(i32 noundef %30286, ptr noundef @.str.4)
  %30288 = call ptr @__errno_location() #12
  %30289 = load i32, ptr %30288, align 4, !tbaa !5
  %30290 = call ptr @strerror(i32 noundef %30289) #11
  %30291 = call ptr @__errno_location() #12
  %30292 = load i32, ptr %30291, align 4, !tbaa !5
  %30293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30280, ptr noundef @.str.2, i32 noundef %30281, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %30284, ptr noundef %30287, ptr noundef %30290, i32 noundef %30292) #11
  br label %30311

30294:                                            ; preds = %30272, %30265
  %30295 = load i32, ptr %631, align 4, !tbaa !5
  %30296 = call ptr @__errno_location() #12
  store i32 %30295, ptr %30296, align 4, !tbaa !5
  %30297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30298 = load i32, ptr @test_count, align 4, !tbaa !5
  %30299 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30300 = load i32, ptr %30299, align 4, !tbaa !5
  %30301 = call ptr @s2n_strerror(i32 noundef %30300, ptr noundef @.str.4)
  %30302 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30303 = load i32, ptr %30302, align 4, !tbaa !5
  %30304 = call ptr @s2n_strerror_debug(i32 noundef %30303, ptr noundef @.str.4)
  %30305 = call ptr @__errno_location() #12
  %30306 = load i32, ptr %30305, align 4, !tbaa !5
  %30307 = call ptr @strerror(i32 noundef %30306) #11
  %30308 = call ptr @__errno_location() #12
  %30309 = load i32, ptr %30308, align 4, !tbaa !5
  %30310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30297, ptr noundef @.str.5, i32 noundef %30298, ptr noundef @.str.25, ptr noundef @.str.1, i32 noundef 1051, ptr noundef %30301, ptr noundef %30304, ptr noundef %30307, i32 noundef %30309) #11
  br label %30311

30311:                                            ; preds = %30294, %30277
  call void @llvm.lifetime.end.p0(i64 4, ptr %631) #11
  br label %30312

30312:                                            ; preds = %30311
  br label %30313

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

30314:                                            ; No predecessors!
  br label %30315

30315:                                            ; preds = %30314
  br label %30316

30316:                                            ; preds = %30315, %30256
  br label %30317

30317:                                            ; preds = %30316
  br label %30318

30318:                                            ; preds = %30317
  br label %30319

30319:                                            ; preds = %30318
  br label %30320

30320:                                            ; preds = %30319
  br label %30321

30321:                                            ; preds = %30320
  %30322 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  store i32 0, ptr %30322, align 4, !tbaa !5
  call void @s2n_debug_info_reset()
  %30323 = call ptr @__errno_location() #12
  store i32 0, ptr %30323, align 4, !tbaa !5
  br label %30324

30324:                                            ; preds = %30321
  br label %30325

30325:                                            ; preds = %30324
  br label %30326

30326:                                            ; preds = %30325
  br label %30327

30327:                                            ; preds = %30326
  br label %30328

30328:                                            ; preds = %30327
  %30329 = load i32, ptr @test_count, align 4, !tbaa !5
  %30330 = add nsw i32 %30329, 1
  store i32 %30330, ptr @test_count, align 4, !tbaa !5
  %30331 = load i32, ptr %623, align 4, !tbaa !5
  %30332 = icmp eq i32 %30331, 1
  br i1 %30332, label %30386, label %30333

30333:                                            ; preds = %30328
  br label %30334

30334:                                            ; preds = %30333
  br label %30335

30335:                                            ; preds = %30334
  call void @llvm.lifetime.start.p0(i64 4, ptr %632) #11
  %30336 = call ptr @__errno_location() #12
  %30337 = load i32, ptr %30336, align 4, !tbaa !5
  store i32 %30337, ptr %632, align 4, !tbaa !5
  %30338 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30339 = call i32 @s2n_print_stacktrace(ptr noundef %30338)
  %30340 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30341 = trunc i8 %30340 to i1
  br i1 %30341, label %30342, label %30364

30342:                                            ; preds = %30335
  %30343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30344 = call i32 @fileno(ptr noundef %30343) #11
  %30345 = call i32 @isatty(i32 noundef %30344) #11
  %30346 = icmp ne i32 %30345, 0
  br i1 %30346, label %30347, label %30364

30347:                                            ; preds = %30342
  %30348 = load i32, ptr %632, align 4, !tbaa !5
  %30349 = call ptr @__errno_location() #12
  store i32 %30348, ptr %30349, align 4, !tbaa !5
  %30350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30351 = load i32, ptr @test_count, align 4, !tbaa !5
  %30352 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30353 = load i32, ptr %30352, align 4, !tbaa !5
  %30354 = call ptr @s2n_strerror(i32 noundef %30353, ptr noundef @.str.4)
  %30355 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30356 = load i32, ptr %30355, align 4, !tbaa !5
  %30357 = call ptr @s2n_strerror_debug(i32 noundef %30356, ptr noundef @.str.4)
  %30358 = call ptr @__errno_location() #12
  %30359 = load i32, ptr %30358, align 4, !tbaa !5
  %30360 = call ptr @strerror(i32 noundef %30359) #11
  %30361 = call ptr @__errno_location() #12
  %30362 = load i32, ptr %30361, align 4, !tbaa !5
  %30363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30350, ptr noundef @.str.2, i32 noundef %30351, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %30354, ptr noundef %30357, ptr noundef %30360, i32 noundef %30362) #11
  br label %30381

30364:                                            ; preds = %30342, %30335
  %30365 = load i32, ptr %632, align 4, !tbaa !5
  %30366 = call ptr @__errno_location() #12
  store i32 %30365, ptr %30366, align 4, !tbaa !5
  %30367 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30368 = load i32, ptr @test_count, align 4, !tbaa !5
  %30369 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30370 = load i32, ptr %30369, align 4, !tbaa !5
  %30371 = call ptr @s2n_strerror(i32 noundef %30370, ptr noundef @.str.4)
  %30372 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30373 = load i32, ptr %30372, align 4, !tbaa !5
  %30374 = call ptr @s2n_strerror_debug(i32 noundef %30373, ptr noundef @.str.4)
  %30375 = call ptr @__errno_location() #12
  %30376 = load i32, ptr %30375, align 4, !tbaa !5
  %30377 = call ptr @strerror(i32 noundef %30376) #11
  %30378 = call ptr @__errno_location() #12
  %30379 = load i32, ptr %30378, align 4, !tbaa !5
  %30380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30367, ptr noundef @.str.5, i32 noundef %30368, ptr noundef @.str.62, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %30371, ptr noundef %30374, ptr noundef %30377, i32 noundef %30379) #11
  br label %30381

30381:                                            ; preds = %30364, %30347
  call void @llvm.lifetime.end.p0(i64 4, ptr %632) #11
  br label %30382

30382:                                            ; preds = %30381
  br label %30383

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

30384:                                            ; No predecessors!
  br label %30385

30385:                                            ; preds = %30384
  br label %30386

30386:                                            ; preds = %30385, %30328
  br label %30387

30387:                                            ; preds = %30386
  br label %30388

30388:                                            ; preds = %30387
  br label %30389

30389:                                            ; preds = %30388
  %30390 = load i32, ptr @test_count, align 4, !tbaa !5
  %30391 = add nsw i32 %30390, 1
  store i32 %30391, ptr @test_count, align 4, !tbaa !5
  %30392 = load ptr, ptr %608, align 8, !tbaa !9
  %30393 = call i32 @s2n_conn_get_current_message_type(ptr noundef %30392)
  %30394 = icmp eq i32 %30393, 13
  br i1 %30394, label %30448, label %30395

30395:                                            ; preds = %30389
  br label %30396

30396:                                            ; preds = %30395
  br label %30397

30397:                                            ; preds = %30396
  call void @llvm.lifetime.start.p0(i64 4, ptr %633) #11
  %30398 = call ptr @__errno_location() #12
  %30399 = load i32, ptr %30398, align 4, !tbaa !5
  store i32 %30399, ptr %633, align 4, !tbaa !5
  %30400 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30401 = call i32 @s2n_print_stacktrace(ptr noundef %30400)
  %30402 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30403 = trunc i8 %30402 to i1
  br i1 %30403, label %30404, label %30426

30404:                                            ; preds = %30397
  %30405 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30406 = call i32 @fileno(ptr noundef %30405) #11
  %30407 = call i32 @isatty(i32 noundef %30406) #11
  %30408 = icmp ne i32 %30407, 0
  br i1 %30408, label %30409, label %30426

30409:                                            ; preds = %30404
  %30410 = load i32, ptr %633, align 4, !tbaa !5
  %30411 = call ptr @__errno_location() #12
  store i32 %30410, ptr %30411, align 4, !tbaa !5
  %30412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30413 = load i32, ptr @test_count, align 4, !tbaa !5
  %30414 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30415 = load i32, ptr %30414, align 4, !tbaa !5
  %30416 = call ptr @s2n_strerror(i32 noundef %30415, ptr noundef @.str.4)
  %30417 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30418 = load i32, ptr %30417, align 4, !tbaa !5
  %30419 = call ptr @s2n_strerror_debug(i32 noundef %30418, ptr noundef @.str.4)
  %30420 = call ptr @__errno_location() #12
  %30421 = load i32, ptr %30420, align 4, !tbaa !5
  %30422 = call ptr @strerror(i32 noundef %30421) #11
  %30423 = call ptr @__errno_location() #12
  %30424 = load i32, ptr %30423, align 4, !tbaa !5
  %30425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30412, ptr noundef @.str.2, i32 noundef %30413, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %30416, ptr noundef %30419, ptr noundef %30422, i32 noundef %30424) #11
  br label %30443

30426:                                            ; preds = %30404, %30397
  %30427 = load i32, ptr %633, align 4, !tbaa !5
  %30428 = call ptr @__errno_location() #12
  store i32 %30427, ptr %30428, align 4, !tbaa !5
  %30429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30430 = load i32, ptr @test_count, align 4, !tbaa !5
  %30431 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30432 = load i32, ptr %30431, align 4, !tbaa !5
  %30433 = call ptr @s2n_strerror(i32 noundef %30432, ptr noundef @.str.4)
  %30434 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30435 = load i32, ptr %30434, align 4, !tbaa !5
  %30436 = call ptr @s2n_strerror_debug(i32 noundef %30435, ptr noundef @.str.4)
  %30437 = call ptr @__errno_location() #12
  %30438 = load i32, ptr %30437, align 4, !tbaa !5
  %30439 = call ptr @strerror(i32 noundef %30438) #11
  %30440 = call ptr @__errno_location() #12
  %30441 = load i32, ptr %30440, align 4, !tbaa !5
  %30442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30429, ptr noundef @.str.5, i32 noundef %30430, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1052, ptr noundef %30433, ptr noundef %30436, ptr noundef %30439, i32 noundef %30441) #11
  br label %30443

30443:                                            ; preds = %30426, %30409
  call void @llvm.lifetime.end.p0(i64 4, ptr %633) #11
  br label %30444

30444:                                            ; preds = %30443
  br label %30445

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

30446:                                            ; No predecessors!
  br label %30447

30447:                                            ; preds = %30446
  br label %30448

30448:                                            ; preds = %30447, %30389
  br label %30449

30449:                                            ; preds = %30448
  br label %30450

30450:                                            ; preds = %30449
  br label %30451

30451:                                            ; preds = %30450
  %30452 = load i32, ptr @test_count, align 4, !tbaa !5
  %30453 = add nsw i32 %30452, 1
  store i32 %30453, ptr @test_count, align 4, !tbaa !5
  %30454 = load ptr, ptr %608, align 8, !tbaa !9
  %30455 = getelementptr inbounds %struct.s2n_connection, ptr %30454, i32 0, i32 89
  %30456 = load i32, ptr %30455, align 8, !tbaa !57
  %30457 = icmp eq i32 %30456, 4
  br i1 %30457, label %30511, label %30458

30458:                                            ; preds = %30451
  br label %30459

30459:                                            ; preds = %30458
  br label %30460

30460:                                            ; preds = %30459
  call void @llvm.lifetime.start.p0(i64 4, ptr %634) #11
  %30461 = call ptr @__errno_location() #12
  %30462 = load i32, ptr %30461, align 4, !tbaa !5
  store i32 %30462, ptr %634, align 4, !tbaa !5
  %30463 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30464 = call i32 @s2n_print_stacktrace(ptr noundef %30463)
  %30465 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30466 = trunc i8 %30465 to i1
  br i1 %30466, label %30467, label %30489

30467:                                            ; preds = %30460
  %30468 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30469 = call i32 @fileno(ptr noundef %30468) #11
  %30470 = call i32 @isatty(i32 noundef %30469) #11
  %30471 = icmp ne i32 %30470, 0
  br i1 %30471, label %30472, label %30489

30472:                                            ; preds = %30467
  %30473 = load i32, ptr %634, align 4, !tbaa !5
  %30474 = call ptr @__errno_location() #12
  store i32 %30473, ptr %30474, align 4, !tbaa !5
  %30475 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30476 = load i32, ptr @test_count, align 4, !tbaa !5
  %30477 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30478 = load i32, ptr %30477, align 4, !tbaa !5
  %30479 = call ptr @s2n_strerror(i32 noundef %30478, ptr noundef @.str.4)
  %30480 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30481 = load i32, ptr %30480, align 4, !tbaa !5
  %30482 = call ptr @s2n_strerror_debug(i32 noundef %30481, ptr noundef @.str.4)
  %30483 = call ptr @__errno_location() #12
  %30484 = load i32, ptr %30483, align 4, !tbaa !5
  %30485 = call ptr @strerror(i32 noundef %30484) #11
  %30486 = call ptr @__errno_location() #12
  %30487 = load i32, ptr %30486, align 4, !tbaa !5
  %30488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30475, ptr noundef @.str.2, i32 noundef %30476, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 1053, ptr noundef %30479, ptr noundef %30482, ptr noundef %30485, i32 noundef %30487) #11
  br label %30506

30489:                                            ; preds = %30467, %30460
  %30490 = load i32, ptr %634, align 4, !tbaa !5
  %30491 = call ptr @__errno_location() #12
  store i32 %30490, ptr %30491, align 4, !tbaa !5
  %30492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30493 = load i32, ptr @test_count, align 4, !tbaa !5
  %30494 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30495 = load i32, ptr %30494, align 4, !tbaa !5
  %30496 = call ptr @s2n_strerror(i32 noundef %30495, ptr noundef @.str.4)
  %30497 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30498 = load i32, ptr %30497, align 4, !tbaa !5
  %30499 = call ptr @s2n_strerror_debug(i32 noundef %30498, ptr noundef @.str.4)
  %30500 = call ptr @__errno_location() #12
  %30501 = load i32, ptr %30500, align 4, !tbaa !5
  %30502 = call ptr @strerror(i32 noundef %30501) #11
  %30503 = call ptr @__errno_location() #12
  %30504 = load i32, ptr %30503, align 4, !tbaa !5
  %30505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30492, ptr noundef @.str.5, i32 noundef %30493, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 1053, ptr noundef %30496, ptr noundef %30499, ptr noundef %30502, i32 noundef %30504) #11
  br label %30506

30506:                                            ; preds = %30489, %30472
  call void @llvm.lifetime.end.p0(i64 4, ptr %634) #11
  br label %30507

30507:                                            ; preds = %30506
  br label %30508

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

30509:                                            ; No predecessors!
  br label %30510

30510:                                            ; preds = %30509
  br label %30511

30511:                                            ; preds = %30510, %30451
  br label %30512

30512:                                            ; preds = %30511
  br label %30513

30513:                                            ; preds = %30512
  br label %30514

30514:                                            ; preds = %30513
  %30515 = load i32, ptr @test_count, align 4, !tbaa !5
  %30516 = add nsw i32 %30515, 1
  store i32 %30516, ptr @test_count, align 4, !tbaa !5
  %30517 = call i32 @s2n_stuffer_free(ptr noundef %614)
  %30518 = icmp eq i32 %30517, -1
  br i1 %30518, label %30519, label %30572

30519:                                            ; preds = %30514
  br label %30520

30520:                                            ; preds = %30519
  br label %30521

30521:                                            ; preds = %30520
  call void @llvm.lifetime.start.p0(i64 4, ptr %635) #11
  %30522 = call ptr @__errno_location() #12
  %30523 = load i32, ptr %30522, align 4, !tbaa !5
  store i32 %30523, ptr %635, align 4, !tbaa !5
  %30524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30525 = call i32 @s2n_print_stacktrace(ptr noundef %30524)
  %30526 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30527 = trunc i8 %30526 to i1
  br i1 %30527, label %30528, label %30550

30528:                                            ; preds = %30521
  %30529 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30530 = call i32 @fileno(ptr noundef %30529) #11
  %30531 = call i32 @isatty(i32 noundef %30530) #11
  %30532 = icmp ne i32 %30531, 0
  br i1 %30532, label %30533, label %30550

30533:                                            ; preds = %30528
  %30534 = load i32, ptr %635, align 4, !tbaa !5
  %30535 = call ptr @__errno_location() #12
  store i32 %30534, ptr %30535, align 4, !tbaa !5
  %30536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30537 = load i32, ptr @test_count, align 4, !tbaa !5
  %30538 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30539 = load i32, ptr %30538, align 4, !tbaa !5
  %30540 = call ptr @s2n_strerror(i32 noundef %30539, ptr noundef @.str.4)
  %30541 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30542 = load i32, ptr %30541, align 4, !tbaa !5
  %30543 = call ptr @s2n_strerror_debug(i32 noundef %30542, ptr noundef @.str.4)
  %30544 = call ptr @__errno_location() #12
  %30545 = load i32, ptr %30544, align 4, !tbaa !5
  %30546 = call ptr @strerror(i32 noundef %30545) #11
  %30547 = call ptr @__errno_location() #12
  %30548 = load i32, ptr %30547, align 4, !tbaa !5
  %30549 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30536, ptr noundef @.str.2, i32 noundef %30537, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 1055, ptr noundef %30540, ptr noundef %30543, ptr noundef %30546, i32 noundef %30548) #11
  br label %30567

30550:                                            ; preds = %30528, %30521
  %30551 = load i32, ptr %635, align 4, !tbaa !5
  %30552 = call ptr @__errno_location() #12
  store i32 %30551, ptr %30552, align 4, !tbaa !5
  %30553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30554 = load i32, ptr @test_count, align 4, !tbaa !5
  %30555 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30556 = load i32, ptr %30555, align 4, !tbaa !5
  %30557 = call ptr @s2n_strerror(i32 noundef %30556, ptr noundef @.str.4)
  %30558 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30559 = load i32, ptr %30558, align 4, !tbaa !5
  %30560 = call ptr @s2n_strerror_debug(i32 noundef %30559, ptr noundef @.str.4)
  %30561 = call ptr @__errno_location() #12
  %30562 = load i32, ptr %30561, align 4, !tbaa !5
  %30563 = call ptr @strerror(i32 noundef %30562) #11
  %30564 = call ptr @__errno_location() #12
  %30565 = load i32, ptr %30564, align 4, !tbaa !5
  %30566 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30553, ptr noundef @.str.5, i32 noundef %30554, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 1055, ptr noundef %30557, ptr noundef %30560, ptr noundef %30563, i32 noundef %30565) #11
  br label %30567

30567:                                            ; preds = %30550, %30533
  call void @llvm.lifetime.end.p0(i64 4, ptr %635) #11
  br label %30568

30568:                                            ; preds = %30567
  br label %30569

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

30570:                                            ; No predecessors!
  br label %30571

30571:                                            ; preds = %30570
  br label %30572

30572:                                            ; preds = %30571, %30514
  br label %30573

30573:                                            ; preds = %30572
  br label %30574

30574:                                            ; preds = %30573
  br label %30575

30575:                                            ; preds = %30574
  %30576 = load i32, ptr @test_count, align 4, !tbaa !5
  %30577 = add nsw i32 %30576, 1
  store i32 %30577, ptr @test_count, align 4, !tbaa !5
  %30578 = call i32 @s2n_stuffer_free(ptr noundef %615)
  %30579 = icmp eq i32 %30578, -1
  br i1 %30579, label %30580, label %30633

30580:                                            ; preds = %30575
  br label %30581

30581:                                            ; preds = %30580
  br label %30582

30582:                                            ; preds = %30581
  call void @llvm.lifetime.start.p0(i64 4, ptr %636) #11
  %30583 = call ptr @__errno_location() #12
  %30584 = load i32, ptr %30583, align 4, !tbaa !5
  store i32 %30584, ptr %636, align 4, !tbaa !5
  %30585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30586 = call i32 @s2n_print_stacktrace(ptr noundef %30585)
  %30587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30588 = trunc i8 %30587 to i1
  br i1 %30588, label %30589, label %30611

30589:                                            ; preds = %30582
  %30590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30591 = call i32 @fileno(ptr noundef %30590) #11
  %30592 = call i32 @isatty(i32 noundef %30591) #11
  %30593 = icmp ne i32 %30592, 0
  br i1 %30593, label %30594, label %30611

30594:                                            ; preds = %30589
  %30595 = load i32, ptr %636, align 4, !tbaa !5
  %30596 = call ptr @__errno_location() #12
  store i32 %30595, ptr %30596, align 4, !tbaa !5
  %30597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30598 = load i32, ptr @test_count, align 4, !tbaa !5
  %30599 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30600 = load i32, ptr %30599, align 4, !tbaa !5
  %30601 = call ptr @s2n_strerror(i32 noundef %30600, ptr noundef @.str.4)
  %30602 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30603 = load i32, ptr %30602, align 4, !tbaa !5
  %30604 = call ptr @s2n_strerror_debug(i32 noundef %30603, ptr noundef @.str.4)
  %30605 = call ptr @__errno_location() #12
  %30606 = load i32, ptr %30605, align 4, !tbaa !5
  %30607 = call ptr @strerror(i32 noundef %30606) #11
  %30608 = call ptr @__errno_location() #12
  %30609 = load i32, ptr %30608, align 4, !tbaa !5
  %30610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30597, ptr noundef @.str.2, i32 noundef %30598, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 1056, ptr noundef %30601, ptr noundef %30604, ptr noundef %30607, i32 noundef %30609) #11
  br label %30628

30611:                                            ; preds = %30589, %30582
  %30612 = load i32, ptr %636, align 4, !tbaa !5
  %30613 = call ptr @__errno_location() #12
  store i32 %30612, ptr %30613, align 4, !tbaa !5
  %30614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30615 = load i32, ptr @test_count, align 4, !tbaa !5
  %30616 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30617 = load i32, ptr %30616, align 4, !tbaa !5
  %30618 = call ptr @s2n_strerror(i32 noundef %30617, ptr noundef @.str.4)
  %30619 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30620 = load i32, ptr %30619, align 4, !tbaa !5
  %30621 = call ptr @s2n_strerror_debug(i32 noundef %30620, ptr noundef @.str.4)
  %30622 = call ptr @__errno_location() #12
  %30623 = load i32, ptr %30622, align 4, !tbaa !5
  %30624 = call ptr @strerror(i32 noundef %30623) #11
  %30625 = call ptr @__errno_location() #12
  %30626 = load i32, ptr %30625, align 4, !tbaa !5
  %30627 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30614, ptr noundef @.str.5, i32 noundef %30615, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 1056, ptr noundef %30618, ptr noundef %30621, ptr noundef %30624, i32 noundef %30626) #11
  br label %30628

30628:                                            ; preds = %30611, %30594
  call void @llvm.lifetime.end.p0(i64 4, ptr %636) #11
  br label %30629

30629:                                            ; preds = %30628
  br label %30630

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

30631:                                            ; No predecessors!
  br label %30632

30632:                                            ; preds = %30631
  br label %30633

30633:                                            ; preds = %30632, %30575
  br label %30634

30634:                                            ; preds = %30633
  br label %30635

30635:                                            ; preds = %30634
  br label %30636

30636:                                            ; preds = %30635
  %30637 = load i32, ptr @test_count, align 4, !tbaa !5
  %30638 = add nsw i32 %30637, 1
  store i32 %30638, ptr @test_count, align 4, !tbaa !5
  %30639 = load ptr, ptr %608, align 8, !tbaa !9
  %30640 = call i32 @s2n_connection_free(ptr noundef %30639)
  %30641 = icmp eq i32 %30640, -1
  br i1 %30641, label %30642, label %30695

30642:                                            ; preds = %30636
  br label %30643

30643:                                            ; preds = %30642
  br label %30644

30644:                                            ; preds = %30643
  call void @llvm.lifetime.start.p0(i64 4, ptr %637) #11
  %30645 = call ptr @__errno_location() #12
  %30646 = load i32, ptr %30645, align 4, !tbaa !5
  store i32 %30646, ptr %637, align 4, !tbaa !5
  %30647 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30648 = call i32 @s2n_print_stacktrace(ptr noundef %30647)
  %30649 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30650 = trunc i8 %30649 to i1
  br i1 %30650, label %30651, label %30673

30651:                                            ; preds = %30644
  %30652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30653 = call i32 @fileno(ptr noundef %30652) #11
  %30654 = call i32 @isatty(i32 noundef %30653) #11
  %30655 = icmp ne i32 %30654, 0
  br i1 %30655, label %30656, label %30673

30656:                                            ; preds = %30651
  %30657 = load i32, ptr %637, align 4, !tbaa !5
  %30658 = call ptr @__errno_location() #12
  store i32 %30657, ptr %30658, align 4, !tbaa !5
  %30659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30660 = load i32, ptr @test_count, align 4, !tbaa !5
  %30661 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30662 = load i32, ptr %30661, align 4, !tbaa !5
  %30663 = call ptr @s2n_strerror(i32 noundef %30662, ptr noundef @.str.4)
  %30664 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30665 = load i32, ptr %30664, align 4, !tbaa !5
  %30666 = call ptr @s2n_strerror_debug(i32 noundef %30665, ptr noundef @.str.4)
  %30667 = call ptr @__errno_location() #12
  %30668 = load i32, ptr %30667, align 4, !tbaa !5
  %30669 = call ptr @strerror(i32 noundef %30668) #11
  %30670 = call ptr @__errno_location() #12
  %30671 = load i32, ptr %30670, align 4, !tbaa !5
  %30672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30659, ptr noundef @.str.2, i32 noundef %30660, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 1057, ptr noundef %30663, ptr noundef %30666, ptr noundef %30669, i32 noundef %30671) #11
  br label %30690

30673:                                            ; preds = %30651, %30644
  %30674 = load i32, ptr %637, align 4, !tbaa !5
  %30675 = call ptr @__errno_location() #12
  store i32 %30674, ptr %30675, align 4, !tbaa !5
  %30676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30677 = load i32, ptr @test_count, align 4, !tbaa !5
  %30678 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30679 = load i32, ptr %30678, align 4, !tbaa !5
  %30680 = call ptr @s2n_strerror(i32 noundef %30679, ptr noundef @.str.4)
  %30681 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30682 = load i32, ptr %30681, align 4, !tbaa !5
  %30683 = call ptr @s2n_strerror_debug(i32 noundef %30682, ptr noundef @.str.4)
  %30684 = call ptr @__errno_location() #12
  %30685 = load i32, ptr %30684, align 4, !tbaa !5
  %30686 = call ptr @strerror(i32 noundef %30685) #11
  %30687 = call ptr @__errno_location() #12
  %30688 = load i32, ptr %30687, align 4, !tbaa !5
  %30689 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30676, ptr noundef @.str.5, i32 noundef %30677, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 1057, ptr noundef %30680, ptr noundef %30683, ptr noundef %30686, i32 noundef %30688) #11
  br label %30690

30690:                                            ; preds = %30673, %30656
  call void @llvm.lifetime.end.p0(i64 4, ptr %637) #11
  br label %30691

30691:                                            ; preds = %30690
  br label %30692

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

30693:                                            ; No predecessors!
  br label %30694

30694:                                            ; preds = %30693
  br label %30695

30695:                                            ; preds = %30694, %30636
  br label %30696

30696:                                            ; preds = %30695
  br label %30697

30697:                                            ; preds = %30696
  call void @llvm.lifetime.end.p0(i64 8, ptr %624) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %623) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %622) #11
  %30698 = call i32 @s2n_stuffer_free(ptr noundef %615)
  call void @llvm.lifetime.end.p0(i64 40, ptr %615) #11
  %30699 = call i32 @s2n_stuffer_free(ptr noundef %614)
  call void @llvm.lifetime.end.p0(i64 40, ptr %614) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %608) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %607) #11
  call void @llvm.lifetime.end.p0(i64 168, ptr %605) #11
  call void @llvm.lifetime.start.p0(i64 168, ptr %638) #11
  %30700 = load ptr, ptr %491, align 8, !tbaa !9
  call void @llvm.memcpy.p0.p0.i64(ptr align 8 %638, ptr align 8 %30700, i64 168, i1 false), !tbaa.struct !63
  br label %30701

30701:                                            ; preds = %30697
  %30702 = load i32, ptr @test_count, align 4, !tbaa !5
  %30703 = add nsw i32 %30702, 1
  store i32 %30703, ptr @test_count, align 4, !tbaa !5
  %30704 = call i32 @s2n_psk_configure_early_data(ptr noundef %638, i32 noundef 1024, i8 noundef zeroext 19, i8 noundef zeroext 3)
  %30705 = icmp eq i32 %30704, -1
  br i1 %30705, label %30706, label %30759

30706:                                            ; preds = %30701
  br label %30707

30707:                                            ; preds = %30706
  br label %30708

30708:                                            ; preds = %30707
  call void @llvm.lifetime.start.p0(i64 4, ptr %639) #11
  %30709 = call ptr @__errno_location() #12
  %30710 = load i32, ptr %30709, align 4, !tbaa !5
  store i32 %30710, ptr %639, align 4, !tbaa !5
  %30711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30712 = call i32 @s2n_print_stacktrace(ptr noundef %30711)
  %30713 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30714 = trunc i8 %30713 to i1
  br i1 %30714, label %30715, label %30737

30715:                                            ; preds = %30708
  %30716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30717 = call i32 @fileno(ptr noundef %30716) #11
  %30718 = call i32 @isatty(i32 noundef %30717) #11
  %30719 = icmp ne i32 %30718, 0
  br i1 %30719, label %30720, label %30737

30720:                                            ; preds = %30715
  %30721 = load i32, ptr %639, align 4, !tbaa !5
  %30722 = call ptr @__errno_location() #12
  store i32 %30721, ptr %30722, align 4, !tbaa !5
  %30723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30724 = load i32, ptr @test_count, align 4, !tbaa !5
  %30725 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30726 = load i32, ptr %30725, align 4, !tbaa !5
  %30727 = call ptr @s2n_strerror(i32 noundef %30726, ptr noundef @.str.4)
  %30728 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30729 = load i32, ptr %30728, align 4, !tbaa !5
  %30730 = call ptr @s2n_strerror_debug(i32 noundef %30729, ptr noundef @.str.4)
  %30731 = call ptr @__errno_location() #12
  %30732 = load i32, ptr %30731, align 4, !tbaa !5
  %30733 = call ptr @strerror(i32 noundef %30732) #11
  %30734 = call ptr @__errno_location() #12
  %30735 = load i32, ptr %30734, align 4, !tbaa !5
  %30736 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30723, ptr noundef @.str.2, i32 noundef %30724, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 1063, ptr noundef %30727, ptr noundef %30730, ptr noundef %30733, i32 noundef %30735) #11
  br label %30754

30737:                                            ; preds = %30715, %30708
  %30738 = load i32, ptr %639, align 4, !tbaa !5
  %30739 = call ptr @__errno_location() #12
  store i32 %30738, ptr %30739, align 4, !tbaa !5
  %30740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30741 = load i32, ptr @test_count, align 4, !tbaa !5
  %30742 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30743 = load i32, ptr %30742, align 4, !tbaa !5
  %30744 = call ptr @s2n_strerror(i32 noundef %30743, ptr noundef @.str.4)
  %30745 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30746 = load i32, ptr %30745, align 4, !tbaa !5
  %30747 = call ptr @s2n_strerror_debug(i32 noundef %30746, ptr noundef @.str.4)
  %30748 = call ptr @__errno_location() #12
  %30749 = load i32, ptr %30748, align 4, !tbaa !5
  %30750 = call ptr @strerror(i32 noundef %30749) #11
  %30751 = call ptr @__errno_location() #12
  %30752 = load i32, ptr %30751, align 4, !tbaa !5
  %30753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30740, ptr noundef @.str.5, i32 noundef %30741, ptr noundef @.str.147, ptr noundef @.str.1, i32 noundef 1063, ptr noundef %30744, ptr noundef %30747, ptr noundef %30750, i32 noundef %30752) #11
  br label %30754

30754:                                            ; preds = %30737, %30720
  call void @llvm.lifetime.end.p0(i64 4, ptr %639) #11
  br label %30755

30755:                                            ; preds = %30754
  br label %30756

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

30757:                                            ; No predecessors!
  br label %30758

30758:                                            ; preds = %30757
  br label %30759

30759:                                            ; preds = %30758, %30701
  br label %30760

30760:                                            ; preds = %30759
  br label %30761

30761:                                            ; preds = %30760
  call void @llvm.lifetime.start.p0(i64 8, ptr %640) #11
  store ptr %638, ptr %640, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr %641) #11
  %30762 = call ptr @s2n_connection_new(i32 noundef 0)
  store ptr %30762, ptr %641, align 8, !tbaa !9
  br label %30763

30763:                                            ; preds = %30761
  %30764 = load i32, ptr @test_count, align 4, !tbaa !5
  %30765 = add nsw i32 %30764, 1
  store i32 %30765, ptr @test_count, align 4, !tbaa !5
  %30766 = load ptr, ptr %641, align 8, !tbaa !9
  %30767 = icmp eq ptr %30766, null
  br i1 %30767, label %30768, label %30821

30768:                                            ; preds = %30763
  br label %30769

30769:                                            ; preds = %30768
  br label %30770

30770:                                            ; preds = %30769
  call void @llvm.lifetime.start.p0(i64 4, ptr %642) #11
  %30771 = call ptr @__errno_location() #12
  %30772 = load i32, ptr %30771, align 4, !tbaa !5
  store i32 %30772, ptr %642, align 4, !tbaa !5
  %30773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30774 = call i32 @s2n_print_stacktrace(ptr noundef %30773)
  %30775 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30776 = trunc i8 %30775 to i1
  br i1 %30776, label %30777, label %30799

30777:                                            ; preds = %30770
  %30778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30779 = call i32 @fileno(ptr noundef %30778) #11
  %30780 = call i32 @isatty(i32 noundef %30779) #11
  %30781 = icmp ne i32 %30780, 0
  br i1 %30781, label %30782, label %30799

30782:                                            ; preds = %30777
  %30783 = load i32, ptr %642, align 4, !tbaa !5
  %30784 = call ptr @__errno_location() #12
  store i32 %30783, ptr %30784, align 4, !tbaa !5
  %30785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30786 = load i32, ptr @test_count, align 4, !tbaa !5
  %30787 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30788 = load i32, ptr %30787, align 4, !tbaa !5
  %30789 = call ptr @s2n_strerror(i32 noundef %30788, ptr noundef @.str.4)
  %30790 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30791 = load i32, ptr %30790, align 4, !tbaa !5
  %30792 = call ptr @s2n_strerror_debug(i32 noundef %30791, ptr noundef @.str.4)
  %30793 = call ptr @__errno_location() #12
  %30794 = load i32, ptr %30793, align 4, !tbaa !5
  %30795 = call ptr @strerror(i32 noundef %30794) #11
  %30796 = call ptr @__errno_location() #12
  %30797 = load i32, ptr %30796, align 4, !tbaa !5
  %30798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30785, ptr noundef @.str.2, i32 noundef %30786, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %30789, ptr noundef %30792, ptr noundef %30795, i32 noundef %30797) #11
  br label %30816

30799:                                            ; preds = %30777, %30770
  %30800 = load i32, ptr %642, align 4, !tbaa !5
  %30801 = call ptr @__errno_location() #12
  store i32 %30800, ptr %30801, align 4, !tbaa !5
  %30802 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30803 = load i32, ptr @test_count, align 4, !tbaa !5
  %30804 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30805 = load i32, ptr %30804, align 4, !tbaa !5
  %30806 = call ptr @s2n_strerror(i32 noundef %30805, ptr noundef @.str.4)
  %30807 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30808 = load i32, ptr %30807, align 4, !tbaa !5
  %30809 = call ptr @s2n_strerror_debug(i32 noundef %30808, ptr noundef @.str.4)
  %30810 = call ptr @__errno_location() #12
  %30811 = load i32, ptr %30810, align 4, !tbaa !5
  %30812 = call ptr @strerror(i32 noundef %30811) #11
  %30813 = call ptr @__errno_location() #12
  %30814 = load i32, ptr %30813, align 4, !tbaa !5
  %30815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30802, ptr noundef @.str.5, i32 noundef %30803, ptr noundef @.str.51, ptr noundef @.str.1, i32 noundef 1067, ptr noundef %30806, ptr noundef %30809, ptr noundef %30812, i32 noundef %30814) #11
  br label %30816

30816:                                            ; preds = %30799, %30782
  call void @llvm.lifetime.end.p0(i64 4, ptr %642) #11
  br label %30817

30817:                                            ; preds = %30816
  br label %30818

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

30819:                                            ; No predecessors!
  br label %30820

30820:                                            ; preds = %30819
  br label %30821

30821:                                            ; preds = %30820, %30763
  br label %30822

30822:                                            ; preds = %30821
  br label %30823

30823:                                            ; preds = %30822
  br label %30824

30824:                                            ; preds = %30823
  %30825 = load i32, ptr @test_count, align 4, !tbaa !5
  %30826 = add nsw i32 %30825, 1
  store i32 %30826, ptr @test_count, align 4, !tbaa !5
  %30827 = load ptr, ptr %641, align 8, !tbaa !9
  %30828 = call i32 @s2n_connection_set_blinding(ptr noundef %30827, i32 noundef 1)
  %30829 = icmp eq i32 %30828, -1
  br i1 %30829, label %30830, label %30883

30830:                                            ; preds = %30824
  br label %30831

30831:                                            ; preds = %30830
  br label %30832

30832:                                            ; preds = %30831
  call void @llvm.lifetime.start.p0(i64 4, ptr %643) #11
  %30833 = call ptr @__errno_location() #12
  %30834 = load i32, ptr %30833, align 4, !tbaa !5
  store i32 %30834, ptr %643, align 4, !tbaa !5
  %30835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30836 = call i32 @s2n_print_stacktrace(ptr noundef %30835)
  %30837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30838 = trunc i8 %30837 to i1
  br i1 %30838, label %30839, label %30861

30839:                                            ; preds = %30832
  %30840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30841 = call i32 @fileno(ptr noundef %30840) #11
  %30842 = call i32 @isatty(i32 noundef %30841) #11
  %30843 = icmp ne i32 %30842, 0
  br i1 %30843, label %30844, label %30861

30844:                                            ; preds = %30839
  %30845 = load i32, ptr %643, align 4, !tbaa !5
  %30846 = call ptr @__errno_location() #12
  store i32 %30845, ptr %30846, align 4, !tbaa !5
  %30847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30848 = load i32, ptr @test_count, align 4, !tbaa !5
  %30849 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30850 = load i32, ptr %30849, align 4, !tbaa !5
  %30851 = call ptr @s2n_strerror(i32 noundef %30850, ptr noundef @.str.4)
  %30852 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30853 = load i32, ptr %30852, align 4, !tbaa !5
  %30854 = call ptr @s2n_strerror_debug(i32 noundef %30853, ptr noundef @.str.4)
  %30855 = call ptr @__errno_location() #12
  %30856 = load i32, ptr %30855, align 4, !tbaa !5
  %30857 = call ptr @strerror(i32 noundef %30856) #11
  %30858 = call ptr @__errno_location() #12
  %30859 = load i32, ptr %30858, align 4, !tbaa !5
  %30860 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30847, ptr noundef @.str.2, i32 noundef %30848, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1068, ptr noundef %30851, ptr noundef %30854, ptr noundef %30857, i32 noundef %30859) #11
  br label %30878

30861:                                            ; preds = %30839, %30832
  %30862 = load i32, ptr %643, align 4, !tbaa !5
  %30863 = call ptr @__errno_location() #12
  store i32 %30862, ptr %30863, align 4, !tbaa !5
  %30864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30865 = load i32, ptr @test_count, align 4, !tbaa !5
  %30866 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30867 = load i32, ptr %30866, align 4, !tbaa !5
  %30868 = call ptr @s2n_strerror(i32 noundef %30867, ptr noundef @.str.4)
  %30869 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30870 = load i32, ptr %30869, align 4, !tbaa !5
  %30871 = call ptr @s2n_strerror_debug(i32 noundef %30870, ptr noundef @.str.4)
  %30872 = call ptr @__errno_location() #12
  %30873 = load i32, ptr %30872, align 4, !tbaa !5
  %30874 = call ptr @strerror(i32 noundef %30873) #11
  %30875 = call ptr @__errno_location() #12
  %30876 = load i32, ptr %30875, align 4, !tbaa !5
  %30877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30864, ptr noundef @.str.5, i32 noundef %30865, ptr noundef @.str.52, ptr noundef @.str.1, i32 noundef 1068, ptr noundef %30868, ptr noundef %30871, ptr noundef %30874, i32 noundef %30876) #11
  br label %30878

30878:                                            ; preds = %30861, %30844
  call void @llvm.lifetime.end.p0(i64 4, ptr %643) #11
  br label %30879

30879:                                            ; preds = %30878
  br label %30880

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

30881:                                            ; No predecessors!
  br label %30882

30882:                                            ; preds = %30881
  br label %30883

30883:                                            ; preds = %30882, %30824
  br label %30884

30884:                                            ; preds = %30883
  br label %30885

30885:                                            ; preds = %30884
  br label %30886

30886:                                            ; preds = %30885
  %30887 = load i32, ptr @test_count, align 4, !tbaa !5
  %30888 = add nsw i32 %30887, 1
  store i32 %30888, ptr @test_count, align 4, !tbaa !5
  %30889 = load ptr, ptr %641, align 8, !tbaa !9
  %30890 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef %30889, ptr noundef @.str.31)
  %30891 = icmp eq i32 %30890, -1
  br i1 %30891, label %30892, label %30945

30892:                                            ; preds = %30886
  br label %30893

30893:                                            ; preds = %30892
  br label %30894

30894:                                            ; preds = %30893
  call void @llvm.lifetime.start.p0(i64 4, ptr %644) #11
  %30895 = call ptr @__errno_location() #12
  %30896 = load i32, ptr %30895, align 4, !tbaa !5
  store i32 %30896, ptr %644, align 4, !tbaa !5
  %30897 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30898 = call i32 @s2n_print_stacktrace(ptr noundef %30897)
  %30899 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30900 = trunc i8 %30899 to i1
  br i1 %30900, label %30901, label %30923

30901:                                            ; preds = %30894
  %30902 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30903 = call i32 @fileno(ptr noundef %30902) #11
  %30904 = call i32 @isatty(i32 noundef %30903) #11
  %30905 = icmp ne i32 %30904, 0
  br i1 %30905, label %30906, label %30923

30906:                                            ; preds = %30901
  %30907 = load i32, ptr %644, align 4, !tbaa !5
  %30908 = call ptr @__errno_location() #12
  store i32 %30907, ptr %30908, align 4, !tbaa !5
  %30909 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30910 = load i32, ptr @test_count, align 4, !tbaa !5
  %30911 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30912 = load i32, ptr %30911, align 4, !tbaa !5
  %30913 = call ptr @s2n_strerror(i32 noundef %30912, ptr noundef @.str.4)
  %30914 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30915 = load i32, ptr %30914, align 4, !tbaa !5
  %30916 = call ptr @s2n_strerror_debug(i32 noundef %30915, ptr noundef @.str.4)
  %30917 = call ptr @__errno_location() #12
  %30918 = load i32, ptr %30917, align 4, !tbaa !5
  %30919 = call ptr @strerror(i32 noundef %30918) #11
  %30920 = call ptr @__errno_location() #12
  %30921 = load i32, ptr %30920, align 4, !tbaa !5
  %30922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30909, ptr noundef @.str.2, i32 noundef %30910, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 1069, ptr noundef %30913, ptr noundef %30916, ptr noundef %30919, i32 noundef %30921) #11
  br label %30940

30923:                                            ; preds = %30901, %30894
  %30924 = load i32, ptr %644, align 4, !tbaa !5
  %30925 = call ptr @__errno_location() #12
  store i32 %30924, ptr %30925, align 4, !tbaa !5
  %30926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30927 = load i32, ptr @test_count, align 4, !tbaa !5
  %30928 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30929 = load i32, ptr %30928, align 4, !tbaa !5
  %30930 = call ptr @s2n_strerror(i32 noundef %30929, ptr noundef @.str.4)
  %30931 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30932 = load i32, ptr %30931, align 4, !tbaa !5
  %30933 = call ptr @s2n_strerror_debug(i32 noundef %30932, ptr noundef @.str.4)
  %30934 = call ptr @__errno_location() #12
  %30935 = load i32, ptr %30934, align 4, !tbaa !5
  %30936 = call ptr @strerror(i32 noundef %30935) #11
  %30937 = call ptr @__errno_location() #12
  %30938 = load i32, ptr %30937, align 4, !tbaa !5
  %30939 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30926, ptr noundef @.str.5, i32 noundef %30927, ptr noundef @.str.53, ptr noundef @.str.1, i32 noundef 1069, ptr noundef %30930, ptr noundef %30933, ptr noundef %30936, i32 noundef %30938) #11
  br label %30940

30940:                                            ; preds = %30923, %30906
  call void @llvm.lifetime.end.p0(i64 4, ptr %644) #11
  br label %30941

30941:                                            ; preds = %30940
  br label %30942

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

30943:                                            ; No predecessors!
  br label %30944

30944:                                            ; preds = %30943
  br label %30945

30945:                                            ; preds = %30944, %30886
  br label %30946

30946:                                            ; preds = %30945
  br label %30947

30947:                                            ; preds = %30946
  br label %30948

30948:                                            ; preds = %30947
  %30949 = load i32, ptr @test_count, align 4, !tbaa !5
  %30950 = add nsw i32 %30949, 1
  store i32 %30950, ptr @test_count, align 4, !tbaa !5
  %30951 = load ptr, ptr %641, align 8, !tbaa !9
  %30952 = load ptr, ptr %640, align 8, !tbaa !9
  %30953 = call i32 @s2n_connection_append_psk(ptr noundef %30951, ptr noundef %30952)
  %30954 = icmp eq i32 %30953, -1
  br i1 %30954, label %30955, label %31008

30955:                                            ; preds = %30948
  br label %30956

30956:                                            ; preds = %30955
  br label %30957

30957:                                            ; preds = %30956
  call void @llvm.lifetime.start.p0(i64 4, ptr %645) #11
  %30958 = call ptr @__errno_location() #12
  %30959 = load i32, ptr %30958, align 4, !tbaa !5
  store i32 %30959, ptr %645, align 4, !tbaa !5
  %30960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30961 = call i32 @s2n_print_stacktrace(ptr noundef %30960)
  %30962 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %30963 = trunc i8 %30962 to i1
  br i1 %30963, label %30964, label %30986

30964:                                            ; preds = %30957
  %30965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30966 = call i32 @fileno(ptr noundef %30965) #11
  %30967 = call i32 @isatty(i32 noundef %30966) #11
  %30968 = icmp ne i32 %30967, 0
  br i1 %30968, label %30969, label %30986

30969:                                            ; preds = %30964
  %30970 = load i32, ptr %645, align 4, !tbaa !5
  %30971 = call ptr @__errno_location() #12
  store i32 %30970, ptr %30971, align 4, !tbaa !5
  %30972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30973 = load i32, ptr @test_count, align 4, !tbaa !5
  %30974 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30975 = load i32, ptr %30974, align 4, !tbaa !5
  %30976 = call ptr @s2n_strerror(i32 noundef %30975, ptr noundef @.str.4)
  %30977 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30978 = load i32, ptr %30977, align 4, !tbaa !5
  %30979 = call ptr @s2n_strerror_debug(i32 noundef %30978, ptr noundef @.str.4)
  %30980 = call ptr @__errno_location() #12
  %30981 = load i32, ptr %30980, align 4, !tbaa !5
  %30982 = call ptr @strerror(i32 noundef %30981) #11
  %30983 = call ptr @__errno_location() #12
  %30984 = load i32, ptr %30983, align 4, !tbaa !5
  %30985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30972, ptr noundef @.str.2, i32 noundef %30973, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 1070, ptr noundef %30976, ptr noundef %30979, ptr noundef %30982, i32 noundef %30984) #11
  br label %31003

30986:                                            ; preds = %30964, %30957
  %30987 = load i32, ptr %645, align 4, !tbaa !5
  %30988 = call ptr @__errno_location() #12
  store i32 %30987, ptr %30988, align 4, !tbaa !5
  %30989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %30990 = load i32, ptr @test_count, align 4, !tbaa !5
  %30991 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30992 = load i32, ptr %30991, align 4, !tbaa !5
  %30993 = call ptr @s2n_strerror(i32 noundef %30992, ptr noundef @.str.4)
  %30994 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %30995 = load i32, ptr %30994, align 4, !tbaa !5
  %30996 = call ptr @s2n_strerror_debug(i32 noundef %30995, ptr noundef @.str.4)
  %30997 = call ptr @__errno_location() #12
  %30998 = load i32, ptr %30997, align 4, !tbaa !5
  %30999 = call ptr @strerror(i32 noundef %30998) #11
  %31000 = call ptr @__errno_location() #12
  %31001 = load i32, ptr %31000, align 4, !tbaa !5
  %31002 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %30989, ptr noundef @.str.5, i32 noundef %30990, ptr noundef @.str.148, ptr noundef @.str.1, i32 noundef 1070, ptr noundef %30993, ptr noundef %30996, ptr noundef %30999, i32 noundef %31001) #11
  br label %31003

31003:                                            ; preds = %30986, %30969
  call void @llvm.lifetime.end.p0(i64 4, ptr %645) #11
  br label %31004

31004:                                            ; preds = %31003
  br label %31005

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

31006:                                            ; No predecessors!
  br label %31007

31007:                                            ; preds = %31006
  br label %31008

31008:                                            ; preds = %31007, %30948
  br label %31009

31009:                                            ; preds = %31008
  br label %31010

31010:                                            ; preds = %31009
  br label %31011

31011:                                            ; preds = %31010
  %31012 = load i32, ptr @test_count, align 4, !tbaa !5
  %31013 = add nsw i32 %31012, 1
  store i32 %31013, ptr @test_count, align 4, !tbaa !5
  %31014 = load ptr, ptr %641, align 8, !tbaa !9
  %31015 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef %31014, i32 noundef 1024)
  %31016 = icmp eq i32 %31015, -1
  br i1 %31016, label %31017, label %31070

31017:                                            ; preds = %31011
  br label %31018

31018:                                            ; preds = %31017
  br label %31019

31019:                                            ; preds = %31018
  call void @llvm.lifetime.start.p0(i64 4, ptr %646) #11
  %31020 = call ptr @__errno_location() #12
  %31021 = load i32, ptr %31020, align 4, !tbaa !5
  store i32 %31021, ptr %646, align 4, !tbaa !5
  %31022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31023 = call i32 @s2n_print_stacktrace(ptr noundef %31022)
  %31024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31025 = trunc i8 %31024 to i1
  br i1 %31025, label %31026, label %31048

31026:                                            ; preds = %31019
  %31027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31028 = call i32 @fileno(ptr noundef %31027) #11
  %31029 = call i32 @isatty(i32 noundef %31028) #11
  %31030 = icmp ne i32 %31029, 0
  br i1 %31030, label %31031, label %31048

31031:                                            ; preds = %31026
  %31032 = load i32, ptr %646, align 4, !tbaa !5
  %31033 = call ptr @__errno_location() #12
  store i32 %31032, ptr %31033, align 4, !tbaa !5
  %31034 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31035 = load i32, ptr @test_count, align 4, !tbaa !5
  %31036 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31037 = load i32, ptr %31036, align 4, !tbaa !5
  %31038 = call ptr @s2n_strerror(i32 noundef %31037, ptr noundef @.str.4)
  %31039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31040 = load i32, ptr %31039, align 4, !tbaa !5
  %31041 = call ptr @s2n_strerror_debug(i32 noundef %31040, ptr noundef @.str.4)
  %31042 = call ptr @__errno_location() #12
  %31043 = load i32, ptr %31042, align 4, !tbaa !5
  %31044 = call ptr @strerror(i32 noundef %31043) #11
  %31045 = call ptr @__errno_location() #12
  %31046 = load i32, ptr %31045, align 4, !tbaa !5
  %31047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31034, ptr noundef @.str.2, i32 noundef %31035, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 1071, ptr noundef %31038, ptr noundef %31041, ptr noundef %31044, i32 noundef %31046) #11
  br label %31065

31048:                                            ; preds = %31026, %31019
  %31049 = load i32, ptr %646, align 4, !tbaa !5
  %31050 = call ptr @__errno_location() #12
  store i32 %31049, ptr %31050, align 4, !tbaa !5
  %31051 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31052 = load i32, ptr @test_count, align 4, !tbaa !5
  %31053 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31054 = load i32, ptr %31053, align 4, !tbaa !5
  %31055 = call ptr @s2n_strerror(i32 noundef %31054, ptr noundef @.str.4)
  %31056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31057 = load i32, ptr %31056, align 4, !tbaa !5
  %31058 = call ptr @s2n_strerror_debug(i32 noundef %31057, ptr noundef @.str.4)
  %31059 = call ptr @__errno_location() #12
  %31060 = load i32, ptr %31059, align 4, !tbaa !5
  %31061 = call ptr @strerror(i32 noundef %31060) #11
  %31062 = call ptr @__errno_location() #12
  %31063 = load i32, ptr %31062, align 4, !tbaa !5
  %31064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31051, ptr noundef @.str.5, i32 noundef %31052, ptr noundef @.str.132, ptr noundef @.str.1, i32 noundef 1071, ptr noundef %31055, ptr noundef %31058, ptr noundef %31061, i32 noundef %31063) #11
  br label %31065

31065:                                            ; preds = %31048, %31031
  call void @llvm.lifetime.end.p0(i64 4, ptr %646) #11
  br label %31066

31066:                                            ; preds = %31065
  br label %31067

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

31068:                                            ; No predecessors!
  br label %31069

31069:                                            ; preds = %31068
  br label %31070

31070:                                            ; preds = %31069, %31011
  br label %31071

31071:                                            ; preds = %31070
  br label %31072

31072:                                            ; preds = %31071
  %31073 = load ptr, ptr %641, align 8, !tbaa !9
  %31074 = getelementptr inbounds %struct.s2n_connection, ptr %31073, i32 0, i32 33
  %31075 = getelementptr inbounds %struct.s2n_psk_parameters, ptr %31074, i32 0, i32 0
  store i32 1, ptr %31075, align 8, !tbaa !56
  call void @llvm.lifetime.start.p0(i64 40, ptr %647) #11
  call void @llvm.memset.p0.i64(ptr align 8 %647, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr %648) #11
  call void @llvm.memset.p0.i64(ptr align 8 %648, i8 0, i64 40, i1 false)
  br label %31076

31076:                                            ; preds = %31072
  %31077 = load i32, ptr @test_count, align 4, !tbaa !5
  %31078 = add nsw i32 %31077, 1
  store i32 %31078, ptr @test_count, align 4, !tbaa !5
  %31079 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %647, i32 noundef 8092)
  %31080 = icmp eq i32 %31079, -1
  br i1 %31080, label %31081, label %31134

31081:                                            ; preds = %31076
  br label %31082

31082:                                            ; preds = %31081
  br label %31083

31083:                                            ; preds = %31082
  call void @llvm.lifetime.start.p0(i64 4, ptr %649) #11
  %31084 = call ptr @__errno_location() #12
  %31085 = load i32, ptr %31084, align 4, !tbaa !5
  store i32 %31085, ptr %649, align 4, !tbaa !5
  %31086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31087 = call i32 @s2n_print_stacktrace(ptr noundef %31086)
  %31088 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31089 = trunc i8 %31088 to i1
  br i1 %31089, label %31090, label %31112

31090:                                            ; preds = %31083
  %31091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31092 = call i32 @fileno(ptr noundef %31091) #11
  %31093 = call i32 @isatty(i32 noundef %31092) #11
  %31094 = icmp ne i32 %31093, 0
  br i1 %31094, label %31095, label %31112

31095:                                            ; preds = %31090
  %31096 = load i32, ptr %649, align 4, !tbaa !5
  %31097 = call ptr @__errno_location() #12
  store i32 %31096, ptr %31097, align 4, !tbaa !5
  %31098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31099 = load i32, ptr @test_count, align 4, !tbaa !5
  %31100 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31101 = load i32, ptr %31100, align 4, !tbaa !5
  %31102 = call ptr @s2n_strerror(i32 noundef %31101, ptr noundef @.str.4)
  %31103 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31104 = load i32, ptr %31103, align 4, !tbaa !5
  %31105 = call ptr @s2n_strerror_debug(i32 noundef %31104, ptr noundef @.str.4)
  %31106 = call ptr @__errno_location() #12
  %31107 = load i32, ptr %31106, align 4, !tbaa !5
  %31108 = call ptr @strerror(i32 noundef %31107) #11
  %31109 = call ptr @__errno_location() #12
  %31110 = load i32, ptr %31109, align 4, !tbaa !5
  %31111 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31098, ptr noundef @.str.2, i32 noundef %31099, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1079, ptr noundef %31102, ptr noundef %31105, ptr noundef %31108, i32 noundef %31110) #11
  br label %31129

31112:                                            ; preds = %31090, %31083
  %31113 = load i32, ptr %649, align 4, !tbaa !5
  %31114 = call ptr @__errno_location() #12
  store i32 %31113, ptr %31114, align 4, !tbaa !5
  %31115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31116 = load i32, ptr @test_count, align 4, !tbaa !5
  %31117 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31118 = load i32, ptr %31117, align 4, !tbaa !5
  %31119 = call ptr @s2n_strerror(i32 noundef %31118, ptr noundef @.str.4)
  %31120 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31121 = load i32, ptr %31120, align 4, !tbaa !5
  %31122 = call ptr @s2n_strerror_debug(i32 noundef %31121, ptr noundef @.str.4)
  %31123 = call ptr @__errno_location() #12
  %31124 = load i32, ptr %31123, align 4, !tbaa !5
  %31125 = call ptr @strerror(i32 noundef %31124) #11
  %31126 = call ptr @__errno_location() #12
  %31127 = load i32, ptr %31126, align 4, !tbaa !5
  %31128 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31115, ptr noundef @.str.5, i32 noundef %31116, ptr noundef @.str.34, ptr noundef @.str.1, i32 noundef 1079, ptr noundef %31119, ptr noundef %31122, ptr noundef %31125, i32 noundef %31127) #11
  br label %31129

31129:                                            ; preds = %31112, %31095
  call void @llvm.lifetime.end.p0(i64 4, ptr %649) #11
  br label %31130

31130:                                            ; preds = %31129
  br label %31131

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

31132:                                            ; No predecessors!
  br label %31133

31133:                                            ; preds = %31132
  br label %31134

31134:                                            ; preds = %31133, %31076
  br label %31135

31135:                                            ; preds = %31134
  br label %31136

31136:                                            ; preds = %31135
  br label %31137

31137:                                            ; preds = %31136
  %31138 = load i32, ptr @test_count, align 4, !tbaa !5
  %31139 = add nsw i32 %31138, 1
  store i32 %31139, ptr @test_count, align 4, !tbaa !5
  %31140 = call i32 @s2n_stuffer_growable_alloc(ptr noundef %648, i32 noundef 8092)
  %31141 = icmp eq i32 %31140, -1
  br i1 %31141, label %31142, label %31195

31142:                                            ; preds = %31137
  br label %31143

31143:                                            ; preds = %31142
  br label %31144

31144:                                            ; preds = %31143
  call void @llvm.lifetime.start.p0(i64 4, ptr %650) #11
  %31145 = call ptr @__errno_location() #12
  %31146 = load i32, ptr %31145, align 4, !tbaa !5
  store i32 %31146, ptr %650, align 4, !tbaa !5
  %31147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31148 = call i32 @s2n_print_stacktrace(ptr noundef %31147)
  %31149 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31150 = trunc i8 %31149 to i1
  br i1 %31150, label %31151, label %31173

31151:                                            ; preds = %31144
  %31152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31153 = call i32 @fileno(ptr noundef %31152) #11
  %31154 = call i32 @isatty(i32 noundef %31153) #11
  %31155 = icmp ne i32 %31154, 0
  br i1 %31155, label %31156, label %31173

31156:                                            ; preds = %31151
  %31157 = load i32, ptr %650, align 4, !tbaa !5
  %31158 = call ptr @__errno_location() #12
  store i32 %31157, ptr %31158, align 4, !tbaa !5
  %31159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31160 = load i32, ptr @test_count, align 4, !tbaa !5
  %31161 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31162 = load i32, ptr %31161, align 4, !tbaa !5
  %31163 = call ptr @s2n_strerror(i32 noundef %31162, ptr noundef @.str.4)
  %31164 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31165 = load i32, ptr %31164, align 4, !tbaa !5
  %31166 = call ptr @s2n_strerror_debug(i32 noundef %31165, ptr noundef @.str.4)
  %31167 = call ptr @__errno_location() #12
  %31168 = load i32, ptr %31167, align 4, !tbaa !5
  %31169 = call ptr @strerror(i32 noundef %31168) #11
  %31170 = call ptr @__errno_location() #12
  %31171 = load i32, ptr %31170, align 4, !tbaa !5
  %31172 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31159, ptr noundef @.str.2, i32 noundef %31160, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1080, ptr noundef %31163, ptr noundef %31166, ptr noundef %31169, i32 noundef %31171) #11
  br label %31190

31173:                                            ; preds = %31151, %31144
  %31174 = load i32, ptr %650, align 4, !tbaa !5
  %31175 = call ptr @__errno_location() #12
  store i32 %31174, ptr %31175, align 4, !tbaa !5
  %31176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31177 = load i32, ptr @test_count, align 4, !tbaa !5
  %31178 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31179 = load i32, ptr %31178, align 4, !tbaa !5
  %31180 = call ptr @s2n_strerror(i32 noundef %31179, ptr noundef @.str.4)
  %31181 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31182 = load i32, ptr %31181, align 4, !tbaa !5
  %31183 = call ptr @s2n_strerror_debug(i32 noundef %31182, ptr noundef @.str.4)
  %31184 = call ptr @__errno_location() #12
  %31185 = load i32, ptr %31184, align 4, !tbaa !5
  %31186 = call ptr @strerror(i32 noundef %31185) #11
  %31187 = call ptr @__errno_location() #12
  %31188 = load i32, ptr %31187, align 4, !tbaa !5
  %31189 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31176, ptr noundef @.str.5, i32 noundef %31177, ptr noundef @.str.35, ptr noundef @.str.1, i32 noundef 1080, ptr noundef %31180, ptr noundef %31183, ptr noundef %31186, i32 noundef %31188) #11
  br label %31190

31190:                                            ; preds = %31173, %31156
  call void @llvm.lifetime.end.p0(i64 4, ptr %650) #11
  br label %31191

31191:                                            ; preds = %31190
  br label %31192

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

31193:                                            ; No predecessors!
  br label %31194

31194:                                            ; preds = %31193
  br label %31195

31195:                                            ; preds = %31194, %31137
  br label %31196

31196:                                            ; preds = %31195
  br label %31197

31197:                                            ; preds = %31196
  br label %31198

31198:                                            ; preds = %31197
  %31199 = load i32, ptr @test_count, align 4, !tbaa !5
  %31200 = add nsw i32 %31199, 1
  store i32 %31200, ptr @test_count, align 4, !tbaa !5
  %31201 = load ptr, ptr %641, align 8, !tbaa !9
  %31202 = call i32 @s2n_connection_set_io_stuffers(ptr noundef %647, ptr noundef %648, ptr noundef %31201)
  %31203 = icmp eq i32 %31202, -1
  br i1 %31203, label %31204, label %31257

31204:                                            ; preds = %31198
  br label %31205

31205:                                            ; preds = %31204
  br label %31206

31206:                                            ; preds = %31205
  call void @llvm.lifetime.start.p0(i64 4, ptr %651) #11
  %31207 = call ptr @__errno_location() #12
  %31208 = load i32, ptr %31207, align 4, !tbaa !5
  store i32 %31208, ptr %651, align 4, !tbaa !5
  %31209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31210 = call i32 @s2n_print_stacktrace(ptr noundef %31209)
  %31211 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31212 = trunc i8 %31211 to i1
  br i1 %31212, label %31213, label %31235

31213:                                            ; preds = %31206
  %31214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31215 = call i32 @fileno(ptr noundef %31214) #11
  %31216 = call i32 @isatty(i32 noundef %31215) #11
  %31217 = icmp ne i32 %31216, 0
  br i1 %31217, label %31218, label %31235

31218:                                            ; preds = %31213
  %31219 = load i32, ptr %651, align 4, !tbaa !5
  %31220 = call ptr @__errno_location() #12
  store i32 %31219, ptr %31220, align 4, !tbaa !5
  %31221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31222 = load i32, ptr @test_count, align 4, !tbaa !5
  %31223 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31224 = load i32, ptr %31223, align 4, !tbaa !5
  %31225 = call ptr @s2n_strerror(i32 noundef %31224, ptr noundef @.str.4)
  %31226 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31227 = load i32, ptr %31226, align 4, !tbaa !5
  %31228 = call ptr @s2n_strerror_debug(i32 noundef %31227, ptr noundef @.str.4)
  %31229 = call ptr @__errno_location() #12
  %31230 = load i32, ptr %31229, align 4, !tbaa !5
  %31231 = call ptr @strerror(i32 noundef %31230) #11
  %31232 = call ptr @__errno_location() #12
  %31233 = load i32, ptr %31232, align 4, !tbaa !5
  %31234 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31221, ptr noundef @.str.2, i32 noundef %31222, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %31225, ptr noundef %31228, ptr noundef %31231, i32 noundef %31233) #11
  br label %31252

31235:                                            ; preds = %31213, %31206
  %31236 = load i32, ptr %651, align 4, !tbaa !5
  %31237 = call ptr @__errno_location() #12
  store i32 %31236, ptr %31237, align 4, !tbaa !5
  %31238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31239 = load i32, ptr @test_count, align 4, !tbaa !5
  %31240 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31241 = load i32, ptr %31240, align 4, !tbaa !5
  %31242 = call ptr @s2n_strerror(i32 noundef %31241, ptr noundef @.str.4)
  %31243 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31244 = load i32, ptr %31243, align 4, !tbaa !5
  %31245 = call ptr @s2n_strerror_debug(i32 noundef %31244, ptr noundef @.str.4)
  %31246 = call ptr @__errno_location() #12
  %31247 = load i32, ptr %31246, align 4, !tbaa !5
  %31248 = call ptr @strerror(i32 noundef %31247) #11
  %31249 = call ptr @__errno_location() #12
  %31250 = load i32, ptr %31249, align 4, !tbaa !5
  %31251 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31238, ptr noundef @.str.5, i32 noundef %31239, ptr noundef @.str.55, ptr noundef @.str.1, i32 noundef 1081, ptr noundef %31242, ptr noundef %31245, ptr noundef %31248, i32 noundef %31250) #11
  br label %31252

31252:                                            ; preds = %31235, %31218
  call void @llvm.lifetime.end.p0(i64 4, ptr %651) #11
  br label %31253

31253:                                            ; preds = %31252
  br label %31254

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

31255:                                            ; No predecessors!
  br label %31256

31256:                                            ; preds = %31255
  br label %31257

31257:                                            ; preds = %31256, %31198
  br label %31258

31258:                                            ; preds = %31257
  br label %31259

31259:                                            ; preds = %31258
  br label %31260

31260:                                            ; preds = %31259
  %31261 = load i32, ptr @test_count, align 4, !tbaa !5
  %31262 = add nsw i32 %31261, 1
  store i32 %31262, ptr @test_count, align 4, !tbaa !5
  %31263 = call i32 @s2n_stuffer_write(ptr noundef %647, ptr noundef %501)
  %31264 = icmp eq i32 %31263, -1
  br i1 %31264, label %31265, label %31318

31265:                                            ; preds = %31260
  br label %31266

31266:                                            ; preds = %31265
  br label %31267

31267:                                            ; preds = %31266
  call void @llvm.lifetime.start.p0(i64 4, ptr %652) #11
  %31268 = call ptr @__errno_location() #12
  %31269 = load i32, ptr %31268, align 4, !tbaa !5
  store i32 %31269, ptr %652, align 4, !tbaa !5
  %31270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31271 = call i32 @s2n_print_stacktrace(ptr noundef %31270)
  %31272 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31273 = trunc i8 %31272 to i1
  br i1 %31273, label %31274, label %31296

31274:                                            ; preds = %31267
  %31275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31276 = call i32 @fileno(ptr noundef %31275) #11
  %31277 = call i32 @isatty(i32 noundef %31276) #11
  %31278 = icmp ne i32 %31277, 0
  br i1 %31278, label %31279, label %31296

31279:                                            ; preds = %31274
  %31280 = load i32, ptr %652, align 4, !tbaa !5
  %31281 = call ptr @__errno_location() #12
  store i32 %31280, ptr %31281, align 4, !tbaa !5
  %31282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31283 = load i32, ptr @test_count, align 4, !tbaa !5
  %31284 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31285 = load i32, ptr %31284, align 4, !tbaa !5
  %31286 = call ptr @s2n_strerror(i32 noundef %31285, ptr noundef @.str.4)
  %31287 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31288 = load i32, ptr %31287, align 4, !tbaa !5
  %31289 = call ptr @s2n_strerror_debug(i32 noundef %31288, ptr noundef @.str.4)
  %31290 = call ptr @__errno_location() #12
  %31291 = load i32, ptr %31290, align 4, !tbaa !5
  %31292 = call ptr @strerror(i32 noundef %31291) #11
  %31293 = call ptr @__errno_location() #12
  %31294 = load i32, ptr %31293, align 4, !tbaa !5
  %31295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31282, ptr noundef @.str.2, i32 noundef %31283, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %31286, ptr noundef %31289, ptr noundef %31292, i32 noundef %31294) #11
  br label %31313

31296:                                            ; preds = %31274, %31267
  %31297 = load i32, ptr %652, align 4, !tbaa !5
  %31298 = call ptr @__errno_location() #12
  store i32 %31297, ptr %31298, align 4, !tbaa !5
  %31299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31300 = load i32, ptr @test_count, align 4, !tbaa !5
  %31301 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31302 = load i32, ptr %31301, align 4, !tbaa !5
  %31303 = call ptr @s2n_strerror(i32 noundef %31302, ptr noundef @.str.4)
  %31304 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31305 = load i32, ptr %31304, align 4, !tbaa !5
  %31306 = call ptr @s2n_strerror_debug(i32 noundef %31305, ptr noundef @.str.4)
  %31307 = call ptr @__errno_location() #12
  %31308 = load i32, ptr %31307, align 4, !tbaa !5
  %31309 = call ptr @strerror(i32 noundef %31308) #11
  %31310 = call ptr @__errno_location() #12
  %31311 = load i32, ptr %31310, align 4, !tbaa !5
  %31312 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31299, ptr noundef @.str.5, i32 noundef %31300, ptr noundef @.str.133, ptr noundef @.str.1, i32 noundef 1083, ptr noundef %31303, ptr noundef %31306, ptr noundef %31309, i32 noundef %31311) #11
  br label %31313

31313:                                            ; preds = %31296, %31279
  call void @llvm.lifetime.end.p0(i64 4, ptr %652) #11
  br label %31314

31314:                                            ; preds = %31313
  br label %31315

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

31316:                                            ; No predecessors!
  br label %31317

31317:                                            ; preds = %31316
  br label %31318

31318:                                            ; preds = %31317, %31260
  br label %31319

31319:                                            ; preds = %31318
  br label %31320

31320:                                            ; preds = %31319
  br label %31321

31321:                                            ; preds = %31320
  %31322 = load i32, ptr @test_count, align 4, !tbaa !5
  %31323 = add nsw i32 %31322, 1
  store i32 %31323, ptr @test_count, align 4, !tbaa !5
  %31324 = call i32 @s2n_stuffer_write(ptr noundef %647, ptr noundef %505)
  %31325 = icmp eq i32 %31324, -1
  br i1 %31325, label %31326, label %31379

31326:                                            ; preds = %31321
  br label %31327

31327:                                            ; preds = %31326
  br label %31328

31328:                                            ; preds = %31327
  call void @llvm.lifetime.start.p0(i64 4, ptr %653) #11
  %31329 = call ptr @__errno_location() #12
  %31330 = load i32, ptr %31329, align 4, !tbaa !5
  store i32 %31330, ptr %653, align 4, !tbaa !5
  %31331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31332 = call i32 @s2n_print_stacktrace(ptr noundef %31331)
  %31333 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31334 = trunc i8 %31333 to i1
  br i1 %31334, label %31335, label %31357

31335:                                            ; preds = %31328
  %31336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31337 = call i32 @fileno(ptr noundef %31336) #11
  %31338 = call i32 @isatty(i32 noundef %31337) #11
  %31339 = icmp ne i32 %31338, 0
  br i1 %31339, label %31340, label %31357

31340:                                            ; preds = %31335
  %31341 = load i32, ptr %653, align 4, !tbaa !5
  %31342 = call ptr @__errno_location() #12
  store i32 %31341, ptr %31342, align 4, !tbaa !5
  %31343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31344 = load i32, ptr @test_count, align 4, !tbaa !5
  %31345 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31346 = load i32, ptr %31345, align 4, !tbaa !5
  %31347 = call ptr @s2n_strerror(i32 noundef %31346, ptr noundef @.str.4)
  %31348 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31349 = load i32, ptr %31348, align 4, !tbaa !5
  %31350 = call ptr @s2n_strerror_debug(i32 noundef %31349, ptr noundef @.str.4)
  %31351 = call ptr @__errno_location() #12
  %31352 = load i32, ptr %31351, align 4, !tbaa !5
  %31353 = call ptr @strerror(i32 noundef %31352) #11
  %31354 = call ptr @__errno_location() #12
  %31355 = load i32, ptr %31354, align 4, !tbaa !5
  %31356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31343, ptr noundef @.str.2, i32 noundef %31344, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %31347, ptr noundef %31350, ptr noundef %31353, i32 noundef %31355) #11
  br label %31374

31357:                                            ; preds = %31335, %31328
  %31358 = load i32, ptr %653, align 4, !tbaa !5
  %31359 = call ptr @__errno_location() #12
  store i32 %31358, ptr %31359, align 4, !tbaa !5
  %31360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31361 = load i32, ptr @test_count, align 4, !tbaa !5
  %31362 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31363 = load i32, ptr %31362, align 4, !tbaa !5
  %31364 = call ptr @s2n_strerror(i32 noundef %31363, ptr noundef @.str.4)
  %31365 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31366 = load i32, ptr %31365, align 4, !tbaa !5
  %31367 = call ptr @s2n_strerror_debug(i32 noundef %31366, ptr noundef @.str.4)
  %31368 = call ptr @__errno_location() #12
  %31369 = load i32, ptr %31368, align 4, !tbaa !5
  %31370 = call ptr @strerror(i32 noundef %31369) #11
  %31371 = call ptr @__errno_location() #12
  %31372 = load i32, ptr %31371, align 4, !tbaa !5
  %31373 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31360, ptr noundef @.str.5, i32 noundef %31361, ptr noundef @.str.134, ptr noundef @.str.1, i32 noundef 1084, ptr noundef %31364, ptr noundef %31367, ptr noundef %31370, i32 noundef %31372) #11
  br label %31374

31374:                                            ; preds = %31357, %31340
  call void @llvm.lifetime.end.p0(i64 4, ptr %653) #11
  br label %31375

31375:                                            ; preds = %31374
  br label %31376

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

31377:                                            ; No predecessors!
  br label %31378

31378:                                            ; preds = %31377
  br label %31379

31379:                                            ; preds = %31378, %31321
  br label %31380

31380:                                            ; preds = %31379
  br label %31381

31381:                                            ; preds = %31380
  br label %31382

31382:                                            ; preds = %31381
  %31383 = load i32, ptr @test_count, align 4, !tbaa !5
  %31384 = add nsw i32 %31383, 1
  store i32 %31384, ptr @test_count, align 4, !tbaa !5
  %31385 = call i32 @s2n_stuffer_write(ptr noundef %647, ptr noundef %507)
  %31386 = icmp eq i32 %31385, -1
  br i1 %31386, label %31387, label %31440

31387:                                            ; preds = %31382
  br label %31388

31388:                                            ; preds = %31387
  br label %31389

31389:                                            ; preds = %31388
  call void @llvm.lifetime.start.p0(i64 4, ptr %654) #11
  %31390 = call ptr @__errno_location() #12
  %31391 = load i32, ptr %31390, align 4, !tbaa !5
  store i32 %31391, ptr %654, align 4, !tbaa !5
  %31392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31393 = call i32 @s2n_print_stacktrace(ptr noundef %31392)
  %31394 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31395 = trunc i8 %31394 to i1
  br i1 %31395, label %31396, label %31418

31396:                                            ; preds = %31389
  %31397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31398 = call i32 @fileno(ptr noundef %31397) #11
  %31399 = call i32 @isatty(i32 noundef %31398) #11
  %31400 = icmp ne i32 %31399, 0
  br i1 %31400, label %31401, label %31418

31401:                                            ; preds = %31396
  %31402 = load i32, ptr %654, align 4, !tbaa !5
  %31403 = call ptr @__errno_location() #12
  store i32 %31402, ptr %31403, align 4, !tbaa !5
  %31404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31405 = load i32, ptr @test_count, align 4, !tbaa !5
  %31406 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31407 = load i32, ptr %31406, align 4, !tbaa !5
  %31408 = call ptr @s2n_strerror(i32 noundef %31407, ptr noundef @.str.4)
  %31409 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31410 = load i32, ptr %31409, align 4, !tbaa !5
  %31411 = call ptr @s2n_strerror_debug(i32 noundef %31410, ptr noundef @.str.4)
  %31412 = call ptr @__errno_location() #12
  %31413 = load i32, ptr %31412, align 4, !tbaa !5
  %31414 = call ptr @strerror(i32 noundef %31413) #11
  %31415 = call ptr @__errno_location() #12
  %31416 = load i32, ptr %31415, align 4, !tbaa !5
  %31417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31404, ptr noundef @.str.2, i32 noundef %31405, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 1085, ptr noundef %31408, ptr noundef %31411, ptr noundef %31414, i32 noundef %31416) #11
  br label %31435

31418:                                            ; preds = %31396, %31389
  %31419 = load i32, ptr %654, align 4, !tbaa !5
  %31420 = call ptr @__errno_location() #12
  store i32 %31419, ptr %31420, align 4, !tbaa !5
  %31421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31422 = load i32, ptr @test_count, align 4, !tbaa !5
  %31423 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31424 = load i32, ptr %31423, align 4, !tbaa !5
  %31425 = call ptr @s2n_strerror(i32 noundef %31424, ptr noundef @.str.4)
  %31426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31427 = load i32, ptr %31426, align 4, !tbaa !5
  %31428 = call ptr @s2n_strerror_debug(i32 noundef %31427, ptr noundef @.str.4)
  %31429 = call ptr @__errno_location() #12
  %31430 = load i32, ptr %31429, align 4, !tbaa !5
  %31431 = call ptr @strerror(i32 noundef %31430) #11
  %31432 = call ptr @__errno_location() #12
  %31433 = load i32, ptr %31432, align 4, !tbaa !5
  %31434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31421, ptr noundef @.str.5, i32 noundef %31422, ptr noundef @.str.135, ptr noundef @.str.1, i32 noundef 1085, ptr noundef %31425, ptr noundef %31428, ptr noundef %31431, i32 noundef %31433) #11
  br label %31435

31435:                                            ; preds = %31418, %31401
  call void @llvm.lifetime.end.p0(i64 4, ptr %654) #11
  br label %31436

31436:                                            ; preds = %31435
  br label %31437

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

31438:                                            ; No predecessors!
  br label %31439

31439:                                            ; preds = %31438
  br label %31440

31440:                                            ; preds = %31439, %31382
  br label %31441

31441:                                            ; preds = %31440
  br label %31442

31442:                                            ; preds = %31441
  call void @llvm.lifetime.start.p0(i64 100, ptr %655) #11
  call void @llvm.memset.p0.i64(ptr align 16 %655, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr %656) #11
  store i32 0, ptr %656, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr %657) #11
  store i64 0, ptr %657, align 8, !tbaa !42
  br label %31443

31443:                                            ; preds = %31442
  %31444 = load i32, ptr @test_count, align 4, !tbaa !5
  %31445 = add nsw i32 %31444, 1
  store i32 %31445, ptr @test_count, align 4, !tbaa !5
  %31446 = load ptr, ptr %641, align 8, !tbaa !9
  %31447 = getelementptr inbounds [100 x i8], ptr %655, i64 0, i64 0
  %31448 = call i32 @s2n_recv_early_data(ptr noundef %31446, ptr noundef %31447, i64 noundef 100, ptr noundef %657, ptr noundef %656)
  %31449 = icmp eq i32 %31448, -1
  br i1 %31449, label %31450, label %31503

31450:                                            ; preds = %31443
  br label %31451

31451:                                            ; preds = %31450
  br label %31452

31452:                                            ; preds = %31451
  call void @llvm.lifetime.start.p0(i64 4, ptr %658) #11
  %31453 = call ptr @__errno_location() #12
  %31454 = load i32, ptr %31453, align 4, !tbaa !5
  store i32 %31454, ptr %658, align 4, !tbaa !5
  %31455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31456 = call i32 @s2n_print_stacktrace(ptr noundef %31455)
  %31457 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31458 = trunc i8 %31457 to i1
  br i1 %31458, label %31459, label %31481

31459:                                            ; preds = %31452
  %31460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31461 = call i32 @fileno(ptr noundef %31460) #11
  %31462 = call i32 @isatty(i32 noundef %31461) #11
  %31463 = icmp ne i32 %31462, 0
  br i1 %31463, label %31464, label %31481

31464:                                            ; preds = %31459
  %31465 = load i32, ptr %658, align 4, !tbaa !5
  %31466 = call ptr @__errno_location() #12
  store i32 %31465, ptr %31466, align 4, !tbaa !5
  %31467 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31468 = load i32, ptr @test_count, align 4, !tbaa !5
  %31469 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31470 = load i32, ptr %31469, align 4, !tbaa !5
  %31471 = call ptr @s2n_strerror(i32 noundef %31470, ptr noundef @.str.4)
  %31472 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31473 = load i32, ptr %31472, align 4, !tbaa !5
  %31474 = call ptr @s2n_strerror_debug(i32 noundef %31473, ptr noundef @.str.4)
  %31475 = call ptr @__errno_location() #12
  %31476 = load i32, ptr %31475, align 4, !tbaa !5
  %31477 = call ptr @strerror(i32 noundef %31476) #11
  %31478 = call ptr @__errno_location() #12
  %31479 = load i32, ptr %31478, align 4, !tbaa !5
  %31480 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31467, ptr noundef @.str.2, i32 noundef %31468, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1092, ptr noundef %31471, ptr noundef %31474, ptr noundef %31477, i32 noundef %31479) #11
  br label %31498

31481:                                            ; preds = %31459, %31452
  %31482 = load i32, ptr %658, align 4, !tbaa !5
  %31483 = call ptr @__errno_location() #12
  store i32 %31482, ptr %31483, align 4, !tbaa !5
  %31484 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31485 = load i32, ptr @test_count, align 4, !tbaa !5
  %31486 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31487 = load i32, ptr %31486, align 4, !tbaa !5
  %31488 = call ptr @s2n_strerror(i32 noundef %31487, ptr noundef @.str.4)
  %31489 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31490 = load i32, ptr %31489, align 4, !tbaa !5
  %31491 = call ptr @s2n_strerror_debug(i32 noundef %31490, ptr noundef @.str.4)
  %31492 = call ptr @__errno_location() #12
  %31493 = load i32, ptr %31492, align 4, !tbaa !5
  %31494 = call ptr @strerror(i32 noundef %31493) #11
  %31495 = call ptr @__errno_location() #12
  %31496 = load i32, ptr %31495, align 4, !tbaa !5
  %31497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31484, ptr noundef @.str.5, i32 noundef %31485, ptr noundef @.str.136, ptr noundef @.str.1, i32 noundef 1092, ptr noundef %31488, ptr noundef %31491, ptr noundef %31494, i32 noundef %31496) #11
  br label %31498

31498:                                            ; preds = %31481, %31464
  call void @llvm.lifetime.end.p0(i64 4, ptr %658) #11
  br label %31499

31499:                                            ; preds = %31498
  br label %31500

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

31501:                                            ; No predecessors!
  br label %31502

31502:                                            ; preds = %31501
  br label %31503

31503:                                            ; preds = %31502, %31443
  br label %31504

31504:                                            ; preds = %31503
  br label %31505

31505:                                            ; preds = %31504
  br label %31506

31506:                                            ; preds = %31505
  %31507 = load i32, ptr @test_count, align 4, !tbaa !5
  %31508 = add nsw i32 %31507, 1
  store i32 %31508, ptr @test_count, align 4, !tbaa !5
  %31509 = load i32, ptr %656, align 4, !tbaa !5
  %31510 = icmp eq i32 %31509, 0
  br i1 %31510, label %31564, label %31511

31511:                                            ; preds = %31506
  br label %31512

31512:                                            ; preds = %31511
  br label %31513

31513:                                            ; preds = %31512
  call void @llvm.lifetime.start.p0(i64 4, ptr %659) #11
  %31514 = call ptr @__errno_location() #12
  %31515 = load i32, ptr %31514, align 4, !tbaa !5
  store i32 %31515, ptr %659, align 4, !tbaa !5
  %31516 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31517 = call i32 @s2n_print_stacktrace(ptr noundef %31516)
  %31518 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31519 = trunc i8 %31518 to i1
  br i1 %31519, label %31520, label %31542

31520:                                            ; preds = %31513
  %31521 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31522 = call i32 @fileno(ptr noundef %31521) #11
  %31523 = call i32 @isatty(i32 noundef %31522) #11
  %31524 = icmp ne i32 %31523, 0
  br i1 %31524, label %31525, label %31542

31525:                                            ; preds = %31520
  %31526 = load i32, ptr %659, align 4, !tbaa !5
  %31527 = call ptr @__errno_location() #12
  store i32 %31526, ptr %31527, align 4, !tbaa !5
  %31528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31529 = load i32, ptr @test_count, align 4, !tbaa !5
  %31530 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31531 = load i32, ptr %31530, align 4, !tbaa !5
  %31532 = call ptr @s2n_strerror(i32 noundef %31531, ptr noundef @.str.4)
  %31533 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31534 = load i32, ptr %31533, align 4, !tbaa !5
  %31535 = call ptr @s2n_strerror_debug(i32 noundef %31534, ptr noundef @.str.4)
  %31536 = call ptr @__errno_location() #12
  %31537 = load i32, ptr %31536, align 4, !tbaa !5
  %31538 = call ptr @strerror(i32 noundef %31537) #11
  %31539 = call ptr @__errno_location() #12
  %31540 = load i32, ptr %31539, align 4, !tbaa !5
  %31541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31528, ptr noundef @.str.2, i32 noundef %31529, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %31532, ptr noundef %31535, ptr noundef %31538, i32 noundef %31540) #11
  br label %31559

31542:                                            ; preds = %31520, %31513
  %31543 = load i32, ptr %659, align 4, !tbaa !5
  %31544 = call ptr @__errno_location() #12
  store i32 %31543, ptr %31544, align 4, !tbaa !5
  %31545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31546 = load i32, ptr @test_count, align 4, !tbaa !5
  %31547 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31548 = load i32, ptr %31547, align 4, !tbaa !5
  %31549 = call ptr @s2n_strerror(i32 noundef %31548, ptr noundef @.str.4)
  %31550 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31551 = load i32, ptr %31550, align 4, !tbaa !5
  %31552 = call ptr @s2n_strerror_debug(i32 noundef %31551, ptr noundef @.str.4)
  %31553 = call ptr @__errno_location() #12
  %31554 = load i32, ptr %31553, align 4, !tbaa !5
  %31555 = call ptr @strerror(i32 noundef %31554) #11
  %31556 = call ptr @__errno_location() #12
  %31557 = load i32, ptr %31556, align 4, !tbaa !5
  %31558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31545, ptr noundef @.str.5, i32 noundef %31546, ptr noundef @.str.82, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %31549, ptr noundef %31552, ptr noundef %31555, i32 noundef %31557) #11
  br label %31559

31559:                                            ; preds = %31542, %31525
  call void @llvm.lifetime.end.p0(i64 4, ptr %659) #11
  br label %31560

31560:                                            ; preds = %31559
  br label %31561

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

31562:                                            ; No predecessors!
  br label %31563

31563:                                            ; preds = %31562
  br label %31564

31564:                                            ; preds = %31563, %31506
  br label %31565

31565:                                            ; preds = %31564
  br label %31566

31566:                                            ; preds = %31565
  br label %31567

31567:                                            ; preds = %31566
  %31568 = load i32, ptr @test_count, align 4, !tbaa !5
  %31569 = add nsw i32 %31568, 1
  store i32 %31569, ptr @test_count, align 4, !tbaa !5
  %31570 = load ptr, ptr %641, align 8, !tbaa !9
  %31571 = call i32 @s2n_conn_get_current_message_type(ptr noundef %31570)
  %31572 = icmp eq i32 %31571, 13
  br i1 %31572, label %31626, label %31573

31573:                                            ; preds = %31567
  br label %31574

31574:                                            ; preds = %31573
  br label %31575

31575:                                            ; preds = %31574
  call void @llvm.lifetime.start.p0(i64 4, ptr %660) #11
  %31576 = call ptr @__errno_location() #12
  %31577 = load i32, ptr %31576, align 4, !tbaa !5
  store i32 %31577, ptr %660, align 4, !tbaa !5
  %31578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31579 = call i32 @s2n_print_stacktrace(ptr noundef %31578)
  %31580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31581 = trunc i8 %31580 to i1
  br i1 %31581, label %31582, label %31604

31582:                                            ; preds = %31575
  %31583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31584 = call i32 @fileno(ptr noundef %31583) #11
  %31585 = call i32 @isatty(i32 noundef %31584) #11
  %31586 = icmp ne i32 %31585, 0
  br i1 %31586, label %31587, label %31604

31587:                                            ; preds = %31582
  %31588 = load i32, ptr %660, align 4, !tbaa !5
  %31589 = call ptr @__errno_location() #12
  store i32 %31588, ptr %31589, align 4, !tbaa !5
  %31590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31591 = load i32, ptr @test_count, align 4, !tbaa !5
  %31592 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31593 = load i32, ptr %31592, align 4, !tbaa !5
  %31594 = call ptr @s2n_strerror(i32 noundef %31593, ptr noundef @.str.4)
  %31595 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31596 = load i32, ptr %31595, align 4, !tbaa !5
  %31597 = call ptr @s2n_strerror_debug(i32 noundef %31596, ptr noundef @.str.4)
  %31598 = call ptr @__errno_location() #12
  %31599 = load i32, ptr %31598, align 4, !tbaa !5
  %31600 = call ptr @strerror(i32 noundef %31599) #11
  %31601 = call ptr @__errno_location() #12
  %31602 = load i32, ptr %31601, align 4, !tbaa !5
  %31603 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31590, ptr noundef @.str.2, i32 noundef %31591, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %31594, ptr noundef %31597, ptr noundef %31600, i32 noundef %31602) #11
  br label %31621

31604:                                            ; preds = %31582, %31575
  %31605 = load i32, ptr %660, align 4, !tbaa !5
  %31606 = call ptr @__errno_location() #12
  store i32 %31605, ptr %31606, align 4, !tbaa !5
  %31607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31608 = load i32, ptr @test_count, align 4, !tbaa !5
  %31609 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31610 = load i32, ptr %31609, align 4, !tbaa !5
  %31611 = call ptr @s2n_strerror(i32 noundef %31610, ptr noundef @.str.4)
  %31612 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31613 = load i32, ptr %31612, align 4, !tbaa !5
  %31614 = call ptr @s2n_strerror_debug(i32 noundef %31613, ptr noundef @.str.4)
  %31615 = call ptr @__errno_location() #12
  %31616 = load i32, ptr %31615, align 4, !tbaa !5
  %31617 = call ptr @strerror(i32 noundef %31616) #11
  %31618 = call ptr @__errno_location() #12
  %31619 = load i32, ptr %31618, align 4, !tbaa !5
  %31620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31607, ptr noundef @.str.5, i32 noundef %31608, ptr noundef @.str.97, ptr noundef @.str.1, i32 noundef 1093, ptr noundef %31611, ptr noundef %31614, ptr noundef %31617, i32 noundef %31619) #11
  br label %31621

31621:                                            ; preds = %31604, %31587
  call void @llvm.lifetime.end.p0(i64 4, ptr %660) #11
  br label %31622

31622:                                            ; preds = %31621
  br label %31623

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

31624:                                            ; No predecessors!
  br label %31625

31625:                                            ; preds = %31624
  br label %31626

31626:                                            ; preds = %31625, %31567
  br label %31627

31627:                                            ; preds = %31626
  br label %31628

31628:                                            ; preds = %31627
  br label %31629

31629:                                            ; preds = %31628
  %31630 = load i32, ptr @test_count, align 4, !tbaa !5
  %31631 = add nsw i32 %31630, 1
  store i32 %31631, ptr @test_count, align 4, !tbaa !5
  %31632 = load i64, ptr %657, align 8, !tbaa !42
  %31633 = icmp eq i64 %31632, 0
  br i1 %31633, label %31687, label %31634

31634:                                            ; preds = %31629
  br label %31635

31635:                                            ; preds = %31634
  br label %31636

31636:                                            ; preds = %31635
  call void @llvm.lifetime.start.p0(i64 4, ptr %661) #11
  %31637 = call ptr @__errno_location() #12
  %31638 = load i32, ptr %31637, align 4, !tbaa !5
  store i32 %31638, ptr %661, align 4, !tbaa !5
  %31639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31640 = call i32 @s2n_print_stacktrace(ptr noundef %31639)
  %31641 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31642 = trunc i8 %31641 to i1
  br i1 %31642, label %31643, label %31665

31643:                                            ; preds = %31636
  %31644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31645 = call i32 @fileno(ptr noundef %31644) #11
  %31646 = call i32 @isatty(i32 noundef %31645) #11
  %31647 = icmp ne i32 %31646, 0
  br i1 %31647, label %31648, label %31665

31648:                                            ; preds = %31643
  %31649 = load i32, ptr %661, align 4, !tbaa !5
  %31650 = call ptr @__errno_location() #12
  store i32 %31649, ptr %31650, align 4, !tbaa !5
  %31651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31652 = load i32, ptr @test_count, align 4, !tbaa !5
  %31653 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31654 = load i32, ptr %31653, align 4, !tbaa !5
  %31655 = call ptr @s2n_strerror(i32 noundef %31654, ptr noundef @.str.4)
  %31656 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31657 = load i32, ptr %31656, align 4, !tbaa !5
  %31658 = call ptr @s2n_strerror_debug(i32 noundef %31657, ptr noundef @.str.4)
  %31659 = call ptr @__errno_location() #12
  %31660 = load i32, ptr %31659, align 4, !tbaa !5
  %31661 = call ptr @strerror(i32 noundef %31660) #11
  %31662 = call ptr @__errno_location() #12
  %31663 = load i32, ptr %31662, align 4, !tbaa !5
  %31664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31651, ptr noundef @.str.2, i32 noundef %31652, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1094, ptr noundef %31655, ptr noundef %31658, ptr noundef %31661, i32 noundef %31663) #11
  br label %31682

31665:                                            ; preds = %31643, %31636
  %31666 = load i32, ptr %661, align 4, !tbaa !5
  %31667 = call ptr @__errno_location() #12
  store i32 %31666, ptr %31667, align 4, !tbaa !5
  %31668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31669 = load i32, ptr @test_count, align 4, !tbaa !5
  %31670 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31671 = load i32, ptr %31670, align 4, !tbaa !5
  %31672 = call ptr @s2n_strerror(i32 noundef %31671, ptr noundef @.str.4)
  %31673 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31674 = load i32, ptr %31673, align 4, !tbaa !5
  %31675 = call ptr @s2n_strerror_debug(i32 noundef %31674, ptr noundef @.str.4)
  %31676 = call ptr @__errno_location() #12
  %31677 = load i32, ptr %31676, align 4, !tbaa !5
  %31678 = call ptr @strerror(i32 noundef %31677) #11
  %31679 = call ptr @__errno_location() #12
  %31680 = load i32, ptr %31679, align 4, !tbaa !5
  %31681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31668, ptr noundef @.str.5, i32 noundef %31669, ptr noundef @.str.141, ptr noundef @.str.1, i32 noundef 1094, ptr noundef %31672, ptr noundef %31675, ptr noundef %31678, i32 noundef %31680) #11
  br label %31682

31682:                                            ; preds = %31665, %31648
  call void @llvm.lifetime.end.p0(i64 4, ptr %661) #11
  br label %31683

31683:                                            ; preds = %31682
  br label %31684

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

31685:                                            ; No predecessors!
  br label %31686

31686:                                            ; preds = %31685
  br label %31687

31687:                                            ; preds = %31686, %31629
  br label %31688

31688:                                            ; preds = %31687
  br label %31689

31689:                                            ; preds = %31688
  br label %31690

31690:                                            ; preds = %31689
  %31691 = load i32, ptr @test_count, align 4, !tbaa !5
  %31692 = add nsw i32 %31691, 1
  store i32 %31692, ptr @test_count, align 4, !tbaa !5
  %31693 = load ptr, ptr %641, align 8, !tbaa !9
  %31694 = getelementptr inbounds %struct.s2n_connection, ptr %31693, i32 0, i32 89
  %31695 = load i32, ptr %31694, align 8, !tbaa !57
  %31696 = icmp eq i32 %31695, 4
  br i1 %31696, label %31750, label %31697

31697:                                            ; preds = %31690
  br label %31698

31698:                                            ; preds = %31697
  br label %31699

31699:                                            ; preds = %31698
  call void @llvm.lifetime.start.p0(i64 4, ptr %662) #11
  %31700 = call ptr @__errno_location() #12
  %31701 = load i32, ptr %31700, align 4, !tbaa !5
  store i32 %31701, ptr %662, align 4, !tbaa !5
  %31702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31703 = call i32 @s2n_print_stacktrace(ptr noundef %31702)
  %31704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31705 = trunc i8 %31704 to i1
  br i1 %31705, label %31706, label %31728

31706:                                            ; preds = %31699
  %31707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31708 = call i32 @fileno(ptr noundef %31707) #11
  %31709 = call i32 @isatty(i32 noundef %31708) #11
  %31710 = icmp ne i32 %31709, 0
  br i1 %31710, label %31711, label %31728

31711:                                            ; preds = %31706
  %31712 = load i32, ptr %662, align 4, !tbaa !5
  %31713 = call ptr @__errno_location() #12
  store i32 %31712, ptr %31713, align 4, !tbaa !5
  %31714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31715 = load i32, ptr @test_count, align 4, !tbaa !5
  %31716 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31717 = load i32, ptr %31716, align 4, !tbaa !5
  %31718 = call ptr @s2n_strerror(i32 noundef %31717, ptr noundef @.str.4)
  %31719 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31720 = load i32, ptr %31719, align 4, !tbaa !5
  %31721 = call ptr @s2n_strerror_debug(i32 noundef %31720, ptr noundef @.str.4)
  %31722 = call ptr @__errno_location() #12
  %31723 = load i32, ptr %31722, align 4, !tbaa !5
  %31724 = call ptr @strerror(i32 noundef %31723) #11
  %31725 = call ptr @__errno_location() #12
  %31726 = load i32, ptr %31725, align 4, !tbaa !5
  %31727 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31714, ptr noundef @.str.2, i32 noundef %31715, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 1095, ptr noundef %31718, ptr noundef %31721, ptr noundef %31724, i32 noundef %31726) #11
  br label %31745

31728:                                            ; preds = %31706, %31699
  %31729 = load i32, ptr %662, align 4, !tbaa !5
  %31730 = call ptr @__errno_location() #12
  store i32 %31729, ptr %31730, align 4, !tbaa !5
  %31731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31732 = load i32, ptr @test_count, align 4, !tbaa !5
  %31733 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31734 = load i32, ptr %31733, align 4, !tbaa !5
  %31735 = call ptr @s2n_strerror(i32 noundef %31734, ptr noundef @.str.4)
  %31736 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31737 = load i32, ptr %31736, align 4, !tbaa !5
  %31738 = call ptr @s2n_strerror_debug(i32 noundef %31737, ptr noundef @.str.4)
  %31739 = call ptr @__errno_location() #12
  %31740 = load i32, ptr %31739, align 4, !tbaa !5
  %31741 = call ptr @strerror(i32 noundef %31740) #11
  %31742 = call ptr @__errno_location() #12
  %31743 = load i32, ptr %31742, align 4, !tbaa !5
  %31744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31731, ptr noundef @.str.5, i32 noundef %31732, ptr noundef @.str.146, ptr noundef @.str.1, i32 noundef 1095, ptr noundef %31735, ptr noundef %31738, ptr noundef %31741, i32 noundef %31743) #11
  br label %31745

31745:                                            ; preds = %31728, %31711
  call void @llvm.lifetime.end.p0(i64 4, ptr %662) #11
  br label %31746

31746:                                            ; preds = %31745
  br label %31747

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

31748:                                            ; No predecessors!
  br label %31749

31749:                                            ; preds = %31748
  br label %31750

31750:                                            ; preds = %31749, %31690
  br label %31751

31751:                                            ; preds = %31750
  br label %31752

31752:                                            ; preds = %31751
  br label %31753

31753:                                            ; preds = %31752
  %31754 = load i32, ptr @test_count, align 4, !tbaa !5
  %31755 = add nsw i32 %31754, 1
  store i32 %31755, ptr @test_count, align 4, !tbaa !5
  %31756 = call i32 @s2n_stuffer_free(ptr noundef %647)
  %31757 = icmp eq i32 %31756, -1
  br i1 %31757, label %31758, label %31811

31758:                                            ; preds = %31753
  br label %31759

31759:                                            ; preds = %31758
  br label %31760

31760:                                            ; preds = %31759
  call void @llvm.lifetime.start.p0(i64 4, ptr %663) #11
  %31761 = call ptr @__errno_location() #12
  %31762 = load i32, ptr %31761, align 4, !tbaa !5
  store i32 %31762, ptr %663, align 4, !tbaa !5
  %31763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31764 = call i32 @s2n_print_stacktrace(ptr noundef %31763)
  %31765 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31766 = trunc i8 %31765 to i1
  br i1 %31766, label %31767, label %31789

31767:                                            ; preds = %31760
  %31768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31769 = call i32 @fileno(ptr noundef %31768) #11
  %31770 = call i32 @isatty(i32 noundef %31769) #11
  %31771 = icmp ne i32 %31770, 0
  br i1 %31771, label %31772, label %31789

31772:                                            ; preds = %31767
  %31773 = load i32, ptr %663, align 4, !tbaa !5
  %31774 = call ptr @__errno_location() #12
  store i32 %31773, ptr %31774, align 4, !tbaa !5
  %31775 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31776 = load i32, ptr @test_count, align 4, !tbaa !5
  %31777 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31778 = load i32, ptr %31777, align 4, !tbaa !5
  %31779 = call ptr @s2n_strerror(i32 noundef %31778, ptr noundef @.str.4)
  %31780 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31781 = load i32, ptr %31780, align 4, !tbaa !5
  %31782 = call ptr @s2n_strerror_debug(i32 noundef %31781, ptr noundef @.str.4)
  %31783 = call ptr @__errno_location() #12
  %31784 = load i32, ptr %31783, align 4, !tbaa !5
  %31785 = call ptr @strerror(i32 noundef %31784) #11
  %31786 = call ptr @__errno_location() #12
  %31787 = load i32, ptr %31786, align 4, !tbaa !5
  %31788 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31775, ptr noundef @.str.2, i32 noundef %31776, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 1097, ptr noundef %31779, ptr noundef %31782, ptr noundef %31785, i32 noundef %31787) #11
  br label %31806

31789:                                            ; preds = %31767, %31760
  %31790 = load i32, ptr %663, align 4, !tbaa !5
  %31791 = call ptr @__errno_location() #12
  store i32 %31790, ptr %31791, align 4, !tbaa !5
  %31792 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31793 = load i32, ptr @test_count, align 4, !tbaa !5
  %31794 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31795 = load i32, ptr %31794, align 4, !tbaa !5
  %31796 = call ptr @s2n_strerror(i32 noundef %31795, ptr noundef @.str.4)
  %31797 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31798 = load i32, ptr %31797, align 4, !tbaa !5
  %31799 = call ptr @s2n_strerror_debug(i32 noundef %31798, ptr noundef @.str.4)
  %31800 = call ptr @__errno_location() #12
  %31801 = load i32, ptr %31800, align 4, !tbaa !5
  %31802 = call ptr @strerror(i32 noundef %31801) #11
  %31803 = call ptr @__errno_location() #12
  %31804 = load i32, ptr %31803, align 4, !tbaa !5
  %31805 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31792, ptr noundef @.str.5, i32 noundef %31793, ptr noundef @.str.42, ptr noundef @.str.1, i32 noundef 1097, ptr noundef %31796, ptr noundef %31799, ptr noundef %31802, i32 noundef %31804) #11
  br label %31806

31806:                                            ; preds = %31789, %31772
  call void @llvm.lifetime.end.p0(i64 4, ptr %663) #11
  br label %31807

31807:                                            ; preds = %31806
  br label %31808

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

31809:                                            ; No predecessors!
  br label %31810

31810:                                            ; preds = %31809
  br label %31811

31811:                                            ; preds = %31810, %31753
  br label %31812

31812:                                            ; preds = %31811
  br label %31813

31813:                                            ; preds = %31812
  br label %31814

31814:                                            ; preds = %31813
  %31815 = load i32, ptr @test_count, align 4, !tbaa !5
  %31816 = add nsw i32 %31815, 1
  store i32 %31816, ptr @test_count, align 4, !tbaa !5
  %31817 = call i32 @s2n_stuffer_free(ptr noundef %648)
  %31818 = icmp eq i32 %31817, -1
  br i1 %31818, label %31819, label %31872

31819:                                            ; preds = %31814
  br label %31820

31820:                                            ; preds = %31819
  br label %31821

31821:                                            ; preds = %31820
  call void @llvm.lifetime.start.p0(i64 4, ptr %664) #11
  %31822 = call ptr @__errno_location() #12
  %31823 = load i32, ptr %31822, align 4, !tbaa !5
  store i32 %31823, ptr %664, align 4, !tbaa !5
  %31824 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31825 = call i32 @s2n_print_stacktrace(ptr noundef %31824)
  %31826 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31827 = trunc i8 %31826 to i1
  br i1 %31827, label %31828, label %31850

31828:                                            ; preds = %31821
  %31829 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31830 = call i32 @fileno(ptr noundef %31829) #11
  %31831 = call i32 @isatty(i32 noundef %31830) #11
  %31832 = icmp ne i32 %31831, 0
  br i1 %31832, label %31833, label %31850

31833:                                            ; preds = %31828
  %31834 = load i32, ptr %664, align 4, !tbaa !5
  %31835 = call ptr @__errno_location() #12
  store i32 %31834, ptr %31835, align 4, !tbaa !5
  %31836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31837 = load i32, ptr @test_count, align 4, !tbaa !5
  %31838 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31839 = load i32, ptr %31838, align 4, !tbaa !5
  %31840 = call ptr @s2n_strerror(i32 noundef %31839, ptr noundef @.str.4)
  %31841 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31842 = load i32, ptr %31841, align 4, !tbaa !5
  %31843 = call ptr @s2n_strerror_debug(i32 noundef %31842, ptr noundef @.str.4)
  %31844 = call ptr @__errno_location() #12
  %31845 = load i32, ptr %31844, align 4, !tbaa !5
  %31846 = call ptr @strerror(i32 noundef %31845) #11
  %31847 = call ptr @__errno_location() #12
  %31848 = load i32, ptr %31847, align 4, !tbaa !5
  %31849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31836, ptr noundef @.str.2, i32 noundef %31837, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 1098, ptr noundef %31840, ptr noundef %31843, ptr noundef %31846, i32 noundef %31848) #11
  br label %31867

31850:                                            ; preds = %31828, %31821
  %31851 = load i32, ptr %664, align 4, !tbaa !5
  %31852 = call ptr @__errno_location() #12
  store i32 %31851, ptr %31852, align 4, !tbaa !5
  %31853 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31854 = load i32, ptr @test_count, align 4, !tbaa !5
  %31855 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31856 = load i32, ptr %31855, align 4, !tbaa !5
  %31857 = call ptr @s2n_strerror(i32 noundef %31856, ptr noundef @.str.4)
  %31858 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31859 = load i32, ptr %31858, align 4, !tbaa !5
  %31860 = call ptr @s2n_strerror_debug(i32 noundef %31859, ptr noundef @.str.4)
  %31861 = call ptr @__errno_location() #12
  %31862 = load i32, ptr %31861, align 4, !tbaa !5
  %31863 = call ptr @strerror(i32 noundef %31862) #11
  %31864 = call ptr @__errno_location() #12
  %31865 = load i32, ptr %31864, align 4, !tbaa !5
  %31866 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31853, ptr noundef @.str.5, i32 noundef %31854, ptr noundef @.str.43, ptr noundef @.str.1, i32 noundef 1098, ptr noundef %31857, ptr noundef %31860, ptr noundef %31863, i32 noundef %31865) #11
  br label %31867

31867:                                            ; preds = %31850, %31833
  call void @llvm.lifetime.end.p0(i64 4, ptr %664) #11
  br label %31868

31868:                                            ; preds = %31867
  br label %31869

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

31870:                                            ; No predecessors!
  br label %31871

31871:                                            ; preds = %31870
  br label %31872

31872:                                            ; preds = %31871, %31814
  br label %31873

31873:                                            ; preds = %31872
  br label %31874

31874:                                            ; preds = %31873
  br label %31875

31875:                                            ; preds = %31874
  %31876 = load i32, ptr @test_count, align 4, !tbaa !5
  %31877 = add nsw i32 %31876, 1
  store i32 %31877, ptr @test_count, align 4, !tbaa !5
  %31878 = load ptr, ptr %641, align 8, !tbaa !9
  %31879 = call i32 @s2n_connection_free(ptr noundef %31878)
  %31880 = icmp eq i32 %31879, -1
  br i1 %31880, label %31881, label %31934

31881:                                            ; preds = %31875
  br label %31882

31882:                                            ; preds = %31881
  br label %31883

31883:                                            ; preds = %31882
  call void @llvm.lifetime.start.p0(i64 4, ptr %665) #11
  %31884 = call ptr @__errno_location() #12
  %31885 = load i32, ptr %31884, align 4, !tbaa !5
  store i32 %31885, ptr %665, align 4, !tbaa !5
  %31886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31887 = call i32 @s2n_print_stacktrace(ptr noundef %31886)
  %31888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31889 = trunc i8 %31888 to i1
  br i1 %31889, label %31890, label %31912

31890:                                            ; preds = %31883
  %31891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31892 = call i32 @fileno(ptr noundef %31891) #11
  %31893 = call i32 @isatty(i32 noundef %31892) #11
  %31894 = icmp ne i32 %31893, 0
  br i1 %31894, label %31895, label %31912

31895:                                            ; preds = %31890
  %31896 = load i32, ptr %665, align 4, !tbaa !5
  %31897 = call ptr @__errno_location() #12
  store i32 %31896, ptr %31897, align 4, !tbaa !5
  %31898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31899 = load i32, ptr @test_count, align 4, !tbaa !5
  %31900 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31901 = load i32, ptr %31900, align 4, !tbaa !5
  %31902 = call ptr @s2n_strerror(i32 noundef %31901, ptr noundef @.str.4)
  %31903 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31904 = load i32, ptr %31903, align 4, !tbaa !5
  %31905 = call ptr @s2n_strerror_debug(i32 noundef %31904, ptr noundef @.str.4)
  %31906 = call ptr @__errno_location() #12
  %31907 = load i32, ptr %31906, align 4, !tbaa !5
  %31908 = call ptr @strerror(i32 noundef %31907) #11
  %31909 = call ptr @__errno_location() #12
  %31910 = load i32, ptr %31909, align 4, !tbaa !5
  %31911 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31898, ptr noundef @.str.2, i32 noundef %31899, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 1099, ptr noundef %31902, ptr noundef %31905, ptr noundef %31908, i32 noundef %31910) #11
  br label %31929

31912:                                            ; preds = %31890, %31883
  %31913 = load i32, ptr %665, align 4, !tbaa !5
  %31914 = call ptr @__errno_location() #12
  store i32 %31913, ptr %31914, align 4, !tbaa !5
  %31915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31916 = load i32, ptr @test_count, align 4, !tbaa !5
  %31917 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31918 = load i32, ptr %31917, align 4, !tbaa !5
  %31919 = call ptr @s2n_strerror(i32 noundef %31918, ptr noundef @.str.4)
  %31920 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31921 = load i32, ptr %31920, align 4, !tbaa !5
  %31922 = call ptr @s2n_strerror_debug(i32 noundef %31921, ptr noundef @.str.4)
  %31923 = call ptr @__errno_location() #12
  %31924 = load i32, ptr %31923, align 4, !tbaa !5
  %31925 = call ptr @strerror(i32 noundef %31924) #11
  %31926 = call ptr @__errno_location() #12
  %31927 = load i32, ptr %31926, align 4, !tbaa !5
  %31928 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31915, ptr noundef @.str.5, i32 noundef %31916, ptr noundef @.str.58, ptr noundef @.str.1, i32 noundef 1099, ptr noundef %31919, ptr noundef %31922, ptr noundef %31925, i32 noundef %31927) #11
  br label %31929

31929:                                            ; preds = %31912, %31895
  call void @llvm.lifetime.end.p0(i64 4, ptr %665) #11
  br label %31930

31930:                                            ; preds = %31929
  br label %31931

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

31932:                                            ; No predecessors!
  br label %31933

31933:                                            ; preds = %31932
  br label %31934

31934:                                            ; preds = %31933, %31875
  br label %31935

31935:                                            ; preds = %31934
  br label %31936

31936:                                            ; preds = %31935
  call void @llvm.lifetime.end.p0(i64 8, ptr %657) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %656) #11
  call void @llvm.lifetime.end.p0(i64 100, ptr %655) #11
  %31937 = call i32 @s2n_stuffer_free(ptr noundef %648)
  call void @llvm.lifetime.end.p0(i64 40, ptr %648) #11
  %31938 = call i32 @s2n_stuffer_free(ptr noundef %647)
  call void @llvm.lifetime.end.p0(i64 40, ptr %647) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %641) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %640) #11
  call void @llvm.lifetime.end.p0(i64 168, ptr %638) #11
  store i32 0, ptr %494, align 4
  br label %31939

31939:                                            ; preds = %31936, %24156
  %31940 = call i32 @s2n_free(ptr noundef %507)
  call void @llvm.lifetime.end.p0(i64 24, ptr %507) #11
  br label %31941

31941:                                            ; preds = %31939, %24146
  %31942 = call i32 @s2n_free(ptr noundef %505)
  call void @llvm.lifetime.end.p0(i64 24, ptr %505) #11
  br label %31943

31943:                                            ; preds = %31941, %24136
  %31944 = call i32 @s2n_free(ptr noundef %503)
  call void @llvm.lifetime.end.p0(i64 24, ptr %503) #11
  br label %31945

31945:                                            ; preds = %31943, %24126
  %31946 = call i32 @s2n_free(ptr noundef %501)
  call void @llvm.lifetime.end.p0(i64 24, ptr %501) #11
  call void @llvm.lifetime.end.p0(i64 4, ptr %499) #11
  br label %31947

31947:                                            ; preds = %31945, %23987
  %31948 = call i32 @s2n_free(ptr noundef %496)
  call void @llvm.lifetime.end.p0(i64 24, ptr %496) #11
  br label %31949

31949:                                            ; preds = %31947, %23910
  %31950 = call i32 @s2n_free(ptr noundef %492)
  call void @llvm.lifetime.end.p0(i64 24, ptr %492) #11
  call void @llvm.lifetime.end.p0(i64 8, ptr %491) #11
  %31951 = call i32 @s2n_psk_wipe(ptr noundef %488)
  %31952 = getelementptr inbounds %struct.s2n_result, ptr %666, i32 0, i32 0
  store i32 %31951, ptr %31952, align 4
  call void @llvm.lifetime.end.p0(i64 168, ptr %488) #11
  %31953 = load i32, ptr %494, align 4
  switch i32 %31953, label %32110 [
    i32 0, label %31954
  ]

31954:                                            ; preds = %31949
  br label %31955

31955:                                            ; preds = %31954, %23829
  br label %31956

31956:                                            ; preds = %31955
  br label %31957

31957:                                            ; preds = %31956
  %31958 = call i32 @s2n_cleanup()
  %31959 = icmp eq i32 %31958, -1
  br i1 %31959, label %31960, label %32013

31960:                                            ; preds = %31957
  br label %31961

31961:                                            ; preds = %31960
  br label %31962

31962:                                            ; preds = %31961
  call void @llvm.lifetime.start.p0(i64 4, ptr %667) #11
  %31963 = call ptr @__errno_location() #12
  %31964 = load i32, ptr %31963, align 4, !tbaa !5
  store i32 %31964, ptr %667, align 4, !tbaa !5
  %31965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31966 = call i32 @s2n_print_stacktrace(ptr noundef %31965)
  %31967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %31968 = trunc i8 %31967 to i1
  br i1 %31968, label %31969, label %31991

31969:                                            ; preds = %31962
  %31970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31971 = call i32 @fileno(ptr noundef %31970) #11
  %31972 = call i32 @isatty(i32 noundef %31971) #11
  %31973 = icmp ne i32 %31972, 0
  br i1 %31973, label %31974, label %31991

31974:                                            ; preds = %31969
  %31975 = load i32, ptr %667, align 4, !tbaa !5
  %31976 = call ptr @__errno_location() #12
  store i32 %31975, ptr %31976, align 4, !tbaa !5
  %31977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31978 = load i32, ptr @test_count, align 4, !tbaa !5
  %31979 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31980 = load i32, ptr %31979, align 4, !tbaa !5
  %31981 = call ptr @s2n_strerror(i32 noundef %31980, ptr noundef @.str.4)
  %31982 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31983 = load i32, ptr %31982, align 4, !tbaa !5
  %31984 = call ptr @s2n_strerror_debug(i32 noundef %31983, ptr noundef @.str.4)
  %31985 = call ptr @__errno_location() #12
  %31986 = load i32, ptr %31985, align 4, !tbaa !5
  %31987 = call ptr @strerror(i32 noundef %31986) #11
  %31988 = call ptr @__errno_location() #12
  %31989 = load i32, ptr %31988, align 4, !tbaa !5
  %31990 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31977, ptr noundef @.str.2, i32 noundef %31978, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1103, ptr noundef %31981, ptr noundef %31984, ptr noundef %31987, i32 noundef %31989) #11
  br label %32008

31991:                                            ; preds = %31969, %31962
  %31992 = load i32, ptr %667, align 4, !tbaa !5
  %31993 = call ptr @__errno_location() #12
  store i32 %31992, ptr %31993, align 4, !tbaa !5
  %31994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %31995 = load i32, ptr @test_count, align 4, !tbaa !5
  %31996 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %31997 = load i32, ptr %31996, align 4, !tbaa !5
  %31998 = call ptr @s2n_strerror(i32 noundef %31997, ptr noundef @.str.4)
  %31999 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32000 = load i32, ptr %31999, align 4, !tbaa !5
  %32001 = call ptr @s2n_strerror_debug(i32 noundef %32000, ptr noundef @.str.4)
  %32002 = call ptr @__errno_location() #12
  %32003 = load i32, ptr %32002, align 4, !tbaa !5
  %32004 = call ptr @strerror(i32 noundef %32003) #11
  %32005 = call ptr @__errno_location() #12
  %32006 = load i32, ptr %32005, align 4, !tbaa !5
  %32007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %31994, ptr noundef @.str.5, i32 noundef %31995, ptr noundef @.str.8, ptr noundef @.str.1, i32 noundef 1103, ptr noundef %31998, ptr noundef %32001, ptr noundef %32004, i32 noundef %32006) #11
  br label %32008

32008:                                            ; preds = %31991, %31974
  call void @llvm.lifetime.end.p0(i64 4, ptr %667) #11
  br label %32009

32009:                                            ; preds = %32008
  br label %32010

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

32011:                                            ; No predecessors!
  br label %32012

32012:                                            ; preds = %32011
  br label %32013

32013:                                            ; preds = %32012, %31957
  br label %32014

32014:                                            ; preds = %32013
  br label %32015

32015:                                            ; preds = %32014
  br label %32016

32016:                                            ; preds = %32015
  br label %32017

32017:                                            ; preds = %32016
  %32018 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false)
  %32019 = icmp eq i32 %32018, -1
  br i1 %32019, label %32020, label %32073

32020:                                            ; preds = %32017
  br label %32021

32021:                                            ; preds = %32020
  br label %32022

32022:                                            ; preds = %32021
  call void @llvm.lifetime.start.p0(i64 4, ptr %668) #11
  %32023 = call ptr @__errno_location() #12
  %32024 = load i32, ptr %32023, align 4, !tbaa !5
  store i32 %32024, ptr %668, align 4, !tbaa !5
  %32025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32026 = call i32 @s2n_print_stacktrace(ptr noundef %32025)
  %32027 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32028 = trunc i8 %32027 to i1
  br i1 %32028, label %32029, label %32051

32029:                                            ; preds = %32022
  %32030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32031 = call i32 @fileno(ptr noundef %32030) #11
  %32032 = call i32 @isatty(i32 noundef %32031) #11
  %32033 = icmp ne i32 %32032, 0
  br i1 %32033, label %32034, label %32051

32034:                                            ; preds = %32029
  %32035 = load i32, ptr %668, align 4, !tbaa !5
  %32036 = call ptr @__errno_location() #12
  store i32 %32035, ptr %32036, align 4, !tbaa !5
  %32037 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32038 = load i32, ptr @test_count, align 4, !tbaa !5
  %32039 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32040 = load i32, ptr %32039, align 4, !tbaa !5
  %32041 = call ptr @s2n_strerror(i32 noundef %32040, ptr noundef @.str.4)
  %32042 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32043 = load i32, ptr %32042, align 4, !tbaa !5
  %32044 = call ptr @s2n_strerror_debug(i32 noundef %32043, ptr noundef @.str.4)
  %32045 = call ptr @__errno_location() #12
  %32046 = load i32, ptr %32045, align 4, !tbaa !5
  %32047 = call ptr @strerror(i32 noundef %32046) #11
  %32048 = call ptr @__errno_location() #12
  %32049 = load i32, ptr %32048, align 4, !tbaa !5
  %32050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32037, ptr noundef @.str.2, i32 noundef %32038, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1103, ptr noundef %32041, ptr noundef %32044, ptr noundef %32047, i32 noundef %32049) #11
  br label %32068

32051:                                            ; preds = %32029, %32022
  %32052 = load i32, ptr %668, align 4, !tbaa !5
  %32053 = call ptr @__errno_location() #12
  store i32 %32052, ptr %32053, align 4, !tbaa !5
  %32054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %32055 = load i32, ptr @test_count, align 4, !tbaa !5
  %32056 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32057 = load i32, ptr %32056, align 4, !tbaa !5
  %32058 = call ptr @s2n_strerror(i32 noundef %32057, ptr noundef @.str.4)
  %32059 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %32060 = load i32, ptr %32059, align 4, !tbaa !5
  %32061 = call ptr @s2n_strerror_debug(i32 noundef %32060, ptr noundef @.str.4)
  %32062 = call ptr @__errno_location() #12
  %32063 = load i32, ptr %32062, align 4, !tbaa !5
  %32064 = call ptr @strerror(i32 noundef %32063) #11
  %32065 = call ptr @__errno_location() #12
  %32066 = load i32, ptr %32065, align 4, !tbaa !5
  %32067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32054, ptr noundef @.str.5, i32 noundef %32055, ptr noundef @.str.9, ptr noundef @.str.1, i32 noundef 1103, ptr noundef %32058, ptr noundef %32061, ptr noundef %32064, i32 noundef %32066) #11
  br label %32068

32068:                                            ; preds = %32051, %32034
  call void @llvm.lifetime.end.p0(i64 4, ptr %668) #11
  br label %32069

32069:                                            ; preds = %32068
  br label %32070

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

32071:                                            ; No predecessors!
  br label %32072

32072:                                            ; preds = %32071
  br label %32073

32073:                                            ; preds = %32072, %32017
  br label %32074

32074:                                            ; preds = %32073
  br label %32075

32075:                                            ; preds = %32074
  %32076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %32077 = trunc i8 %32076 to i1
  br i1 %32077, label %32078, label %32094

32078:                                            ; preds = %32075
  %32079 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32080 = call i32 @fileno(ptr noundef %32079) #11
  %32081 = call i32 @isatty(i32 noundef %32080) #11
  %32082 = icmp ne i32 %32081, 0
  br i1 %32082, label %32083, label %32094

32083:                                            ; preds = %32078
  %32084 = load i32, ptr @test_count, align 4, !tbaa !5
  %32085 = icmp ne i32 %32084, 0
  br i1 %32085, label %32086, label %32090

32086:                                            ; preds = %32083
  %32087 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32088 = load i32, ptr @test_count, align 4, !tbaa !5
  %32089 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32087, ptr noundef @.str.10, i32 noundef %32088) #11
  br label %32093

32090:                                            ; preds = %32083
  %32091 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32092 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32091, ptr noundef @.str.11) #11
  br label %32093

32093:                                            ; preds = %32090, %32086
  br label %32105

32094:                                            ; preds = %32078, %32075
  %32095 = load i32, ptr @test_count, align 4, !tbaa !5
  %32096 = icmp ne i32 %32095, 0
  br i1 %32096, label %32097, label %32101

32097:                                            ; preds = %32094
  %32098 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32099 = load i32, ptr @test_count, align 4, !tbaa !5
  %32100 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32098, ptr noundef @.str.12, i32 noundef %32099) #11
  br label %32104

32101:                                            ; preds = %32094
  %32102 = load ptr, ptr @stdout, align 8, !tbaa !9
  %32103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %32102, ptr noundef @.str.13) #11
  br label %32104

32104:                                            ; preds = %32101, %32097
  br label %32105

32105:                                            ; preds = %32104, %32093
  store i32 0, ptr %3, align 4
  store i32 1, ptr %494, align 4
  br label %32110

32106:                                            ; No predecessors!
  br label %32107

32107:                                            ; preds = %32106
  br label %32108

32108:                                            ; preds = %32107
  br label %32109

32109:                                            ; preds = %32108
  store i32 0, ptr %494, align 4
  br label %32110

32110:                                            ; preds = %32109, %32105, %31949
  %32111 = call i32 @s2n_psk_free(ptr noundef %20)
  call void @llvm.lifetime.end.p0(i64 8, ptr %20) #11
  %32112 = call i32 @s2n_psk_free(ptr noundef %17)
  call void @llvm.lifetime.end.p0(i64 8, ptr %17) #11
  %32113 = call i32 @s2n_psk_free(ptr noundef %13)
  call void @llvm.lifetime.end.p0(i64 8, ptr %13) #11
  call void @llvm.lifetime.end.p0(i64 9, ptr %12) #11
  call void @llvm.lifetime.end.p0(i64 12, ptr %11) #11
  %32114 = load i32, ptr %494, align 4
  switch i32 %32114, label %32117 [
    i32 0, label %32115
    i32 1, label %32115
  ]

32115:                                            ; preds = %32110, %32110, %992
  %32116 = load i32, ptr %3, align 4
  ret i32 %32116

32117:                                            ; preds = %32110
  unreachable
}

; Function Attrs: nounwind
declare i32 @fprintf(ptr noundef, ptr noundef, ...) #1

declare i32 @fflush(ptr noundef) #2

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) #2

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

; Function Attrs: nounwind willreturn memory(none)
declare ptr @__errno_location() #4

declare i32 @s2n_print_stacktrace(ptr noundef) #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) #1

; Function Attrs: nounwind
declare i32 @fileno(ptr noundef) #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) #1

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) #6

declare i32 @s2n_enable_atexit() #2

declare i32 @s2n_init() #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) #2

declare i32 @s2n_cleanup() #2

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

declare ptr @s2n_external_psk_new() #2

declare i32 @s2n_psk_free(ptr noundef) #2

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) #2

declare i32 @s2n_psk_configure_early_data(ptr noundef, i32 noundef, i8 noundef zeroext, i8 noundef zeroext) #2

declare i32 @s2n_psk_set_application_protocol(ptr noundef, ptr noundef, i8 noundef zeroext) #2

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

declare i32 @s2n_send_early_data(ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #2

declare void @s2n_debug_info_reset() #2

declare ptr @s2n_connection_new(i32 noundef) #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) #2

declare i32 @s2n_stuffer_free(ptr noundef) #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) #2

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) #2

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

declare i32 @s2n_conn_get_current_message_type(ptr noundef) #2

declare i32 @s2n_connection_free(ptr noundef) #2

declare i32 @s2n_recv_early_data(ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) #2

declare i32 @s2n_io_pair_close(ptr noundef) #2

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

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

declare i32 @s2n_connection_get_early_data_status(ptr noundef, ptr noundef) #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) #2

; Function Attrs: nounwind willreturn memory(read)
declare i32 @memcmp(ptr noundef, ptr noundef, i64 noundef) #10

declare void @s2n_atomic_flag_clear(ptr noundef) #2

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

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

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) #2

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

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

declare i32 @s2n_connection_ptr_free(ptr noundef) #2

declare i32 @s2n_is_evp_apis_supported(...) #2

declare i32 @s2n_psk_wipe(ptr noundef) #2

declare i32 @s2n_psk_init(ptr noundef, i32 noundef) #2

declare i32 @s2n_free(ptr noundef) #2

declare i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef, ptr noundef) #2

declare i32 @s2n_connection_set_server_max_early_data_size(ptr noundef, i32 noundef) #2

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

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) #2

attributes #0 = { nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #1 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #6 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #7 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #8 = { nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #9 = { 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, !6, i64 148}
!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 = !{!18, !18, i64 0}
!43 = !{!7, !7, i64 0}
!44 = !{!16, !12, i64 4080}
!45 = !{!16, !12, i64 4081}
!46 = distinct !{!46, !47}
!47 = !{!"llvm.loop.mustprogress"}
!48 = distinct !{!48, !47}
!49 = distinct !{!49, !47}
!50 = !{!32, !6, i64 28}
!51 = !{!32, !6, i64 24}
!52 = distinct !{!52, !47}
!53 = !{!16, !18, i64 2256}
!54 = !{!25, !10, i64 0}
!55 = !{!25, !6, i64 8}
!56 = !{!16, !6, i64 1688}
!57 = !{!16, !6, i64 4088}
!58 = distinct !{!58, !47}
!59 = distinct !{!59, !47}
!60 = distinct !{!60, !47}
!61 = distinct !{!61, !47}
!62 = distinct !{!62, !47}
!63 = !{i64 0, i64 4, !5, i64 8, i64 8, !9, i64 16, i64 4, !5, i64 20, i64 4, !5, i64 24, i64 1, !43, i64 32, i64 8, !9, i64 40, i64 4, !5, i64 44, i64 4, !5, i64 48, i64 1, !43, i64 56, i64 4, !5, i64 60, i64 4, !5, i64 64, i64 8, !42, i64 72, i64 8, !9, i64 80, i64 4, !5, i64 84, i64 4, !5, i64 88, i64 1, !43, i64 96, i64 4, !5, i64 100, i64 1, !43, i64 104, i64 8, !9, i64 112, i64 8, !9, i64 120, i64 4, !5, i64 124, i64 4, !5, i64 128, i64 1, !43, i64 136, i64 8, !9, i64 144, i64 4, !5, i64 148, i64 4, !5, i64 152, i64 1, !43, i64 160, i64 8, !42}


; 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_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_blob = type { ptr, i32, i32, i8 }
%struct.s2n_post_handshake = type { %struct.s2n_stuffer, [4 x i8] }
%struct.s2n_atomic_flag = type { i32 }
%struct.s2n_test_io_pair = type { i32, i32 }
%struct.s2n_psk = type { i32, %struct.s2n_blob, %struct.s2n_blob, i32, i32, i64, %struct.s2n_blob, %struct.s2n_early_data_config, i64 }
%struct.s2n_early_data_config = type { i32, i8, ptr, %struct.s2n_blob, %struct.s2n_blob }

@s2n_use_color_in_output = external dso_local local_unnamed_addr global i8, align 1
@s2n_allowed_reads = external dso_local local_unnamed_addr global i8, align 1
@s2n_allowed_writes = external dso_local local_unnamed_addr global i8, align 1
@test_count = external dso_local local_unnamed_addr global i32, align 4
@stdout = external local_unnamed_addr global ptr, align 8
@.str = external hidden unnamed_addr constant [19 x i8], align 1
@.str.1 = external hidden unnamed_addr constant [85 x i8], align 1
@stderr = external local_unnamed_addr global ptr, align 8
@.str.2 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.3 = external hidden unnamed_addr constant [52 x i8], align 1
@s2n_errno = external thread_local local_unnamed_addr global i32, align 4
@.str.4 = external hidden unnamed_addr constant [3 x i8], align 1
@.str.5 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.6 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.7 = external hidden unnamed_addr constant [39 x i8], align 1
@.str.8 = external hidden unnamed_addr constant [42 x i8], align 1
@.str.9 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.10 = external hidden unnamed_addr constant [30 x i8], align 1
@.str.11 = external hidden unnamed_addr constant [36 x i8], align 1
@.str.12 = external hidden unnamed_addr constant [19 x i8], align 1
@.str.13 = external hidden unnamed_addr constant [25 x i8], align 1
@__const.main.test_data = external hidden unnamed_addr constant [12 x i8], align 1
@__const.main.malformed_record = external hidden unnamed_addr constant [9 x i8], align 1
@.str.14 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.15 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.16 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.17 = external hidden unnamed_addr constant [108 x i8], align 1
@.str.18 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.19 = external hidden unnamed_addr constant [111 x i8], align 1
@.str.20 = external hidden unnamed_addr constant [109 x i8], align 1
@.str.21 = external hidden unnamed_addr constant [116 x i8], align 1
@.str.22 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.23 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.24 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.25 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.26 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.27 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.28 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.29 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.30 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.31 = external hidden unnamed_addr constant [14 x i8], align 1
@.str.32 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.33 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.34 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.35 = external hidden unnamed_addr constant [70 x i8], align 1
@.str.36 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.37 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.38 = external hidden unnamed_addr constant [110 x i8], align 1
@.str.39 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.40 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.41 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.42 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.43 = external hidden unnamed_addr constant [54 x i8], align 1
@.str.44 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.45 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.46 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.47 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.48 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.49 = external hidden unnamed_addr constant [84 x i8], align 1
@.str.50 = external hidden unnamed_addr constant [50 x i8], align 1
@.str.51 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.52 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.53 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.54 = external hidden unnamed_addr constant [77 x i8], align 1
@.str.55 = external hidden unnamed_addr constant [89 x i8], align 1
@.str.56 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.57 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.58 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.59 = external hidden unnamed_addr constant [100 x i8], align 1
@.str.60 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.61 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.62 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.63 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.64 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.65 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.66 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.67 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.68 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.69 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.70 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.71 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.72 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.73 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.74 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.75 = external hidden unnamed_addr constant [57 x i8], align 1
@.str.76 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.77 = external hidden unnamed_addr constant [101 x i8], align 1
@.str.78 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.79 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.80 = external hidden unnamed_addr constant [88 x i8], align 1
@.str.81 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.82 = external hidden unnamed_addr constant [46 x i8], align 1
@.str.83 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.84 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.85 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.86 = external hidden unnamed_addr constant [113 x i8], align 1
@.str.87 = external hidden unnamed_addr constant [87 x i8], align 1
@.str.88 = external hidden unnamed_addr constant [61 x i8], align 1
@.str.89 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.90 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.91 = external hidden unnamed_addr constant [80 x i8], align 1
@.str.92 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.93 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.94 = external hidden unnamed_addr constant [91 x i8], align 1
@.str.95 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.96 = external hidden unnamed_addr constant [63 x i8], align 1
@.str.97 = external hidden unnamed_addr constant [85 x i8], align 1
@.str.98 = external hidden unnamed_addr constant [99 x i8], align 1
@.str.99 = external hidden unnamed_addr constant [58 x i8], align 1
@.str.100 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.101 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.102 = external hidden unnamed_addr constant [53 x i8], align 1
@.str.103 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.104 = external hidden unnamed_addr constant [95 x i8], align 1
@.str.105 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.106 = external hidden unnamed_addr constant [82 x i8], align 1
@.str.107 = external hidden unnamed_addr constant [120 x i8], align 1
@.str.108 = external hidden unnamed_addr constant [49 x i8], align 1
@.str.109 = external hidden unnamed_addr constant [90 x i8], align 1
@.str.110 = external hidden unnamed_addr constant [106 x i8], align 1
@.str.111 = external hidden unnamed_addr constant [104 x i8], align 1
@.str.112 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.113 = external hidden unnamed_addr constant [94 x i8], align 1
@.str.114 = external hidden unnamed_addr constant [94 x i8], align 1
@__const.main.large_data = external hidden unnamed_addr constant [16174 x i8], align 16
@.str.115 = external hidden unnamed_addr constant [112 x i8], align 1
@.str.116 = external hidden unnamed_addr constant [48 x i8], align 1
@.str.117 = external hidden unnamed_addr constant [51 x i8], align 1
@.str.118 = external hidden unnamed_addr constant [71 x i8], align 1
@.str.119 = external hidden unnamed_addr constant [52 x i8], align 1
@.str.120 = external hidden unnamed_addr constant [37 x i8], align 1
@.str.121 = external hidden unnamed_addr constant [86 x i8], align 1
@.str.122 = external hidden unnamed_addr constant [114 x i8], align 1
@.str.123 = external hidden unnamed_addr constant [92 x i8], align 1
@.str.124 = external hidden unnamed_addr constant [670 x i8], align 1
@.str.125 = external hidden unnamed_addr constant [98 x i8], align 1
@.str.126 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.127 = external hidden unnamed_addr constant [2001 x i8], align 1
@.str.128 = external hidden unnamed_addr constant [18 x i8], align 1
@.str.129 = external hidden unnamed_addr constant [102 x i8], align 1
@.str.130 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.131 = external hidden unnamed_addr constant [78 x i8], align 1
@.str.132 = external hidden unnamed_addr constant [103 x i8], align 1
@.str.133 = external hidden unnamed_addr constant [66 x i8], align 1
@.str.134 = external hidden unnamed_addr constant [69 x i8], align 1
@.str.135 = external hidden unnamed_addr constant [67 x i8], align 1
@.str.136 = external hidden unnamed_addr constant [123 x i8], align 1
@.str.137 = external hidden unnamed_addr constant [43 x i8], align 1
@.str.138 = external hidden unnamed_addr constant [81 x i8], align 1
@.str.139 = external hidden unnamed_addr constant [72 x i8], align 1
@.str.140 = external hidden unnamed_addr constant [122 x i8], align 1
@.str.141 = external hidden unnamed_addr constant [32 x i8], align 1
@.str.142 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.143 = external hidden unnamed_addr constant [64 x i8], align 1
@.str.144 = external hidden unnamed_addr constant [83 x i8], align 1
@.str.145 = external hidden unnamed_addr constant [97 x i8], align 1
@.str.146 = external hidden unnamed_addr constant [74 x i8], align 1
@.str.147 = external hidden unnamed_addr constant [96 x i8], align 1
@.str.148 = external hidden unnamed_addr constant [102 x i8], align 1

; Function Attrs: nounwind uwtable
define dso_local range(i32 -1, 1) i32 @main(i32 noundef %0, ptr nocapture noundef readnone %1) local_unnamed_addr #0 {
  %3 = alloca [12 x i8], align 1
  %4 = alloca [9 x i8], align 1
  %5 = alloca ptr, align 8
  %6 = alloca ptr, align 8
  %7 = alloca ptr, align 8
  %8 = alloca %struct.s2n_connection, align 8
  %9 = alloca i32, align 4
  %10 = alloca i64, align 8
  %11 = alloca i8, align 1
  %12 = alloca %struct.s2n_stuffer, align 8
  %13 = alloca %struct.s2n_stuffer, align 8
  %14 = alloca i32, align 4
  %15 = alloca i64, align 8
  %16 = alloca %struct.s2n_stuffer, align 8
  %17 = alloca %struct.s2n_stuffer, align 8
  %18 = alloca i32, align 4
  %19 = alloca i64, align 8
  %20 = alloca %struct.s2n_connection, align 8
  %21 = alloca i32, align 4
  %22 = alloca i64, align 8
  %23 = alloca i8, align 1
  %24 = alloca %struct.s2n_stuffer, align 8
  %25 = alloca %struct.s2n_stuffer, align 8
  %26 = alloca [100 x i8], align 16
  %27 = alloca i32, align 4
  %28 = alloca i64, align 8
  %29 = alloca ptr, align 8
  %30 = alloca ptr, align 8
  %31 = alloca %struct.s2n_test_io_pair, align 8
  %32 = alloca [100 x i8], align 16
  %33 = alloca i32, align 4
  %34 = alloca i64, align 8
  %35 = alloca ptr, align 8
  %36 = alloca ptr, align 8
  %37 = alloca %struct.s2n_test_io_pair, align 8
  %38 = alloca i32, align 4
  %39 = alloca i64, align 8
  %40 = alloca i32, align 4
  %41 = alloca ptr, align 8
  %42 = alloca ptr, align 8
  %43 = alloca %struct.s2n_test_io_pair, align 8
  %44 = alloca [100 x i8], align 16
  %45 = alloca i32, align 4
  %46 = alloca i64, align 8
  %47 = alloca i32, align 4
  %48 = alloca ptr, align 8
  %49 = alloca ptr, align 8
  %50 = alloca %struct.s2n_test_io_pair, align 8
  %51 = alloca [100 x i8], align 16
  %52 = alloca i32, align 4
  %53 = alloca i64, align 8
  %54 = alloca ptr, align 8
  %55 = alloca ptr, align 8
  %56 = alloca %struct.s2n_test_io_pair, align 8
  %57 = alloca [100 x i8], align 16
  %58 = alloca i32, align 4
  %59 = alloca i64, align 8
  %60 = alloca ptr, align 8
  %61 = alloca ptr, align 8
  %62 = alloca %struct.s2n_test_io_pair, align 8
  %63 = alloca [100 x i8], align 16
  %64 = alloca i32, align 4
  %65 = alloca i64, align 8
  %66 = alloca %struct.s2n_blob, align 8
  %67 = alloca %struct.s2n_stuffer, align 8
  %68 = alloca [12 x i8], align 1
  %69 = alloca ptr, align 8
  %70 = alloca ptr, align 8
  %71 = alloca %struct.s2n_test_io_pair, align 8
  %72 = alloca [100 x i8], align 16
  %73 = alloca i32, align 4
  %74 = alloca i64, align 8
  %75 = alloca i32, align 4
  %76 = alloca ptr, align 8
  %77 = alloca ptr, align 8
  %78 = alloca %struct.s2n_test_io_pair, align 8
  %79 = alloca [100 x i8], align 16
  %80 = alloca i32, align 4
  %81 = alloca i64, align 8
  %82 = alloca i32, align 4
  %83 = alloca %struct.s2n_stuffer, align 8
  %84 = alloca %struct.s2n_stuffer, align 8
  %85 = alloca [100 x i8], align 16
  %86 = alloca i32, align 4
  %87 = alloca i64, align 8
  %88 = alloca ptr, align 8
  %89 = alloca ptr, align 8
  %90 = alloca ptr, align 8
  %91 = alloca %struct.s2n_stuffer, align 8
  %92 = alloca %struct.s2n_stuffer, align 8
  %93 = alloca [16174 x i8], align 16
  %94 = alloca i32, align 4
  %95 = alloca i64, align 8
  %96 = alloca %struct.s2n_psk, align 8
  %97 = alloca %struct.s2n_blob, align 8
  %98 = alloca %struct.s2n_blob, align 8
  %99 = alloca %struct.s2n_blob, align 8
  %100 = alloca %struct.s2n_blob, align 8
  %101 = alloca %struct.s2n_blob, align 8
  %102 = alloca %struct.s2n_blob, align 8
  %103 = alloca %struct.s2n_stuffer, align 8
  %104 = alloca %struct.s2n_stuffer, align 8
  %105 = alloca [100 x i8], align 16
  %106 = alloca i32, align 4
  %107 = alloca i64, align 8
  %108 = alloca %struct.s2n_stuffer, align 8
  %109 = alloca %struct.s2n_stuffer, align 8
  %110 = alloca [100 x i8], align 16
  %111 = alloca i32, align 4
  %112 = alloca i64, align 8
  %113 = alloca %struct.s2n_psk, align 8
  %114 = alloca %struct.s2n_stuffer, align 8
  %115 = alloca %struct.s2n_stuffer, align 8
  %116 = alloca [100 x i8], align 16
  %117 = alloca i32, align 4
  %118 = alloca i64, align 8
  %119 = alloca %struct.s2n_psk, align 8
  %120 = alloca %struct.s2n_stuffer, align 8
  %121 = alloca %struct.s2n_stuffer, align 8
  %122 = alloca [100 x i8], align 16
  %123 = alloca i32, align 4
  %124 = alloca i64, align 8
  store i32 0, ptr @test_count, align 4, !tbaa !5
  %125 = load ptr, ptr @stdout, align 8, !tbaa !9
  %126 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %125, ptr noundef nonnull @.str, ptr noundef nonnull @.str.1) #12
  %127 = load ptr, ptr @stdout, align 8, !tbaa !9
  %128 = tail call i32 @fflush(ptr noundef %127)
  %129 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext true) #12
  %130 = icmp eq i32 %129, -1
  br i1 %130, label %131, label %155

131:                                              ; preds = %2
  %132 = tail call ptr @__errno_location() #13
  %133 = load i32, ptr %132, align 4, !tbaa !5
  %134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %135 = tail call i32 @s2n_print_stacktrace(ptr noundef %134) #12
  %136 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %137 = trunc nuw i8 %136 to i1
  br i1 %137, label %138, label %142

138:                                              ; preds = %131
  %139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %140 = tail call i32 @fileno(ptr noundef %139) #12
  %141 = tail call i32 @isatty(i32 noundef %140) #12
  %.not1688 = icmp eq i32 %141, 0
  br i1 %.not1688, label %142, label %143

142:                                              ; preds = %138, %131
  br label %143

143:                                              ; preds = %138, %142
  %.str.5.sink = phi ptr [ @.str.5, %142 ], [ @.str.2, %138 ]
  store i32 %133, ptr %132, align 4, !tbaa !5
  %144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %145 = load i32, ptr @test_count, align 4, !tbaa !5
  %146 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %147 = load i32, ptr %146, align 4, !tbaa !5
  %148 = tail call ptr @s2n_strerror(i32 noundef %147, ptr noundef nonnull @.str.4) #12
  %149 = load i32, ptr %146, align 4, !tbaa !5
  %150 = tail call ptr @s2n_strerror_debug(i32 noundef %149, ptr noundef nonnull @.str.4) #12
  %151 = load i32, ptr %132, align 4, !tbaa !5
  %152 = tail call ptr @strerror(i32 noundef %151) #12
  %153 = load i32, ptr %132, align 4, !tbaa !5
  %154 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %144, ptr noundef nonnull %.str.5.sink, i32 noundef %145, ptr noundef nonnull @.str.3, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %148, ptr noundef %150, ptr noundef %152, i32 noundef %153) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

155:                                              ; preds = %2
  %156 = load i32, ptr @test_count, align 4, !tbaa !5
  %157 = add nsw i32 %156, 1
  store i32 %157, ptr @test_count, align 4, !tbaa !5
  %158 = tail call i32 @s2n_enable_atexit() #12
  %159 = icmp eq i32 %158, -1
  br i1 %159, label %160, label %184

160:                                              ; preds = %155
  %161 = tail call ptr @__errno_location() #13
  %162 = load i32, ptr %161, align 4, !tbaa !5
  %163 = load ptr, ptr @stderr, align 8, !tbaa !9
  %164 = tail call i32 @s2n_print_stacktrace(ptr noundef %163) #12
  %165 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %166 = trunc nuw i8 %165 to i1
  br i1 %166, label %167, label %171

167:                                              ; preds = %160
  %168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %169 = tail call i32 @fileno(ptr noundef %168) #12
  %170 = tail call i32 @isatty(i32 noundef %169) #12
  %.not1687 = icmp eq i32 %170, 0
  br i1 %.not1687, label %171, label %172

171:                                              ; preds = %167, %160
  br label %172

172:                                              ; preds = %167, %171
  %.str.5.sink1726 = phi ptr [ @.str.5, %171 ], [ @.str.2, %167 ]
  store i32 %162, ptr %161, align 4, !tbaa !5
  %173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %174 = load i32, ptr @test_count, align 4, !tbaa !5
  %175 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %176 = load i32, ptr %175, align 4, !tbaa !5
  %177 = tail call ptr @s2n_strerror(i32 noundef %176, ptr noundef nonnull @.str.4) #12
  %178 = load i32, ptr %175, align 4, !tbaa !5
  %179 = tail call ptr @s2n_strerror_debug(i32 noundef %178, ptr noundef nonnull @.str.4) #12
  %180 = load i32, ptr %161, align 4, !tbaa !5
  %181 = tail call ptr @strerror(i32 noundef %180) #12
  %182 = load i32, ptr %161, align 4, !tbaa !5
  %183 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %173, ptr noundef nonnull %.str.5.sink1726, i32 noundef %174, ptr noundef nonnull @.str.6, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %177, ptr noundef %179, ptr noundef %181, i32 noundef %182) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

184:                                              ; preds = %155
  %185 = tail call i32 @s2n_init() #12
  %186 = icmp eq i32 %185, -1
  br i1 %186, label %187, label %211

187:                                              ; preds = %184
  %188 = tail call ptr @__errno_location() #13
  %189 = load i32, ptr %188, align 4, !tbaa !5
  %190 = load ptr, ptr @stderr, align 8, !tbaa !9
  %191 = tail call i32 @s2n_print_stacktrace(ptr noundef %190) #12
  %192 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %193 = trunc nuw i8 %192 to i1
  br i1 %193, label %194, label %198

194:                                              ; preds = %187
  %195 = load ptr, ptr @stderr, align 8, !tbaa !9
  %196 = tail call i32 @fileno(ptr noundef %195) #12
  %197 = tail call i32 @isatty(i32 noundef %196) #12
  %.not1686 = icmp eq i32 %197, 0
  br i1 %.not1686, label %198, label %199

198:                                              ; preds = %194, %187
  br label %199

199:                                              ; preds = %194, %198
  %.str.5.sink1737 = phi ptr [ @.str.5, %198 ], [ @.str.2, %194 ]
  store i32 %189, ptr %188, align 4, !tbaa !5
  %200 = load ptr, ptr @stderr, align 8, !tbaa !9
  %201 = load i32, ptr @test_count, align 4, !tbaa !5
  %202 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %203 = load i32, ptr %202, align 4, !tbaa !5
  %204 = tail call ptr @s2n_strerror(i32 noundef %203, ptr noundef nonnull @.str.4) #12
  %205 = load i32, ptr %202, align 4, !tbaa !5
  %206 = tail call ptr @s2n_strerror_debug(i32 noundef %205, ptr noundef nonnull @.str.4) #12
  %207 = load i32, ptr %188, align 4, !tbaa !5
  %208 = tail call ptr @strerror(i32 noundef %207) #12
  %209 = load i32, ptr %188, align 4, !tbaa !5
  %210 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %200, ptr noundef nonnull %.str.5.sink1737, i32 noundef %201, ptr noundef nonnull @.str.7, ptr noundef nonnull @.str.1, i32 noundef 101, ptr noundef %204, ptr noundef %206, ptr noundef %208, i32 noundef %209) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

211:                                              ; preds = %184
  %212 = tail call zeroext i1 (...) @s2n_is_tls13_fully_supported() #12
  br i1 %212, label %288, label %213

213:                                              ; preds = %211
  %214 = tail call i32 @s2n_cleanup() #12
  %215 = icmp eq i32 %214, -1
  br i1 %215, label %216, label %240

216:                                              ; preds = %213
  %217 = tail call ptr @__errno_location() #13
  %218 = load i32, ptr %217, align 4, !tbaa !5
  %219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %220 = tail call i32 @s2n_print_stacktrace(ptr noundef %219) #12
  %221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %222 = trunc nuw i8 %221 to i1
  br i1 %222, label %223, label %227

223:                                              ; preds = %216
  %224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %225 = tail call i32 @fileno(ptr noundef %224) #12
  %226 = tail call i32 @isatty(i32 noundef %225) #12
  %.not1183 = icmp eq i32 %226, 0
  br i1 %.not1183, label %227, label %228

227:                                              ; preds = %223, %216
  br label %228

228:                                              ; preds = %223, %227
  %.str.5.sink1748 = phi ptr [ @.str.5, %227 ], [ @.str.2, %223 ]
  store i32 %218, ptr %217, align 4, !tbaa !5
  %229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %230 = load i32, ptr @test_count, align 4, !tbaa !5
  %231 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %232 = load i32, ptr %231, align 4, !tbaa !5
  %233 = tail call ptr @s2n_strerror(i32 noundef %232, ptr noundef nonnull @.str.4) #12
  %234 = load i32, ptr %231, align 4, !tbaa !5
  %235 = tail call ptr @s2n_strerror_debug(i32 noundef %234, ptr noundef nonnull @.str.4) #12
  %236 = load i32, ptr %217, align 4, !tbaa !5
  %237 = tail call ptr @strerror(i32 noundef %236) #12
  %238 = load i32, ptr %217, align 4, !tbaa !5
  %239 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %229, ptr noundef nonnull %.str.5.sink1748, i32 noundef %230, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %233, ptr noundef %235, ptr noundef %237, i32 noundef %238) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

240:                                              ; preds = %213
  %241 = tail call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %242 = icmp eq i32 %241, -1
  br i1 %242, label %243, label %267

243:                                              ; preds = %240
  %244 = tail call ptr @__errno_location() #13
  %245 = load i32, ptr %244, align 4, !tbaa !5
  %246 = load ptr, ptr @stderr, align 8, !tbaa !9
  %247 = tail call i32 @s2n_print_stacktrace(ptr noundef %246) #12
  %248 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %249 = trunc nuw i8 %248 to i1
  br i1 %249, label %250, label %254

250:                                              ; preds = %243
  %251 = load ptr, ptr @stderr, align 8, !tbaa !9
  %252 = tail call i32 @fileno(ptr noundef %251) #12
  %253 = tail call i32 @isatty(i32 noundef %252) #12
  %.not1182 = icmp eq i32 %253, 0
  br i1 %.not1182, label %254, label %255

254:                                              ; preds = %250, %243
  br label %255

255:                                              ; preds = %250, %254
  %.str.5.sink1759 = phi ptr [ @.str.5, %254 ], [ @.str.2, %250 ]
  store i32 %245, ptr %244, align 4, !tbaa !5
  %256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %257 = load i32, ptr @test_count, align 4, !tbaa !5
  %258 = tail call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %259 = load i32, ptr %258, align 4, !tbaa !5
  %260 = tail call ptr @s2n_strerror(i32 noundef %259, ptr noundef nonnull @.str.4) #12
  %261 = load i32, ptr %258, align 4, !tbaa !5
  %262 = tail call ptr @s2n_strerror_debug(i32 noundef %261, ptr noundef nonnull @.str.4) #12
  %263 = load i32, ptr %244, align 4, !tbaa !5
  %264 = tail call ptr @strerror(i32 noundef %263) #12
  %265 = load i32, ptr %244, align 4, !tbaa !5
  %266 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %256, ptr noundef nonnull %.str.5.sink1759, i32 noundef %257, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 104, ptr noundef %260, ptr noundef %262, ptr noundef %264, i32 noundef %265) #14
  tail call void @exit(i32 noundef 1) #15
  unreachable

267:                                              ; preds = %240
  %268 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %269 = trunc nuw i8 %268 to i1
  br i1 %269, label %270, label %281

270:                                              ; preds = %267
  %271 = load ptr, ptr @stdout, align 8, !tbaa !9
  %272 = tail call i32 @fileno(ptr noundef %271) #12
  %273 = tail call i32 @isatty(i32 noundef %272) #12
  %.not = icmp eq i32 %273, 0
  br i1 %.not, label %281, label %274

274:                                              ; preds = %270
  %275 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1181 = icmp eq i32 %275, 0
  %276 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1181, label %279, label %277

277:                                              ; preds = %274
  %278 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %276, ptr noundef nonnull @.str.10, i32 noundef %275) #12
  br label %14209

279:                                              ; preds = %274
  %280 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %276, ptr noundef nonnull @.str.11) #12
  br label %14209

281:                                              ; preds = %270, %267
  %282 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1180 = icmp eq i32 %282, 0
  %283 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1180, label %286, label %284

284:                                              ; preds = %281
  %285 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %283, ptr noundef nonnull @.str.12, i32 noundef %282) #12
  br label %14209

286:                                              ; preds = %281
  %287 = tail call i32 (ptr, ptr, ...) @fprintf(ptr noundef %283, ptr noundef nonnull @.str.13) #12
  br label %14209

288:                                              ; preds = %211
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %3) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %3, ptr noundef nonnull align 1 dereferenceable(12) @__const.main.test_data, i64 12, i1 false)
  call void @llvm.lifetime.start.p0(i64 9, ptr nonnull %4) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 1 dereferenceable(9) %4, ptr noundef nonnull align 1 dereferenceable(9) @__const.main.malformed_record, i64 9, i1 false)
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %5) #12
  %289 = tail call ptr @s2n_external_psk_new() #12
  store ptr %289, ptr %5, align 8, !tbaa !9
  %290 = load i32, ptr @test_count, align 4, !tbaa !5
  %291 = add nsw i32 %290, 1
  store i32 %291, ptr @test_count, align 4, !tbaa !5
  %292 = call i32 @s2n_psk_set_identity(ptr noundef %289, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %293 = icmp eq i32 %292, -1
  br i1 %293, label %294, label %318

294:                                              ; preds = %288
  %295 = tail call ptr @__errno_location() #13
  %296 = load i32, ptr %295, align 4, !tbaa !5
  %297 = load ptr, ptr @stderr, align 8, !tbaa !9
  %298 = call i32 @s2n_print_stacktrace(ptr noundef %297) #12
  %299 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %300 = trunc nuw i8 %299 to i1
  br i1 %300, label %301, label %305

301:                                              ; preds = %294
  %302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %303 = call i32 @fileno(ptr noundef %302) #12
  %304 = call i32 @isatty(i32 noundef %303) #12
  %.not1685 = icmp eq i32 %304, 0
  br i1 %.not1685, label %305, label %306

305:                                              ; preds = %301, %294
  br label %306

306:                                              ; preds = %301, %305
  %.str.5.sink1770 = phi ptr [ @.str.5, %305 ], [ @.str.2, %301 ]
  store i32 %296, ptr %295, align 4, !tbaa !5
  %307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %308 = load i32, ptr @test_count, align 4, !tbaa !5
  %309 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %310 = load i32, ptr %309, align 4, !tbaa !5
  %311 = call ptr @s2n_strerror(i32 noundef %310, ptr noundef nonnull @.str.4) #12
  %312 = load i32, ptr %309, align 4, !tbaa !5
  %313 = call ptr @s2n_strerror_debug(i32 noundef %312, ptr noundef nonnull @.str.4) #12
  %314 = load i32, ptr %295, align 4, !tbaa !5
  %315 = call ptr @strerror(i32 noundef %314) #12
  %316 = load i32, ptr %295, align 4, !tbaa !5
  %317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %307, ptr noundef nonnull %.str.5.sink1770, i32 noundef %308, ptr noundef nonnull @.str.14, ptr noundef nonnull @.str.1, i32 noundef 116, ptr noundef %311, ptr noundef %313, ptr noundef %315, i32 noundef %316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

318:                                              ; preds = %288
  %319 = load i32, ptr @test_count, align 4, !tbaa !5
  %320 = add nsw i32 %319, 1
  store i32 %320, ptr @test_count, align 4, !tbaa !5
  %321 = call i32 @s2n_psk_set_secret(ptr noundef %289, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %322 = icmp eq i32 %321, -1
  br i1 %322, label %323, label %347

323:                                              ; preds = %318
  %324 = tail call ptr @__errno_location() #13
  %325 = load i32, ptr %324, align 4, !tbaa !5
  %326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %327 = call i32 @s2n_print_stacktrace(ptr noundef %326) #12
  %328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %329 = trunc nuw i8 %328 to i1
  br i1 %329, label %330, label %334

330:                                              ; preds = %323
  %331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %332 = call i32 @fileno(ptr noundef %331) #12
  %333 = call i32 @isatty(i32 noundef %332) #12
  %.not1684 = icmp eq i32 %333, 0
  br i1 %.not1684, label %334, label %335

334:                                              ; preds = %330, %323
  br label %335

335:                                              ; preds = %330, %334
  %.str.5.sink1781 = phi ptr [ @.str.5, %334 ], [ @.str.2, %330 ]
  store i32 %325, ptr %324, align 4, !tbaa !5
  %336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %337 = load i32, ptr @test_count, align 4, !tbaa !5
  %338 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %339 = load i32, ptr %338, align 4, !tbaa !5
  %340 = call ptr @s2n_strerror(i32 noundef %339, ptr noundef nonnull @.str.4) #12
  %341 = load i32, ptr %338, align 4, !tbaa !5
  %342 = call ptr @s2n_strerror_debug(i32 noundef %341, ptr noundef nonnull @.str.4) #12
  %343 = load i32, ptr %324, align 4, !tbaa !5
  %344 = call ptr @strerror(i32 noundef %343) #12
  %345 = load i32, ptr %324, align 4, !tbaa !5
  %346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %336, ptr noundef nonnull %.str.5.sink1781, i32 noundef %337, ptr noundef nonnull @.str.15, ptr noundef nonnull @.str.1, i32 noundef 117, ptr noundef %340, ptr noundef %342, ptr noundef %344, i32 noundef %345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

347:                                              ; preds = %318
  %348 = load i32, ptr @test_count, align 4, !tbaa !5
  %349 = add nsw i32 %348, 1
  store i32 %349, ptr @test_count, align 4, !tbaa !5
  %350 = call i32 @s2n_psk_configure_early_data(ptr noundef %289, i32 noundef -1, i8 noundef zeroext 19, i8 noundef zeroext 1) #12
  %351 = icmp eq i32 %350, -1
  br i1 %351, label %352, label %376

352:                                              ; preds = %347
  %353 = tail call ptr @__errno_location() #13
  %354 = load i32, ptr %353, align 4, !tbaa !5
  %355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %356 = call i32 @s2n_print_stacktrace(ptr noundef %355) #12
  %357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %358 = trunc nuw i8 %357 to i1
  br i1 %358, label %359, label %363

359:                                              ; preds = %352
  %360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %361 = call i32 @fileno(ptr noundef %360) #12
  %362 = call i32 @isatty(i32 noundef %361) #12
  %.not1683 = icmp eq i32 %362, 0
  br i1 %.not1683, label %363, label %364

363:                                              ; preds = %359, %352
  br label %364

364:                                              ; preds = %359, %363
  %.str.5.sink1792 = phi ptr [ @.str.5, %363 ], [ @.str.2, %359 ]
  store i32 %354, ptr %353, align 4, !tbaa !5
  %365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %366 = load i32, ptr @test_count, align 4, !tbaa !5
  %367 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %368 = load i32, ptr %367, align 4, !tbaa !5
  %369 = call ptr @s2n_strerror(i32 noundef %368, ptr noundef nonnull @.str.4) #12
  %370 = load i32, ptr %367, align 4, !tbaa !5
  %371 = call ptr @s2n_strerror_debug(i32 noundef %370, ptr noundef nonnull @.str.4) #12
  %372 = load i32, ptr %353, align 4, !tbaa !5
  %373 = call ptr @strerror(i32 noundef %372) #12
  %374 = load i32, ptr %353, align 4, !tbaa !5
  %375 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %365, ptr noundef nonnull %.str.5.sink1792, i32 noundef %366, ptr noundef nonnull @.str.16, ptr noundef nonnull @.str.1, i32 noundef 118, ptr noundef %369, ptr noundef %371, ptr noundef %373, i32 noundef %374) #14
  call void @exit(i32 noundef 1) #15
  unreachable

376:                                              ; preds = %347
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %6) #12
  %377 = call ptr @s2n_external_psk_new() #12
  store ptr %377, ptr %6, align 8, !tbaa !9
  %378 = load i32, ptr @test_count, align 4, !tbaa !5
  %379 = add nsw i32 %378, 1
  store i32 %379, ptr @test_count, align 4, !tbaa !5
  %380 = call i32 @s2n_psk_set_identity(ptr noundef %377, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %381 = icmp eq i32 %380, -1
  br i1 %381, label %382, label %406

382:                                              ; preds = %376
  %383 = tail call ptr @__errno_location() #13
  %384 = load i32, ptr %383, align 4, !tbaa !5
  %385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %386 = call i32 @s2n_print_stacktrace(ptr noundef %385) #12
  %387 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %388 = trunc nuw i8 %387 to i1
  br i1 %388, label %389, label %393

389:                                              ; preds = %382
  %390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %391 = call i32 @fileno(ptr noundef %390) #12
  %392 = call i32 @isatty(i32 noundef %391) #12
  %.not1682 = icmp eq i32 %392, 0
  br i1 %.not1682, label %393, label %394

393:                                              ; preds = %389, %382
  br label %394

394:                                              ; preds = %389, %393
  %.str.5.sink1803 = phi ptr [ @.str.5, %393 ], [ @.str.2, %389 ]
  store i32 %384, ptr %383, align 4, !tbaa !5
  %395 = load ptr, ptr @stderr, align 8, !tbaa !9
  %396 = load i32, ptr @test_count, align 4, !tbaa !5
  %397 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %398 = load i32, ptr %397, align 4, !tbaa !5
  %399 = call ptr @s2n_strerror(i32 noundef %398, ptr noundef nonnull @.str.4) #12
  %400 = load i32, ptr %397, align 4, !tbaa !5
  %401 = call ptr @s2n_strerror_debug(i32 noundef %400, ptr noundef nonnull @.str.4) #12
  %402 = load i32, ptr %383, align 4, !tbaa !5
  %403 = call ptr @strerror(i32 noundef %402) #12
  %404 = load i32, ptr %383, align 4, !tbaa !5
  %405 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %395, ptr noundef nonnull %.str.5.sink1803, i32 noundef %396, ptr noundef nonnull @.str.17, ptr noundef nonnull @.str.1, i32 noundef 121, ptr noundef %399, ptr noundef %401, ptr noundef %403, i32 noundef %404) #14
  call void @exit(i32 noundef 1) #15
  unreachable

406:                                              ; preds = %376
  %407 = load i32, ptr @test_count, align 4, !tbaa !5
  %408 = add nsw i32 %407, 1
  store i32 %408, ptr @test_count, align 4, !tbaa !5
  %409 = call i32 @s2n_psk_set_secret(ptr noundef %377, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %410 = icmp eq i32 %409, -1
  br i1 %410, label %411, label %435

411:                                              ; preds = %406
  %412 = tail call ptr @__errno_location() #13
  %413 = load i32, ptr %412, align 4, !tbaa !5
  %414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %415 = call i32 @s2n_print_stacktrace(ptr noundef %414) #12
  %416 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %417 = trunc nuw i8 %416 to i1
  br i1 %417, label %418, label %422

418:                                              ; preds = %411
  %419 = load ptr, ptr @stderr, align 8, !tbaa !9
  %420 = call i32 @fileno(ptr noundef %419) #12
  %421 = call i32 @isatty(i32 noundef %420) #12
  %.not1681 = icmp eq i32 %421, 0
  br i1 %.not1681, label %422, label %423

422:                                              ; preds = %418, %411
  br label %423

423:                                              ; preds = %418, %422
  %.str.5.sink1814 = phi ptr [ @.str.5, %422 ], [ @.str.2, %418 ]
  store i32 %413, ptr %412, align 4, !tbaa !5
  %424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %425 = load i32, ptr @test_count, align 4, !tbaa !5
  %426 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %427 = load i32, ptr %426, align 4, !tbaa !5
  %428 = call ptr @s2n_strerror(i32 noundef %427, ptr noundef nonnull @.str.4) #12
  %429 = load i32, ptr %426, align 4, !tbaa !5
  %430 = call ptr @s2n_strerror_debug(i32 noundef %429, ptr noundef nonnull @.str.4) #12
  %431 = load i32, ptr %412, align 4, !tbaa !5
  %432 = call ptr @strerror(i32 noundef %431) #12
  %433 = load i32, ptr %412, align 4, !tbaa !5
  %434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %424, ptr noundef nonnull %.str.5.sink1814, i32 noundef %425, ptr noundef nonnull @.str.18, ptr noundef nonnull @.str.1, i32 noundef 122, ptr noundef %428, ptr noundef %430, ptr noundef %432, i32 noundef %433) #14
  call void @exit(i32 noundef 1) #15
  unreachable

435:                                              ; preds = %406
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %7) #12
  %436 = call ptr @s2n_external_psk_new() #12
  store ptr %436, ptr %7, align 8, !tbaa !9
  %437 = load i32, ptr @test_count, align 4, !tbaa !5
  %438 = add nsw i32 %437, 1
  store i32 %438, ptr @test_count, align 4, !tbaa !5
  %439 = call i32 @s2n_psk_set_identity(ptr noundef %436, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %440 = icmp eq i32 %439, -1
  br i1 %440, label %441, label %465

441:                                              ; preds = %435
  %442 = tail call ptr @__errno_location() #13
  %443 = load i32, ptr %442, align 4, !tbaa !5
  %444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %445 = call i32 @s2n_print_stacktrace(ptr noundef %444) #12
  %446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %447 = trunc nuw i8 %446 to i1
  br i1 %447, label %448, label %452

448:                                              ; preds = %441
  %449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %450 = call i32 @fileno(ptr noundef %449) #12
  %451 = call i32 @isatty(i32 noundef %450) #12
  %.not1680 = icmp eq i32 %451, 0
  br i1 %.not1680, label %452, label %453

452:                                              ; preds = %448, %441
  br label %453

453:                                              ; preds = %448, %452
  %.str.5.sink1825 = phi ptr [ @.str.5, %452 ], [ @.str.2, %448 ]
  store i32 %443, ptr %442, align 4, !tbaa !5
  %454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %455 = load i32, ptr @test_count, align 4, !tbaa !5
  %456 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %457 = load i32, ptr %456, align 4, !tbaa !5
  %458 = call ptr @s2n_strerror(i32 noundef %457, ptr noundef nonnull @.str.4) #12
  %459 = load i32, ptr %456, align 4, !tbaa !5
  %460 = call ptr @s2n_strerror_debug(i32 noundef %459, ptr noundef nonnull @.str.4) #12
  %461 = load i32, ptr %442, align 4, !tbaa !5
  %462 = call ptr @strerror(i32 noundef %461) #12
  %463 = load i32, ptr %442, align 4, !tbaa !5
  %464 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %454, ptr noundef nonnull %.str.5.sink1825, i32 noundef %455, ptr noundef nonnull @.str.19, ptr noundef nonnull @.str.1, i32 noundef 125, ptr noundef %458, ptr noundef %460, ptr noundef %462, i32 noundef %463) #14
  call void @exit(i32 noundef 1) #15
  unreachable

465:                                              ; preds = %435
  %466 = load i32, ptr @test_count, align 4, !tbaa !5
  %467 = add nsw i32 %466, 1
  store i32 %467, ptr @test_count, align 4, !tbaa !5
  %468 = call i32 @s2n_psk_set_secret(ptr noundef %436, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %469 = icmp eq i32 %468, -1
  br i1 %469, label %470, label %494

470:                                              ; preds = %465
  %471 = tail call ptr @__errno_location() #13
  %472 = load i32, ptr %471, align 4, !tbaa !5
  %473 = load ptr, ptr @stderr, align 8, !tbaa !9
  %474 = call i32 @s2n_print_stacktrace(ptr noundef %473) #12
  %475 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %476 = trunc nuw i8 %475 to i1
  br i1 %476, label %477, label %481

477:                                              ; preds = %470
  %478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %479 = call i32 @fileno(ptr noundef %478) #12
  %480 = call i32 @isatty(i32 noundef %479) #12
  %.not1679 = icmp eq i32 %480, 0
  br i1 %.not1679, label %481, label %482

481:                                              ; preds = %477, %470
  br label %482

482:                                              ; preds = %477, %481
  %.str.5.sink1836 = phi ptr [ @.str.5, %481 ], [ @.str.2, %477 ]
  store i32 %472, ptr %471, align 4, !tbaa !5
  %483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %484 = load i32, ptr @test_count, align 4, !tbaa !5
  %485 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %486 = load i32, ptr %485, align 4, !tbaa !5
  %487 = call ptr @s2n_strerror(i32 noundef %486, ptr noundef nonnull @.str.4) #12
  %488 = load i32, ptr %485, align 4, !tbaa !5
  %489 = call ptr @s2n_strerror_debug(i32 noundef %488, ptr noundef nonnull @.str.4) #12
  %490 = load i32, ptr %471, align 4, !tbaa !5
  %491 = call ptr @strerror(i32 noundef %490) #12
  %492 = load i32, ptr %471, align 4, !tbaa !5
  %493 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %483, ptr noundef nonnull %.str.5.sink1836, i32 noundef %484, ptr noundef nonnull @.str.20, ptr noundef nonnull @.str.1, i32 noundef 126, ptr noundef %487, ptr noundef %489, ptr noundef %491, i32 noundef %492) #14
  call void @exit(i32 noundef 1) #15
  unreachable

494:                                              ; preds = %465
  %495 = load i32, ptr @test_count, align 4, !tbaa !5
  %496 = add nsw i32 %495, 1
  store i32 %496, ptr @test_count, align 4, !tbaa !5
  %497 = call i32 @s2n_psk_configure_early_data(ptr noundef %436, i32 noundef -1, i8 noundef zeroext 19, i8 noundef zeroext 3) #12
  %498 = icmp eq i32 %497, -1
  br i1 %498, label %499, label %523

499:                                              ; preds = %494
  %500 = tail call ptr @__errno_location() #13
  %501 = load i32, ptr %500, align 4, !tbaa !5
  %502 = load ptr, ptr @stderr, align 8, !tbaa !9
  %503 = call i32 @s2n_print_stacktrace(ptr noundef %502) #12
  %504 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %505 = trunc nuw i8 %504 to i1
  br i1 %505, label %506, label %510

506:                                              ; preds = %499
  %507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %508 = call i32 @fileno(ptr noundef %507) #12
  %509 = call i32 @isatty(i32 noundef %508) #12
  %.not1678 = icmp eq i32 %509, 0
  br i1 %.not1678, label %510, label %511

510:                                              ; preds = %506, %499
  br label %511

511:                                              ; preds = %506, %510
  %.str.5.sink1847 = phi ptr [ @.str.5, %510 ], [ @.str.2, %506 ]
  store i32 %501, ptr %500, align 4, !tbaa !5
  %512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %513 = load i32, ptr @test_count, align 4, !tbaa !5
  %514 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %515 = load i32, ptr %514, align 4, !tbaa !5
  %516 = call ptr @s2n_strerror(i32 noundef %515, ptr noundef nonnull @.str.4) #12
  %517 = load i32, ptr %514, align 4, !tbaa !5
  %518 = call ptr @s2n_strerror_debug(i32 noundef %517, ptr noundef nonnull @.str.4) #12
  %519 = load i32, ptr %500, align 4, !tbaa !5
  %520 = call ptr @strerror(i32 noundef %519) #12
  %521 = load i32, ptr %500, align 4, !tbaa !5
  %522 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %512, ptr noundef nonnull %.str.5.sink1847, i32 noundef %513, ptr noundef nonnull @.str.21, ptr noundef nonnull @.str.1, i32 noundef 127, ptr noundef %516, ptr noundef %518, ptr noundef %520, i32 noundef %521) #14
  call void @exit(i32 noundef 1) #15
  unreachable

523:                                              ; preds = %494
  %524 = load i32, ptr @test_count, align 4, !tbaa !5
  %525 = add nsw i32 %524, 1
  store i32 %525, ptr @test_count, align 4, !tbaa !5
  %526 = call i32 @s2n_psk_set_application_protocol(ptr noundef %436, ptr noundef nonnull %3, i8 noundef zeroext 12) #12
  %527 = icmp eq i32 %526, -1
  br i1 %527, label %528, label %552

528:                                              ; preds = %523
  %529 = tail call ptr @__errno_location() #13
  %530 = load i32, ptr %529, align 4, !tbaa !5
  %531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %532 = call i32 @s2n_print_stacktrace(ptr noundef %531) #12
  %533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %534 = trunc nuw i8 %533 to i1
  br i1 %534, label %535, label %539

535:                                              ; preds = %528
  %536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %537 = call i32 @fileno(ptr noundef %536) #12
  %538 = call i32 @isatty(i32 noundef %537) #12
  %.not1677 = icmp eq i32 %538, 0
  br i1 %.not1677, label %539, label %540

539:                                              ; preds = %535, %528
  br label %540

540:                                              ; preds = %535, %539
  %.str.5.sink1858 = phi ptr [ @.str.5, %539 ], [ @.str.2, %535 ]
  store i32 %530, ptr %529, align 4, !tbaa !5
  %541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %542 = load i32, ptr @test_count, align 4, !tbaa !5
  %543 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %544 = load i32, ptr %543, align 4, !tbaa !5
  %545 = call ptr @s2n_strerror(i32 noundef %544, ptr noundef nonnull @.str.4) #12
  %546 = load i32, ptr %543, align 4, !tbaa !5
  %547 = call ptr @s2n_strerror_debug(i32 noundef %546, ptr noundef nonnull @.str.4) #12
  %548 = load i32, ptr %529, align 4, !tbaa !5
  %549 = call ptr @strerror(i32 noundef %548) #12
  %550 = load i32, ptr %529, align 4, !tbaa !5
  %551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %541, ptr noundef nonnull %.str.5.sink1858, i32 noundef %542, ptr noundef nonnull @.str.22, ptr noundef nonnull @.str.1, i32 noundef 128, ptr noundef %545, ptr noundef %547, ptr noundef %549, i32 noundef %550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

552:                                              ; preds = %523
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %8) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %8, i8 0, i64 4184, i1 false)
  %553 = getelementptr inbounds i8, ptr %8, i64 148
  store i32 1, ptr %553, align 4, !tbaa !15
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %9) #12
  store i32 0, ptr %9, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %10) #12
  store i64 0, ptr %10, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %11) #12
  store i8 0, ptr %11, align 1, !tbaa !43
  %554 = load i32, ptr @test_count, align 4, !tbaa !5
  %555 = add nsw i32 %554, 1
  store i32 %555, ptr @test_count, align 4, !tbaa !5
  %556 = call i32 @s2n_send_early_data(ptr noundef null, ptr noundef nonnull %11, i64 noundef 1, ptr noundef nonnull %10, ptr noundef nonnull %9) #12
  %557 = icmp eq i32 %556, -1
  br i1 %557, label %582, label %558

558:                                              ; preds = %552
  %559 = tail call ptr @__errno_location() #13
  %560 = load i32, ptr %559, align 4, !tbaa !5
  %561 = load ptr, ptr @stderr, align 8, !tbaa !9
  %562 = call i32 @s2n_print_stacktrace(ptr noundef %561) #12
  %563 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %564 = trunc nuw i8 %563 to i1
  br i1 %564, label %565, label %569

565:                                              ; preds = %558
  %566 = load ptr, ptr @stderr, align 8, !tbaa !9
  %567 = call i32 @fileno(ptr noundef %566) #12
  %568 = call i32 @isatty(i32 noundef %567) #12
  %.not1184 = icmp eq i32 %568, 0
  br i1 %.not1184, label %569, label %570

569:                                              ; preds = %565, %558
  br label %570

570:                                              ; preds = %565, %569
  %.str.5.sink1869 = phi ptr [ @.str.5, %569 ], [ @.str.2, %565 ]
  store i32 %560, ptr %559, 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 nonnull @.str.4) #12
  %576 = load i32, ptr %573, align 4, !tbaa !5
  %577 = call ptr @s2n_strerror_debug(i32 noundef %576, ptr noundef nonnull @.str.4) #12
  %578 = load i32, ptr %559, align 4, !tbaa !5
  %579 = call ptr @strerror(i32 noundef %578) #12
  %580 = load i32, ptr %559, align 4, !tbaa !5
  %581 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %571, ptr noundef nonnull %.str.5.sink1869, i32 noundef %572, ptr noundef nonnull @.str.23, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %575, ptr noundef %577, ptr noundef %579, i32 noundef %580) #14
  call void @exit(i32 noundef 1) #15
  unreachable

582:                                              ; preds = %552
  %583 = load i32, ptr @test_count, align 4, !tbaa !5
  %584 = add nsw i32 %583, 1
  store i32 %584, ptr @test_count, align 4, !tbaa !5
  %585 = call align 4 ptr @llvm.threadlocal.address.p0(ptr align 4 @s2n_errno)
  %586 = load i32, ptr %585, align 4, !tbaa !5
  %587 = icmp eq i32 %586, 402653193
  br i1 %587, label %611, label %588

588:                                              ; preds = %582
  %589 = tail call ptr @__errno_location() #13
  %590 = load i32, ptr %589, align 4, !tbaa !5
  %591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %592 = call i32 @s2n_print_stacktrace(ptr noundef %591) #12
  %593 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %594 = trunc nuw i8 %593 to i1
  br i1 %594, label %595, label %599

595:                                              ; preds = %588
  %596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %597 = call i32 @fileno(ptr noundef %596) #12
  %598 = call i32 @isatty(i32 noundef %597) #12
  %.not1185 = icmp eq i32 %598, 0
  br i1 %.not1185, label %599, label %600

599:                                              ; preds = %595, %588
  br label %600

600:                                              ; preds = %595, %599
  %.str.5.sink1880 = phi ptr [ @.str.5, %599 ], [ @.str.2, %595 ]
  store i32 %590, ptr %589, align 4, !tbaa !5
  %601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %602 = load i32, ptr @test_count, align 4, !tbaa !5
  %603 = load i32, ptr %585, align 4, !tbaa !5
  %604 = call ptr @s2n_strerror(i32 noundef %603, ptr noundef nonnull @.str.4) #12
  %605 = load i32, ptr %585, align 4, !tbaa !5
  %606 = call ptr @s2n_strerror_debug(i32 noundef %605, ptr noundef nonnull @.str.4) #12
  %607 = load i32, ptr %589, align 4, !tbaa !5
  %608 = call ptr @strerror(i32 noundef %607) #12
  %609 = load i32, ptr %589, align 4, !tbaa !5
  %610 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %601, ptr noundef nonnull %.str.5.sink1880, i32 noundef %602, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %604, ptr noundef %606, ptr noundef %608, i32 noundef %609) #14
  call void @exit(i32 noundef 1) #15
  unreachable

611:                                              ; preds = %582
  %612 = add nsw i32 %583, 2
  store i32 %612, ptr @test_count, align 4, !tbaa !5
  %613 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %614 = icmp eq ptr %613, null
  br i1 %614, label %615, label %638

615:                                              ; preds = %611
  %616 = tail call ptr @__errno_location() #13
  %617 = load i32, ptr %616, align 4, !tbaa !5
  %618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %619 = call i32 @s2n_print_stacktrace(ptr noundef %618) #12
  %620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %621 = trunc nuw i8 %620 to i1
  br i1 %621, label %622, label %626

622:                                              ; preds = %615
  %623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %624 = call i32 @fileno(ptr noundef %623) #12
  %625 = call i32 @isatty(i32 noundef %624) #12
  %.not1676 = icmp eq i32 %625, 0
  br i1 %.not1676, label %626, label %627

626:                                              ; preds = %622, %615
  br label %627

627:                                              ; preds = %622, %626
  %.str.5.sink1889 = phi ptr [ @.str.5, %626 ], [ @.str.2, %622 ]
  store i32 %617, ptr %616, align 4, !tbaa !5
  %628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %629 = load i32, ptr @test_count, align 4, !tbaa !5
  %630 = load i32, ptr %585, align 4, !tbaa !5
  %631 = call ptr @s2n_strerror(i32 noundef %630, ptr noundef nonnull @.str.4) #12
  %632 = load i32, ptr %585, align 4, !tbaa !5
  %633 = call ptr @s2n_strerror_debug(i32 noundef %632, ptr noundef nonnull @.str.4) #12
  %634 = load i32, ptr %616, align 4, !tbaa !5
  %635 = call ptr @strerror(i32 noundef %634) #12
  %636 = load i32, ptr %616, align 4, !tbaa !5
  %637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %628, ptr noundef nonnull %.str.5.sink1889, i32 noundef %629, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 139, ptr noundef %631, ptr noundef %633, ptr noundef %635, i32 noundef %636) #14
  call void @exit(i32 noundef 1) #15
  unreachable

638:                                              ; preds = %611
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  %639 = tail call ptr @__errno_location() #13
  store i32 0, ptr %639, align 4, !tbaa !5
  %640 = load i32, ptr @test_count, align 4, !tbaa !5
  %641 = add nsw i32 %640, 1
  store i32 %641, ptr @test_count, align 4, !tbaa !5
  %642 = call i32 @s2n_send_early_data(ptr noundef nonnull %8, ptr noundef nonnull %11, i64 noundef 1, ptr noundef null, ptr noundef nonnull %9) #12
  %643 = icmp eq i32 %642, -1
  br i1 %643, label %666, label %644

644:                                              ; preds = %638
  %645 = load i32, ptr %639, align 4, !tbaa !5
  %646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %647 = call i32 @s2n_print_stacktrace(ptr noundef %646) #12
  %648 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %649 = trunc nuw i8 %648 to i1
  br i1 %649, label %650, label %654

650:                                              ; preds = %644
  %651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %652 = call i32 @fileno(ptr noundef %651) #12
  %653 = call i32 @isatty(i32 noundef %652) #12
  %.not1186 = icmp eq i32 %653, 0
  br i1 %.not1186, label %654, label %655

654:                                              ; preds = %650, %644
  br label %655

655:                                              ; preds = %650, %654
  %.str.5.sink1898 = phi ptr [ @.str.5, %654 ], [ @.str.2, %650 ]
  store i32 %645, ptr %639, align 4, !tbaa !5
  %656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %657 = load i32, ptr @test_count, align 4, !tbaa !5
  %658 = load i32, ptr %585, align 4, !tbaa !5
  %659 = call ptr @s2n_strerror(i32 noundef %658, ptr noundef nonnull @.str.4) #12
  %660 = load i32, ptr %585, align 4, !tbaa !5
  %661 = call ptr @s2n_strerror_debug(i32 noundef %660, ptr noundef nonnull @.str.4) #12
  %662 = load i32, ptr %639, align 4, !tbaa !5
  %663 = call ptr @strerror(i32 noundef %662) #12
  %664 = load i32, ptr %639, align 4, !tbaa !5
  %665 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %656, ptr noundef nonnull %.str.5.sink1898, i32 noundef %657, ptr noundef nonnull @.str.26, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %659, ptr noundef %661, ptr noundef %663, i32 noundef %664) #14
  call void @exit(i32 noundef 1) #15
  unreachable

666:                                              ; preds = %638
  %667 = load i32, ptr @test_count, align 4, !tbaa !5
  %668 = add nsw i32 %667, 1
  store i32 %668, ptr @test_count, align 4, !tbaa !5
  %669 = load i32, ptr %585, align 4, !tbaa !5
  %670 = icmp eq i32 %669, 402653193
  br i1 %670, label %693, label %671

671:                                              ; preds = %666
  %672 = load i32, ptr %639, align 4, !tbaa !5
  %673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %674 = call i32 @s2n_print_stacktrace(ptr noundef %673) #12
  %675 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %676 = trunc nuw i8 %675 to i1
  br i1 %676, label %677, label %681

677:                                              ; preds = %671
  %678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %679 = call i32 @fileno(ptr noundef %678) #12
  %680 = call i32 @isatty(i32 noundef %679) #12
  %.not1187 = icmp eq i32 %680, 0
  br i1 %.not1187, label %681, label %682

681:                                              ; preds = %677, %671
  br label %682

682:                                              ; preds = %677, %681
  %.str.5.sink1907 = phi ptr [ @.str.5, %681 ], [ @.str.2, %677 ]
  store i32 %672, ptr %639, align 4, !tbaa !5
  %683 = load ptr, ptr @stderr, align 8, !tbaa !9
  %684 = load i32, ptr @test_count, align 4, !tbaa !5
  %685 = load i32, ptr %585, align 4, !tbaa !5
  %686 = call ptr @s2n_strerror(i32 noundef %685, ptr noundef nonnull @.str.4) #12
  %687 = load i32, ptr %585, align 4, !tbaa !5
  %688 = call ptr @s2n_strerror_debug(i32 noundef %687, ptr noundef nonnull @.str.4) #12
  %689 = load i32, ptr %639, align 4, !tbaa !5
  %690 = call ptr @strerror(i32 noundef %689) #12
  %691 = load i32, ptr %639, align 4, !tbaa !5
  %692 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %683, ptr noundef nonnull %.str.5.sink1907, i32 noundef %684, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %686, ptr noundef %688, ptr noundef %690, i32 noundef %691) #14
  call void @exit(i32 noundef 1) #15
  unreachable

693:                                              ; preds = %666
  %694 = add nsw i32 %667, 2
  store i32 %694, ptr @test_count, align 4, !tbaa !5
  %695 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %696 = icmp eq ptr %695, null
  br i1 %696, label %697, label %719

697:                                              ; preds = %693
  %698 = load i32, ptr %639, align 4, !tbaa !5
  %699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %700 = call i32 @s2n_print_stacktrace(ptr noundef %699) #12
  %701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %702 = trunc nuw i8 %701 to i1
  br i1 %702, label %703, label %707

703:                                              ; preds = %697
  %704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %705 = call i32 @fileno(ptr noundef %704) #12
  %706 = call i32 @isatty(i32 noundef %705) #12
  %.not1675 = icmp eq i32 %706, 0
  br i1 %.not1675, label %707, label %708

707:                                              ; preds = %703, %697
  br label %708

708:                                              ; preds = %703, %707
  %.str.5.sink1916 = phi ptr [ @.str.5, %707 ], [ @.str.2, %703 ]
  store i32 %698, ptr %639, align 4, !tbaa !5
  %709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %710 = load i32, ptr @test_count, align 4, !tbaa !5
  %711 = load i32, ptr %585, align 4, !tbaa !5
  %712 = call ptr @s2n_strerror(i32 noundef %711, ptr noundef nonnull @.str.4) #12
  %713 = load i32, ptr %585, align 4, !tbaa !5
  %714 = call ptr @s2n_strerror_debug(i32 noundef %713, ptr noundef nonnull @.str.4) #12
  %715 = load i32, ptr %639, align 4, !tbaa !5
  %716 = call ptr @strerror(i32 noundef %715) #12
  %717 = load i32, ptr %639, align 4, !tbaa !5
  %718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %709, ptr noundef nonnull %.str.5.sink1916, i32 noundef %710, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 140, ptr noundef %712, ptr noundef %714, ptr noundef %716, i32 noundef %717) #14
  call void @exit(i32 noundef 1) #15
  unreachable

719:                                              ; preds = %693
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %720 = load i32, ptr @test_count, align 4, !tbaa !5
  %721 = add nsw i32 %720, 1
  store i32 %721, ptr @test_count, align 4, !tbaa !5
  %722 = call i32 @s2n_send_early_data(ptr noundef nonnull %8, ptr noundef nonnull %11, i64 noundef 1, ptr noundef nonnull %10, ptr noundef null) #12
  %723 = icmp eq i32 %722, -1
  br i1 %723, label %746, label %724

724:                                              ; preds = %719
  %725 = load i32, ptr %639, align 4, !tbaa !5
  %726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %727 = call i32 @s2n_print_stacktrace(ptr noundef %726) #12
  %728 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %729 = trunc nuw i8 %728 to i1
  br i1 %729, label %730, label %734

730:                                              ; preds = %724
  %731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %732 = call i32 @fileno(ptr noundef %731) #12
  %733 = call i32 @isatty(i32 noundef %732) #12
  %.not1188 = icmp eq i32 %733, 0
  br i1 %.not1188, label %734, label %735

734:                                              ; preds = %730, %724
  br label %735

735:                                              ; preds = %730, %734
  %.str.5.sink1925 = phi ptr [ @.str.5, %734 ], [ @.str.2, %730 ]
  store i32 %725, ptr %639, align 4, !tbaa !5
  %736 = load ptr, ptr @stderr, align 8, !tbaa !9
  %737 = load i32, ptr @test_count, align 4, !tbaa !5
  %738 = load i32, ptr %585, align 4, !tbaa !5
  %739 = call ptr @s2n_strerror(i32 noundef %738, ptr noundef nonnull @.str.4) #12
  %740 = load i32, ptr %585, align 4, !tbaa !5
  %741 = call ptr @s2n_strerror_debug(i32 noundef %740, ptr noundef nonnull @.str.4) #12
  %742 = load i32, ptr %639, align 4, !tbaa !5
  %743 = call ptr @strerror(i32 noundef %742) #12
  %744 = load i32, ptr %639, align 4, !tbaa !5
  %745 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %736, ptr noundef nonnull %.str.5.sink1925, i32 noundef %737, ptr noundef nonnull @.str.27, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %739, ptr noundef %741, ptr noundef %743, i32 noundef %744) #14
  call void @exit(i32 noundef 1) #15
  unreachable

746:                                              ; preds = %719
  %747 = load i32, ptr @test_count, align 4, !tbaa !5
  %748 = add nsw i32 %747, 1
  store i32 %748, ptr @test_count, align 4, !tbaa !5
  %749 = load i32, ptr %585, align 4, !tbaa !5
  %750 = icmp eq i32 %749, 402653193
  br i1 %750, label %773, label %751

751:                                              ; preds = %746
  %752 = load i32, ptr %639, align 4, !tbaa !5
  %753 = load ptr, ptr @stderr, align 8, !tbaa !9
  %754 = call i32 @s2n_print_stacktrace(ptr noundef %753) #12
  %755 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %756 = trunc nuw i8 %755 to i1
  br i1 %756, label %757, label %761

757:                                              ; preds = %751
  %758 = load ptr, ptr @stderr, align 8, !tbaa !9
  %759 = call i32 @fileno(ptr noundef %758) #12
  %760 = call i32 @isatty(i32 noundef %759) #12
  %.not1189 = icmp eq i32 %760, 0
  br i1 %.not1189, label %761, label %762

761:                                              ; preds = %757, %751
  br label %762

762:                                              ; preds = %757, %761
  %.str.5.sink1934 = phi ptr [ @.str.5, %761 ], [ @.str.2, %757 ]
  store i32 %752, ptr %639, align 4, !tbaa !5
  %763 = load ptr, ptr @stderr, align 8, !tbaa !9
  %764 = load i32, ptr @test_count, align 4, !tbaa !5
  %765 = load i32, ptr %585, align 4, !tbaa !5
  %766 = call ptr @s2n_strerror(i32 noundef %765, ptr noundef nonnull @.str.4) #12
  %767 = load i32, ptr %585, align 4, !tbaa !5
  %768 = call ptr @s2n_strerror_debug(i32 noundef %767, ptr noundef nonnull @.str.4) #12
  %769 = load i32, ptr %639, align 4, !tbaa !5
  %770 = call ptr @strerror(i32 noundef %769) #12
  %771 = load i32, ptr %639, align 4, !tbaa !5
  %772 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %763, ptr noundef nonnull %.str.5.sink1934, i32 noundef %764, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %766, ptr noundef %768, ptr noundef %770, i32 noundef %771) #14
  call void @exit(i32 noundef 1) #15
  unreachable

773:                                              ; preds = %746
  %774 = add nsw i32 %747, 2
  store i32 %774, ptr @test_count, align 4, !tbaa !5
  %775 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %776 = icmp eq ptr %775, null
  br i1 %776, label %777, label %799

777:                                              ; preds = %773
  %778 = load i32, ptr %639, align 4, !tbaa !5
  %779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %780 = call i32 @s2n_print_stacktrace(ptr noundef %779) #12
  %781 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %782 = trunc nuw i8 %781 to i1
  br i1 %782, label %783, label %787

783:                                              ; preds = %777
  %784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %785 = call i32 @fileno(ptr noundef %784) #12
  %786 = call i32 @isatty(i32 noundef %785) #12
  %.not1674 = icmp eq i32 %786, 0
  br i1 %.not1674, label %787, label %788

787:                                              ; preds = %783, %777
  br label %788

788:                                              ; preds = %783, %787
  %.str.5.sink1943 = phi ptr [ @.str.5, %787 ], [ @.str.2, %783 ]
  store i32 %778, ptr %639, align 4, !tbaa !5
  %789 = load ptr, ptr @stderr, align 8, !tbaa !9
  %790 = load i32, ptr @test_count, align 4, !tbaa !5
  %791 = load i32, ptr %585, align 4, !tbaa !5
  %792 = call ptr @s2n_strerror(i32 noundef %791, ptr noundef nonnull @.str.4) #12
  %793 = load i32, ptr %585, align 4, !tbaa !5
  %794 = call ptr @s2n_strerror_debug(i32 noundef %793, ptr noundef nonnull @.str.4) #12
  %795 = load i32, ptr %639, align 4, !tbaa !5
  %796 = call ptr @strerror(i32 noundef %795) #12
  %797 = load i32, ptr %639, align 4, !tbaa !5
  %798 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %789, ptr noundef nonnull %.str.5.sink1943, i32 noundef %790, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 141, ptr noundef %792, ptr noundef %794, ptr noundef %796, i32 noundef %797) #14
  call void @exit(i32 noundef 1) #15
  unreachable

799:                                              ; preds = %773
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  store i32 0, ptr %553, align 4, !tbaa !15
  %800 = load i32, ptr @test_count, align 4, !tbaa !5
  %801 = add nsw i32 %800, 1
  store i32 %801, ptr @test_count, align 4, !tbaa !5
  %802 = call i32 @s2n_send_early_data(ptr noundef nonnull %8, ptr noundef nonnull %11, i64 noundef 1, ptr noundef nonnull %10, ptr noundef nonnull %9) #12
  %803 = icmp eq i32 %802, -1
  br i1 %803, label %826, label %804

804:                                              ; preds = %799
  %805 = load i32, ptr %639, align 4, !tbaa !5
  %806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %807 = call i32 @s2n_print_stacktrace(ptr noundef %806) #12
  %808 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %809 = trunc nuw i8 %808 to i1
  br i1 %809, label %810, label %814

810:                                              ; preds = %804
  %811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %812 = call i32 @fileno(ptr noundef %811) #12
  %813 = call i32 @isatty(i32 noundef %812) #12
  %.not1190 = icmp eq i32 %813, 0
  br i1 %.not1190, label %814, label %815

814:                                              ; preds = %810, %804
  br label %815

815:                                              ; preds = %810, %814
  %.str.5.sink1952 = phi ptr [ @.str.5, %814 ], [ @.str.2, %810 ]
  store i32 %805, ptr %639, align 4, !tbaa !5
  %816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %817 = load i32, ptr @test_count, align 4, !tbaa !5
  %818 = load i32, ptr %585, align 4, !tbaa !5
  %819 = call ptr @s2n_strerror(i32 noundef %818, ptr noundef nonnull @.str.4) #12
  %820 = load i32, ptr %585, align 4, !tbaa !5
  %821 = call ptr @s2n_strerror_debug(i32 noundef %820, ptr noundef nonnull @.str.4) #12
  %822 = load i32, ptr %639, align 4, !tbaa !5
  %823 = call ptr @strerror(i32 noundef %822) #12
  %824 = load i32, ptr %639, align 4, !tbaa !5
  %825 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %816, ptr noundef nonnull %.str.5.sink1952, i32 noundef %817, ptr noundef nonnull @.str.28, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %819, ptr noundef %821, ptr noundef %823, i32 noundef %824) #14
  call void @exit(i32 noundef 1) #15
  unreachable

826:                                              ; preds = %799
  %827 = load i32, ptr @test_count, align 4, !tbaa !5
  %828 = add nsw i32 %827, 1
  store i32 %828, ptr @test_count, align 4, !tbaa !5
  %829 = load i32, ptr %585, align 4, !tbaa !5
  %830 = icmp eq i32 %829, 469762049
  br i1 %830, label %853, label %831

831:                                              ; preds = %826
  %832 = load i32, ptr %639, align 4, !tbaa !5
  %833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %834 = call i32 @s2n_print_stacktrace(ptr noundef %833) #12
  %835 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %836 = trunc nuw i8 %835 to i1
  br i1 %836, label %837, label %841

837:                                              ; preds = %831
  %838 = load ptr, ptr @stderr, align 8, !tbaa !9
  %839 = call i32 @fileno(ptr noundef %838) #12
  %840 = call i32 @isatty(i32 noundef %839) #12
  %.not1191 = icmp eq i32 %840, 0
  br i1 %.not1191, label %841, label %842

841:                                              ; preds = %837, %831
  br label %842

842:                                              ; preds = %837, %841
  %.str.5.sink1961 = phi ptr [ @.str.5, %841 ], [ @.str.2, %837 ]
  store i32 %832, ptr %639, align 4, !tbaa !5
  %843 = load ptr, ptr @stderr, align 8, !tbaa !9
  %844 = load i32, ptr @test_count, align 4, !tbaa !5
  %845 = load i32, ptr %585, align 4, !tbaa !5
  %846 = call ptr @s2n_strerror(i32 noundef %845, ptr noundef nonnull @.str.4) #12
  %847 = load i32, ptr %585, align 4, !tbaa !5
  %848 = call ptr @s2n_strerror_debug(i32 noundef %847, ptr noundef nonnull @.str.4) #12
  %849 = load i32, ptr %639, align 4, !tbaa !5
  %850 = call ptr @strerror(i32 noundef %849) #12
  %851 = load i32, ptr %639, align 4, !tbaa !5
  %852 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %843, ptr noundef nonnull %.str.5.sink1961, i32 noundef %844, ptr noundef nonnull @.str.29, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %846, ptr noundef %848, ptr noundef %850, i32 noundef %851) #14
  call void @exit(i32 noundef 1) #15
  unreachable

853:                                              ; preds = %826
  %854 = add nsw i32 %827, 2
  store i32 %854, ptr @test_count, align 4, !tbaa !5
  %855 = call ptr @s2n_strerror_debug(i32 noundef 469762049, ptr noundef nonnull @.str.4) #12
  %856 = icmp eq ptr %855, null
  br i1 %856, label %857, label %879

857:                                              ; preds = %853
  %858 = load i32, ptr %639, align 4, !tbaa !5
  %859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %860 = call i32 @s2n_print_stacktrace(ptr noundef %859) #12
  %861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %862 = trunc nuw i8 %861 to i1
  br i1 %862, label %863, label %867

863:                                              ; preds = %857
  %864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %865 = call i32 @fileno(ptr noundef %864) #12
  %866 = call i32 @isatty(i32 noundef %865) #12
  %.not1673 = icmp eq i32 %866, 0
  br i1 %.not1673, label %867, label %868

867:                                              ; preds = %863, %857
  br label %868

868:                                              ; preds = %863, %867
  %.str.5.sink1970 = phi ptr [ @.str.5, %867 ], [ @.str.2, %863 ]
  store i32 %858, ptr %639, align 4, !tbaa !5
  %869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %870 = load i32, ptr @test_count, align 4, !tbaa !5
  %871 = load i32, ptr %585, align 4, !tbaa !5
  %872 = call ptr @s2n_strerror(i32 noundef %871, ptr noundef nonnull @.str.4) #12
  %873 = load i32, ptr %585, align 4, !tbaa !5
  %874 = call ptr @s2n_strerror_debug(i32 noundef %873, ptr noundef nonnull @.str.4) #12
  %875 = load i32, ptr %639, align 4, !tbaa !5
  %876 = call ptr @strerror(i32 noundef %875) #12
  %877 = load i32, ptr %639, align 4, !tbaa !5
  %878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %869, ptr noundef nonnull %.str.5.sink1970, i32 noundef %870, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 144, ptr noundef %872, ptr noundef %874, ptr noundef %876, i32 noundef %877) #14
  call void @exit(i32 noundef 1) #15
  unreachable

879:                                              ; preds = %853
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %11) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %10) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %9) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %8) #12
  %880 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %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 = icmp eq ptr %880, null
  br i1 %883, label %884, label %906

884:                                              ; preds = %879
  %885 = load i32, ptr %639, align 4, !tbaa !5
  %886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %887 = call i32 @s2n_print_stacktrace(ptr noundef %886) #12
  %888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %889 = trunc nuw i8 %888 to i1
  br i1 %889, label %890, label %894

890:                                              ; preds = %884
  %891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %892 = call i32 @fileno(ptr noundef %891) #12
  %893 = call i32 @isatty(i32 noundef %892) #12
  %.not1672 = icmp eq i32 %893, 0
  br i1 %.not1672, label %894, label %895

894:                                              ; preds = %890, %884
  br label %895

895:                                              ; preds = %890, %894
  %.str.5.sink1979 = phi ptr [ @.str.5, %894 ], [ @.str.2, %890 ]
  store i32 %885, ptr %639, align 4, !tbaa !5
  %896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %897 = load i32, ptr @test_count, align 4, !tbaa !5
  %898 = load i32, ptr %585, align 4, !tbaa !5
  %899 = call ptr @s2n_strerror(i32 noundef %898, ptr noundef nonnull @.str.4) #12
  %900 = load i32, ptr %585, align 4, !tbaa !5
  %901 = call ptr @s2n_strerror_debug(i32 noundef %900, ptr noundef nonnull @.str.4) #12
  %902 = load i32, ptr %639, align 4, !tbaa !5
  %903 = call ptr @strerror(i32 noundef %902) #12
  %904 = load i32, ptr %639, align 4, !tbaa !5
  %905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %896, ptr noundef nonnull %.str.5.sink1979, i32 noundef %897, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 150, ptr noundef %899, ptr noundef %901, ptr noundef %903, i32 noundef %904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

906:                                              ; preds = %879
  %907 = add nsw i32 %881, 2
  store i32 %907, ptr @test_count, align 4, !tbaa !5
  %908 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %880, ptr noundef nonnull @.str.31) #12
  %909 = icmp eq i32 %908, -1
  br i1 %909, label %910, label %932

910:                                              ; preds = %906
  %911 = load i32, ptr %639, align 4, !tbaa !5
  %912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %913 = call i32 @s2n_print_stacktrace(ptr noundef %912) #12
  %914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %915 = trunc nuw i8 %914 to i1
  br i1 %915, label %916, label %920

916:                                              ; preds = %910
  %917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %918 = call i32 @fileno(ptr noundef %917) #12
  %919 = call i32 @isatty(i32 noundef %918) #12
  %.not1671 = icmp eq i32 %919, 0
  br i1 %.not1671, label %920, label %921

920:                                              ; preds = %916, %910
  br label %921

921:                                              ; preds = %916, %920
  %.str.5.sink1988 = phi ptr [ @.str.5, %920 ], [ @.str.2, %916 ]
  store i32 %911, ptr %639, align 4, !tbaa !5
  %922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %923 = load i32, ptr @test_count, align 4, !tbaa !5
  %924 = load i32, ptr %585, align 4, !tbaa !5
  %925 = call ptr @s2n_strerror(i32 noundef %924, ptr noundef nonnull @.str.4) #12
  %926 = load i32, ptr %585, align 4, !tbaa !5
  %927 = call ptr @s2n_strerror_debug(i32 noundef %926, ptr noundef nonnull @.str.4) #12
  %928 = load i32, ptr %639, align 4, !tbaa !5
  %929 = call ptr @strerror(i32 noundef %928) #12
  %930 = load i32, ptr %639, align 4, !tbaa !5
  %931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %922, ptr noundef nonnull %.str.5.sink1988, i32 noundef %923, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 151, ptr noundef %925, ptr noundef %927, ptr noundef %929, i32 noundef %930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

932:                                              ; preds = %906
  %933 = load i32, ptr @test_count, align 4, !tbaa !5
  %934 = add nsw i32 %933, 1
  store i32 %934, ptr @test_count, align 4, !tbaa !5
  %935 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %880, ptr noundef %289) #12
  %936 = icmp eq i32 %935, -1
  br i1 %936, label %937, label %959

937:                                              ; preds = %932
  %938 = load i32, ptr %639, align 4, !tbaa !5
  %939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %940 = call i32 @s2n_print_stacktrace(ptr noundef %939) #12
  %941 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %942 = trunc nuw i8 %941 to i1
  br i1 %942, label %943, label %947

943:                                              ; preds = %937
  %944 = load ptr, ptr @stderr, align 8, !tbaa !9
  %945 = call i32 @fileno(ptr noundef %944) #12
  %946 = call i32 @isatty(i32 noundef %945) #12
  %.not1670 = icmp eq i32 %946, 0
  br i1 %.not1670, label %947, label %948

947:                                              ; preds = %943, %937
  br label %948

948:                                              ; preds = %943, %947
  %.str.5.sink1997 = phi ptr [ @.str.5, %947 ], [ @.str.2, %943 ]
  store i32 %938, ptr %639, align 4, !tbaa !5
  %949 = load ptr, ptr @stderr, align 8, !tbaa !9
  %950 = load i32, ptr @test_count, align 4, !tbaa !5
  %951 = load i32, ptr %585, align 4, !tbaa !5
  %952 = call ptr @s2n_strerror(i32 noundef %951, ptr noundef nonnull @.str.4) #12
  %953 = load i32, ptr %585, align 4, !tbaa !5
  %954 = call ptr @s2n_strerror_debug(i32 noundef %953, ptr noundef nonnull @.str.4) #12
  %955 = load i32, ptr %639, align 4, !tbaa !5
  %956 = call ptr @strerror(i32 noundef %955) #12
  %957 = load i32, ptr %639, align 4, !tbaa !5
  %958 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %949, ptr noundef nonnull %.str.5.sink1997, i32 noundef %950, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 152, ptr noundef %952, ptr noundef %954, ptr noundef %956, i32 noundef %957) #14
  call void @exit(i32 noundef 1) #15
  unreachable

959:                                              ; preds = %932
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %12) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %12, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %13) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %13, i8 0, i64 40, i1 false)
  %960 = load i32, ptr @test_count, align 4, !tbaa !5
  %961 = add nsw i32 %960, 1
  store i32 %961, ptr @test_count, align 4, !tbaa !5
  %962 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %12, i32 noundef 8092) #12
  %963 = icmp eq i32 %962, -1
  br i1 %963, label %964, label %986

964:                                              ; preds = %959
  %965 = load i32, ptr %639, align 4, !tbaa !5
  %966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %967 = call i32 @s2n_print_stacktrace(ptr noundef %966) #12
  %968 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %969 = trunc nuw i8 %968 to i1
  br i1 %969, label %970, label %974

970:                                              ; preds = %964
  %971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %972 = call i32 @fileno(ptr noundef %971) #12
  %973 = call i32 @isatty(i32 noundef %972) #12
  %.not1669 = icmp eq i32 %973, 0
  br i1 %.not1669, label %974, label %975

974:                                              ; preds = %970, %964
  br label %975

975:                                              ; preds = %970, %974
  %.str.5.sink2006 = phi ptr [ @.str.5, %974 ], [ @.str.2, %970 ]
  store i32 %965, ptr %639, align 4, !tbaa !5
  %976 = load ptr, ptr @stderr, align 8, !tbaa !9
  %977 = load i32, ptr @test_count, align 4, !tbaa !5
  %978 = load i32, ptr %585, align 4, !tbaa !5
  %979 = call ptr @s2n_strerror(i32 noundef %978, ptr noundef nonnull @.str.4) #12
  %980 = load i32, ptr %585, align 4, !tbaa !5
  %981 = call ptr @s2n_strerror_debug(i32 noundef %980, ptr noundef nonnull @.str.4) #12
  %982 = load i32, ptr %639, align 4, !tbaa !5
  %983 = call ptr @strerror(i32 noundef %982) #12
  %984 = load i32, ptr %639, align 4, !tbaa !5
  %985 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %976, ptr noundef nonnull %.str.5.sink2006, i32 noundef %977, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 156, ptr noundef %979, ptr noundef %981, ptr noundef %983, i32 noundef %984) #14
  call void @exit(i32 noundef 1) #15
  unreachable

986:                                              ; preds = %959
  %987 = load i32, ptr @test_count, align 4, !tbaa !5
  %988 = add nsw i32 %987, 1
  store i32 %988, ptr @test_count, align 4, !tbaa !5
  %989 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %13, i32 noundef 8092) #12
  %990 = icmp eq i32 %989, -1
  br i1 %990, label %991, label %1013

991:                                              ; preds = %986
  %992 = load i32, ptr %639, align 4, !tbaa !5
  %993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %994 = call i32 @s2n_print_stacktrace(ptr noundef %993) #12
  %995 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %996 = trunc nuw i8 %995 to i1
  br i1 %996, label %997, label %1001

997:                                              ; preds = %991
  %998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %999 = call i32 @fileno(ptr noundef %998) #12
  %1000 = call i32 @isatty(i32 noundef %999) #12
  %.not1668 = icmp eq i32 %1000, 0
  br i1 %.not1668, label %1001, label %1002

1001:                                             ; preds = %997, %991
  br label %1002

1002:                                             ; preds = %997, %1001
  %.str.5.sink2015 = phi ptr [ @.str.5, %1001 ], [ @.str.2, %997 ]
  store i32 %992, ptr %639, align 4, !tbaa !5
  %1003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1004 = load i32, ptr @test_count, align 4, !tbaa !5
  %1005 = load i32, ptr %585, align 4, !tbaa !5
  %1006 = call ptr @s2n_strerror(i32 noundef %1005, ptr noundef nonnull @.str.4) #12
  %1007 = load i32, ptr %585, align 4, !tbaa !5
  %1008 = call ptr @s2n_strerror_debug(i32 noundef %1007, ptr noundef nonnull @.str.4) #12
  %1009 = load i32, ptr %639, align 4, !tbaa !5
  %1010 = call ptr @strerror(i32 noundef %1009) #12
  %1011 = load i32, ptr %639, align 4, !tbaa !5
  %1012 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1003, ptr noundef nonnull %.str.5.sink2015, i32 noundef %1004, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 157, ptr noundef %1006, ptr noundef %1008, ptr noundef %1010, i32 noundef %1011) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1013:                                             ; preds = %986
  %1014 = load i32, ptr @test_count, align 4, !tbaa !5
  %1015 = add nsw i32 %1014, 1
  store i32 %1015, ptr @test_count, align 4, !tbaa !5
  %1016 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %12, ptr noundef nonnull %13, ptr noundef nonnull %880) #12
  %1017 = icmp eq i32 %1016, -1
  br i1 %1017, label %1018, label %1040

1018:                                             ; preds = %1013
  %1019 = load i32, ptr %639, align 4, !tbaa !5
  %1020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1021 = call i32 @s2n_print_stacktrace(ptr noundef %1020) #12
  %1022 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1023 = trunc nuw i8 %1022 to i1
  br i1 %1023, label %1024, label %1028

1024:                                             ; preds = %1018
  %1025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1026 = call i32 @fileno(ptr noundef %1025) #12
  %1027 = call i32 @isatty(i32 noundef %1026) #12
  %.not1667 = icmp eq i32 %1027, 0
  br i1 %.not1667, label %1028, label %1029

1028:                                             ; preds = %1024, %1018
  br label %1029

1029:                                             ; preds = %1024, %1028
  %.str.5.sink2024 = phi ptr [ @.str.5, %1028 ], [ @.str.2, %1024 ]
  store i32 %1019, ptr %639, align 4, !tbaa !5
  %1030 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1031 = load i32, ptr @test_count, align 4, !tbaa !5
  %1032 = load i32, ptr %585, align 4, !tbaa !5
  %1033 = call ptr @s2n_strerror(i32 noundef %1032, ptr noundef nonnull @.str.4) #12
  %1034 = load i32, ptr %585, align 4, !tbaa !5
  %1035 = call ptr @s2n_strerror_debug(i32 noundef %1034, ptr noundef nonnull @.str.4) #12
  %1036 = load i32, ptr %639, align 4, !tbaa !5
  %1037 = call ptr @strerror(i32 noundef %1036) #12
  %1038 = load i32, ptr %639, align 4, !tbaa !5
  %1039 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1030, ptr noundef nonnull %.str.5.sink2024, i32 noundef %1031, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 158, ptr noundef %1033, ptr noundef %1035, ptr noundef %1037, i32 noundef %1038) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1040:                                             ; preds = %1013
  %1041 = load i32, ptr @test_count, align 4, !tbaa !5
  %1042 = add nsw i32 %1041, 1
  store i32 %1042, ptr @test_count, align 4, !tbaa !5
  %1043 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %12, ptr noundef nonnull %4, i32 noundef 9) #12
  %1044 = icmp eq i32 %1043, -1
  br i1 %1044, label %1045, label %1067

1045:                                             ; preds = %1040
  %1046 = load i32, ptr %639, align 4, !tbaa !5
  %1047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1048 = call i32 @s2n_print_stacktrace(ptr noundef %1047) #12
  %1049 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1050 = trunc nuw i8 %1049 to i1
  br i1 %1050, label %1051, label %1055

1051:                                             ; preds = %1045
  %1052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1053 = call i32 @fileno(ptr noundef %1052) #12
  %1054 = call i32 @isatty(i32 noundef %1053) #12
  %.not1666 = icmp eq i32 %1054, 0
  br i1 %.not1666, label %1055, label %1056

1055:                                             ; preds = %1051, %1045
  br label %1056

1056:                                             ; preds = %1051, %1055
  %.str.5.sink2033 = phi ptr [ @.str.5, %1055 ], [ @.str.2, %1051 ]
  store i32 %1046, ptr %639, align 4, !tbaa !5
  %1057 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1058 = load i32, ptr @test_count, align 4, !tbaa !5
  %1059 = load i32, ptr %585, align 4, !tbaa !5
  %1060 = call ptr @s2n_strerror(i32 noundef %1059, ptr noundef nonnull @.str.4) #12
  %1061 = load i32, ptr %585, align 4, !tbaa !5
  %1062 = call ptr @s2n_strerror_debug(i32 noundef %1061, ptr noundef nonnull @.str.4) #12
  %1063 = load i32, ptr %639, align 4, !tbaa !5
  %1064 = call ptr @strerror(i32 noundef %1063) #12
  %1065 = load i32, ptr %639, align 4, !tbaa !5
  %1066 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1057, ptr noundef nonnull %.str.5.sink2033, i32 noundef %1058, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 160, ptr noundef %1060, ptr noundef %1062, ptr noundef %1064, i32 noundef %1065) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1067:                                             ; preds = %1040
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %14) #12
  store i32 0, ptr %14, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %15) #12
  store i64 0, ptr %15, align 8, !tbaa !42
  %1068 = load i32, ptr @test_count, align 4, !tbaa !5
  %1069 = add nsw i32 %1068, 1
  store i32 %1069, ptr @test_count, align 4, !tbaa !5
  %1070 = call i32 @s2n_send_early_data(ptr noundef nonnull %880, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %15, ptr noundef nonnull %14) #12
  %1071 = icmp eq i32 %1070, -1
  br i1 %1071, label %1094, label %1072

1072:                                             ; preds = %1067
  %1073 = load i32, ptr %639, align 4, !tbaa !5
  %1074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1075 = call i32 @s2n_print_stacktrace(ptr noundef %1074) #12
  %1076 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1077 = trunc nuw i8 %1076 to i1
  br i1 %1077, label %1078, label %1082

1078:                                             ; preds = %1072
  %1079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1080 = call i32 @fileno(ptr noundef %1079) #12
  %1081 = call i32 @isatty(i32 noundef %1080) #12
  %.not1192 = icmp eq i32 %1081, 0
  br i1 %.not1192, label %1082, label %1083

1082:                                             ; preds = %1078, %1072
  br label %1083

1083:                                             ; preds = %1078, %1082
  %.str.5.sink2042 = phi ptr [ @.str.5, %1082 ], [ @.str.2, %1078 ]
  store i32 %1073, ptr %639, align 4, !tbaa !5
  %1084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1085 = load i32, ptr @test_count, align 4, !tbaa !5
  %1086 = load i32, ptr %585, align 4, !tbaa !5
  %1087 = call ptr @s2n_strerror(i32 noundef %1086, ptr noundef nonnull @.str.4) #12
  %1088 = load i32, ptr %585, align 4, !tbaa !5
  %1089 = call ptr @s2n_strerror_debug(i32 noundef %1088, ptr noundef nonnull @.str.4) #12
  %1090 = load i32, ptr %639, align 4, !tbaa !5
  %1091 = call ptr @strerror(i32 noundef %1090) #12
  %1092 = load i32, ptr %639, align 4, !tbaa !5
  %1093 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1084, ptr noundef nonnull %.str.5.sink2042, i32 noundef %1085, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1087, ptr noundef %1089, ptr noundef %1091, i32 noundef %1092) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1094:                                             ; preds = %1067
  %1095 = load i32, ptr @test_count, align 4, !tbaa !5
  %1096 = add nsw i32 %1095, 1
  store i32 %1096, ptr @test_count, align 4, !tbaa !5
  %1097 = load i32, ptr %585, align 4, !tbaa !5
  %1098 = icmp eq i32 %1097, 335544322
  br i1 %1098, label %1121, label %1099

1099:                                             ; preds = %1094
  %1100 = load i32, ptr %639, align 4, !tbaa !5
  %1101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1102 = call i32 @s2n_print_stacktrace(ptr noundef %1101) #12
  %1103 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1104 = trunc nuw i8 %1103 to i1
  br i1 %1104, label %1105, label %1109

1105:                                             ; preds = %1099
  %1106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1107 = call i32 @fileno(ptr noundef %1106) #12
  %1108 = call i32 @isatty(i32 noundef %1107) #12
  %.not1193 = icmp eq i32 %1108, 0
  br i1 %.not1193, label %1109, label %1110

1109:                                             ; preds = %1105, %1099
  br label %1110

1110:                                             ; preds = %1105, %1109
  %.str.5.sink2051 = phi ptr [ @.str.5, %1109 ], [ @.str.2, %1105 ]
  store i32 %1100, ptr %639, align 4, !tbaa !5
  %1111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1112 = load i32, ptr @test_count, align 4, !tbaa !5
  %1113 = load i32, ptr %585, align 4, !tbaa !5
  %1114 = call ptr @s2n_strerror(i32 noundef %1113, ptr noundef nonnull @.str.4) #12
  %1115 = load i32, ptr %585, align 4, !tbaa !5
  %1116 = call ptr @s2n_strerror_debug(i32 noundef %1115, ptr noundef nonnull @.str.4) #12
  %1117 = load i32, ptr %639, align 4, !tbaa !5
  %1118 = call ptr @strerror(i32 noundef %1117) #12
  %1119 = load i32, ptr %639, align 4, !tbaa !5
  %1120 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1111, ptr noundef nonnull %.str.5.sink2051, i32 noundef %1112, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1114, ptr noundef %1116, ptr noundef %1118, i32 noundef %1119) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1121:                                             ; preds = %1094
  %1122 = add nsw i32 %1095, 2
  store i32 %1122, ptr @test_count, align 4, !tbaa !5
  %1123 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %1124 = icmp eq ptr %1123, null
  br i1 %1124, label %1125, label %1147

1125:                                             ; preds = %1121
  %1126 = load i32, ptr %639, align 4, !tbaa !5
  %1127 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1128 = call i32 @s2n_print_stacktrace(ptr noundef %1127) #12
  %1129 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1130 = trunc nuw i8 %1129 to i1
  br i1 %1130, label %1131, label %1135

1131:                                             ; preds = %1125
  %1132 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1133 = call i32 @fileno(ptr noundef %1132) #12
  %1134 = call i32 @isatty(i32 noundef %1133) #12
  %.not1665 = icmp eq i32 %1134, 0
  br i1 %.not1665, label %1135, label %1136

1135:                                             ; preds = %1131, %1125
  br label %1136

1136:                                             ; preds = %1131, %1135
  %.str.5.sink2060 = phi ptr [ @.str.5, %1135 ], [ @.str.2, %1131 ]
  store i32 %1126, ptr %639, align 4, !tbaa !5
  %1137 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1138 = load i32, ptr @test_count, align 4, !tbaa !5
  %1139 = load i32, ptr %585, align 4, !tbaa !5
  %1140 = call ptr @s2n_strerror(i32 noundef %1139, ptr noundef nonnull @.str.4) #12
  %1141 = load i32, ptr %585, align 4, !tbaa !5
  %1142 = call ptr @s2n_strerror_debug(i32 noundef %1141, ptr noundef nonnull @.str.4) #12
  %1143 = load i32, ptr %639, align 4, !tbaa !5
  %1144 = call ptr @strerror(i32 noundef %1143) #12
  %1145 = load i32, ptr %639, align 4, !tbaa !5
  %1146 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1137, ptr noundef nonnull %.str.5.sink2060, i32 noundef %1138, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 166, ptr noundef %1140, ptr noundef %1142, ptr noundef %1144, i32 noundef %1145) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1147:                                             ; preds = %1121
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %1148 = load i32, ptr @test_count, align 4, !tbaa !5
  %1149 = add nsw i32 %1148, 1
  store i32 %1149, ptr @test_count, align 4, !tbaa !5
  %1150 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %880) #12
  %1151 = icmp eq i32 %1150, 1
  br i1 %1151, label %1174, label %1152

1152:                                             ; preds = %1147
  %1153 = load i32, ptr %639, align 4, !tbaa !5
  %1154 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1155 = call i32 @s2n_print_stacktrace(ptr noundef %1154) #12
  %1156 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1157 = trunc nuw i8 %1156 to i1
  br i1 %1157, label %1158, label %1162

1158:                                             ; preds = %1152
  %1159 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1160 = call i32 @fileno(ptr noundef %1159) #12
  %1161 = call i32 @isatty(i32 noundef %1160) #12
  %.not1194 = icmp eq i32 %1161, 0
  br i1 %.not1194, label %1162, label %1163

1162:                                             ; preds = %1158, %1152
  br label %1163

1163:                                             ; preds = %1158, %1162
  %.str.5.sink2069 = phi ptr [ @.str.5, %1162 ], [ @.str.2, %1158 ]
  store i32 %1153, ptr %639, align 4, !tbaa !5
  %1164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1165 = load i32, ptr @test_count, align 4, !tbaa !5
  %1166 = load i32, ptr %585, align 4, !tbaa !5
  %1167 = call ptr @s2n_strerror(i32 noundef %1166, ptr noundef nonnull @.str.4) #12
  %1168 = load i32, ptr %585, align 4, !tbaa !5
  %1169 = call ptr @s2n_strerror_debug(i32 noundef %1168, ptr noundef nonnull @.str.4) #12
  %1170 = load i32, ptr %639, align 4, !tbaa !5
  %1171 = call ptr @strerror(i32 noundef %1170) #12
  %1172 = load i32, ptr %639, align 4, !tbaa !5
  %1173 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1164, ptr noundef nonnull %.str.5.sink2069, i32 noundef %1165, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 167, ptr noundef %1167, ptr noundef %1169, ptr noundef %1171, i32 noundef %1172) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1174:                                             ; preds = %1147
  %1175 = load i32, ptr @test_count, align 4, !tbaa !5
  %1176 = add nsw i32 %1175, 1
  store i32 %1176, ptr @test_count, align 4, !tbaa !5
  %1177 = load i64, ptr %15, align 8, !tbaa !42
  %1178 = icmp eq i64 %1177, 0
  br i1 %1178, label %1201, label %1179

1179:                                             ; preds = %1174
  %1180 = load i32, ptr %639, align 4, !tbaa !5
  %1181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1182 = call i32 @s2n_print_stacktrace(ptr noundef %1181) #12
  %1183 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1184 = trunc nuw i8 %1183 to i1
  br i1 %1184, label %1185, label %1189

1185:                                             ; preds = %1179
  %1186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1187 = call i32 @fileno(ptr noundef %1186) #12
  %1188 = call i32 @isatty(i32 noundef %1187) #12
  %.not1195 = icmp eq i32 %1188, 0
  br i1 %.not1195, label %1189, label %1190

1189:                                             ; preds = %1185, %1179
  br label %1190

1190:                                             ; preds = %1185, %1189
  %.str.5.sink2078 = phi ptr [ @.str.5, %1189 ], [ @.str.2, %1185 ]
  store i32 %1180, ptr %639, align 4, !tbaa !5
  %1191 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1192 = load i32, ptr @test_count, align 4, !tbaa !5
  %1193 = load i32, ptr %585, align 4, !tbaa !5
  %1194 = call ptr @s2n_strerror(i32 noundef %1193, ptr noundef nonnull @.str.4) #12
  %1195 = load i32, ptr %585, align 4, !tbaa !5
  %1196 = call ptr @s2n_strerror_debug(i32 noundef %1195, ptr noundef nonnull @.str.4) #12
  %1197 = load i32, ptr %639, align 4, !tbaa !5
  %1198 = call ptr @strerror(i32 noundef %1197) #12
  %1199 = load i32, ptr %639, align 4, !tbaa !5
  %1200 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1191, ptr noundef nonnull %.str.5.sink2078, i32 noundef %1192, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 168, ptr noundef %1194, ptr noundef %1196, ptr noundef %1198, i32 noundef %1199) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1201:                                             ; preds = %1174
  %1202 = add nsw i32 %1175, 2
  store i32 %1202, ptr @test_count, align 4, !tbaa !5
  %1203 = call i32 @s2n_stuffer_free(ptr noundef nonnull %12) #12
  %1204 = icmp eq i32 %1203, -1
  br i1 %1204, label %1205, label %1227

1205:                                             ; preds = %1201
  %1206 = load i32, ptr %639, align 4, !tbaa !5
  %1207 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1208 = call i32 @s2n_print_stacktrace(ptr noundef %1207) #12
  %1209 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1210 = trunc nuw i8 %1209 to i1
  br i1 %1210, label %1211, label %1215

1211:                                             ; preds = %1205
  %1212 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1213 = call i32 @fileno(ptr noundef %1212) #12
  %1214 = call i32 @isatty(i32 noundef %1213) #12
  %.not1664 = icmp eq i32 %1214, 0
  br i1 %.not1664, label %1215, label %1216

1215:                                             ; preds = %1211, %1205
  br label %1216

1216:                                             ; preds = %1211, %1215
  %.str.5.sink2087 = phi ptr [ @.str.5, %1215 ], [ @.str.2, %1211 ]
  store i32 %1206, ptr %639, align 4, !tbaa !5
  %1217 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1218 = load i32, ptr @test_count, align 4, !tbaa !5
  %1219 = load i32, ptr %585, align 4, !tbaa !5
  %1220 = call ptr @s2n_strerror(i32 noundef %1219, ptr noundef nonnull @.str.4) #12
  %1221 = load i32, ptr %585, align 4, !tbaa !5
  %1222 = call ptr @s2n_strerror_debug(i32 noundef %1221, ptr noundef nonnull @.str.4) #12
  %1223 = load i32, ptr %639, align 4, !tbaa !5
  %1224 = call ptr @strerror(i32 noundef %1223) #12
  %1225 = load i32, ptr %639, align 4, !tbaa !5
  %1226 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1217, ptr noundef nonnull %.str.5.sink2087, i32 noundef %1218, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 170, ptr noundef %1220, ptr noundef %1222, ptr noundef %1224, i32 noundef %1225) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1227:                                             ; preds = %1201
  %1228 = load i32, ptr @test_count, align 4, !tbaa !5
  %1229 = add nsw i32 %1228, 1
  store i32 %1229, ptr @test_count, align 4, !tbaa !5
  %1230 = call i32 @s2n_stuffer_free(ptr noundef nonnull %13) #12
  %1231 = icmp eq i32 %1230, -1
  br i1 %1231, label %1232, label %1254

1232:                                             ; preds = %1227
  %1233 = load i32, ptr %639, align 4, !tbaa !5
  %1234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1235 = call i32 @s2n_print_stacktrace(ptr noundef %1234) #12
  %1236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1237 = trunc nuw i8 %1236 to i1
  br i1 %1237, label %1238, label %1242

1238:                                             ; preds = %1232
  %1239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1240 = call i32 @fileno(ptr noundef %1239) #12
  %1241 = call i32 @isatty(i32 noundef %1240) #12
  %.not1663 = icmp eq i32 %1241, 0
  br i1 %.not1663, label %1242, label %1243

1242:                                             ; preds = %1238, %1232
  br label %1243

1243:                                             ; preds = %1238, %1242
  %.str.5.sink2096 = phi ptr [ @.str.5, %1242 ], [ @.str.2, %1238 ]
  store i32 %1233, ptr %639, align 4, !tbaa !5
  %1244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1245 = load i32, ptr @test_count, align 4, !tbaa !5
  %1246 = load i32, ptr %585, align 4, !tbaa !5
  %1247 = call ptr @s2n_strerror(i32 noundef %1246, ptr noundef nonnull @.str.4) #12
  %1248 = load i32, ptr %585, align 4, !tbaa !5
  %1249 = call ptr @s2n_strerror_debug(i32 noundef %1248, ptr noundef nonnull @.str.4) #12
  %1250 = load i32, ptr %639, align 4, !tbaa !5
  %1251 = call ptr @strerror(i32 noundef %1250) #12
  %1252 = load i32, ptr %639, align 4, !tbaa !5
  %1253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1244, ptr noundef nonnull %.str.5.sink2096, i32 noundef %1245, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 171, ptr noundef %1247, ptr noundef %1249, ptr noundef %1251, i32 noundef %1252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1254:                                             ; preds = %1227
  %1255 = load i32, ptr @test_count, align 4, !tbaa !5
  %1256 = add nsw i32 %1255, 1
  store i32 %1256, ptr @test_count, align 4, !tbaa !5
  %1257 = call i32 @s2n_connection_free(ptr noundef nonnull %880) #12
  %1258 = icmp eq i32 %1257, -1
  br i1 %1258, label %1259, label %1281

1259:                                             ; preds = %1254
  %1260 = load i32, ptr %639, align 4, !tbaa !5
  %1261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1262 = call i32 @s2n_print_stacktrace(ptr noundef %1261) #12
  %1263 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1264 = trunc nuw i8 %1263 to i1
  br i1 %1264, label %1265, label %1269

1265:                                             ; preds = %1259
  %1266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1267 = call i32 @fileno(ptr noundef %1266) #12
  %1268 = call i32 @isatty(i32 noundef %1267) #12
  %.not1662 = icmp eq i32 %1268, 0
  br i1 %.not1662, label %1269, label %1270

1269:                                             ; preds = %1265, %1259
  br label %1270

1270:                                             ; preds = %1265, %1269
  %.str.5.sink2105 = phi ptr [ @.str.5, %1269 ], [ @.str.2, %1265 ]
  store i32 %1260, ptr %639, align 4, !tbaa !5
  %1271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1272 = load i32, ptr @test_count, align 4, !tbaa !5
  %1273 = load i32, ptr %585, align 4, !tbaa !5
  %1274 = call ptr @s2n_strerror(i32 noundef %1273, ptr noundef nonnull @.str.4) #12
  %1275 = load i32, ptr %585, align 4, !tbaa !5
  %1276 = call ptr @s2n_strerror_debug(i32 noundef %1275, ptr noundef nonnull @.str.4) #12
  %1277 = load i32, ptr %639, align 4, !tbaa !5
  %1278 = call ptr @strerror(i32 noundef %1277) #12
  %1279 = load i32, ptr %639, align 4, !tbaa !5
  %1280 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1271, ptr noundef nonnull %.str.5.sink2105, i32 noundef %1272, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 172, ptr noundef %1274, ptr noundef %1276, ptr noundef %1278, i32 noundef %1279) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1281:                                             ; preds = %1254
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %15) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %14) #12
  %1282 = call i32 @s2n_stuffer_free(ptr noundef nonnull %13) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %13) #12
  %1283 = call i32 @s2n_stuffer_free(ptr noundef nonnull %12) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %12) #12
  %1284 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %1285 = load i32, ptr @test_count, align 4, !tbaa !5
  %1286 = add nsw i32 %1285, 1
  store i32 %1286, ptr @test_count, align 4, !tbaa !5
  %1287 = icmp eq ptr %1284, null
  br i1 %1287, label %1288, label %1310

1288:                                             ; preds = %1281
  %1289 = load i32, ptr %639, align 4, !tbaa !5
  %1290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1291 = call i32 @s2n_print_stacktrace(ptr noundef %1290) #12
  %1292 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1293 = trunc nuw i8 %1292 to i1
  br i1 %1293, label %1294, label %1298

1294:                                             ; preds = %1288
  %1295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1296 = call i32 @fileno(ptr noundef %1295) #12
  %1297 = call i32 @isatty(i32 noundef %1296) #12
  %.not1661 = icmp eq i32 %1297, 0
  br i1 %.not1661, label %1298, label %1299

1298:                                             ; preds = %1294, %1288
  br label %1299

1299:                                             ; preds = %1294, %1298
  %.str.5.sink2114 = phi ptr [ @.str.5, %1298 ], [ @.str.2, %1294 ]
  store i32 %1289, ptr %639, align 4, !tbaa !5
  %1300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1301 = load i32, ptr @test_count, align 4, !tbaa !5
  %1302 = load i32, ptr %585, align 4, !tbaa !5
  %1303 = call ptr @s2n_strerror(i32 noundef %1302, ptr noundef nonnull @.str.4) #12
  %1304 = load i32, ptr %585, align 4, !tbaa !5
  %1305 = call ptr @s2n_strerror_debug(i32 noundef %1304, ptr noundef nonnull @.str.4) #12
  %1306 = load i32, ptr %639, align 4, !tbaa !5
  %1307 = call ptr @strerror(i32 noundef %1306) #12
  %1308 = load i32, ptr %639, align 4, !tbaa !5
  %1309 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1300, ptr noundef nonnull %.str.5.sink2114, i32 noundef %1301, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 178, ptr noundef %1303, ptr noundef %1305, ptr noundef %1307, i32 noundef %1308) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1310:                                             ; preds = %1281
  %1311 = add nsw i32 %1285, 2
  store i32 %1311, ptr @test_count, align 4, !tbaa !5
  %1312 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %1284, ptr noundef nonnull @.str.31) #12
  %1313 = icmp eq i32 %1312, -1
  br i1 %1313, label %1314, label %1336

1314:                                             ; preds = %1310
  %1315 = load i32, ptr %639, align 4, !tbaa !5
  %1316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1317 = call i32 @s2n_print_stacktrace(ptr noundef %1316) #12
  %1318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1319 = trunc nuw i8 %1318 to i1
  br i1 %1319, label %1320, label %1324

1320:                                             ; preds = %1314
  %1321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1322 = call i32 @fileno(ptr noundef %1321) #12
  %1323 = call i32 @isatty(i32 noundef %1322) #12
  %.not1660 = icmp eq i32 %1323, 0
  br i1 %.not1660, label %1324, label %1325

1324:                                             ; preds = %1320, %1314
  br label %1325

1325:                                             ; preds = %1320, %1324
  %.str.5.sink2123 = phi ptr [ @.str.5, %1324 ], [ @.str.2, %1320 ]
  store i32 %1315, ptr %639, align 4, !tbaa !5
  %1326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1327 = load i32, ptr @test_count, align 4, !tbaa !5
  %1328 = load i32, ptr %585, align 4, !tbaa !5
  %1329 = call ptr @s2n_strerror(i32 noundef %1328, ptr noundef nonnull @.str.4) #12
  %1330 = load i32, ptr %585, align 4, !tbaa !5
  %1331 = call ptr @s2n_strerror_debug(i32 noundef %1330, ptr noundef nonnull @.str.4) #12
  %1332 = load i32, ptr %639, align 4, !tbaa !5
  %1333 = call ptr @strerror(i32 noundef %1332) #12
  %1334 = load i32, ptr %639, align 4, !tbaa !5
  %1335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1326, ptr noundef nonnull %.str.5.sink2123, i32 noundef %1327, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 179, ptr noundef %1329, ptr noundef %1331, ptr noundef %1333, i32 noundef %1334) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1336:                                             ; preds = %1310
  %1337 = load i32, ptr @test_count, align 4, !tbaa !5
  %1338 = add nsw i32 %1337, 1
  store i32 %1338, ptr @test_count, align 4, !tbaa !5
  %1339 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %1284, ptr noundef %289) #12
  %1340 = icmp eq i32 %1339, -1
  br i1 %1340, label %1341, label %1363

1341:                                             ; preds = %1336
  %1342 = load i32, ptr %639, align 4, !tbaa !5
  %1343 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1344 = call i32 @s2n_print_stacktrace(ptr noundef %1343) #12
  %1345 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1346 = trunc nuw i8 %1345 to i1
  br i1 %1346, label %1347, label %1351

1347:                                             ; preds = %1341
  %1348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1349 = call i32 @fileno(ptr noundef %1348) #12
  %1350 = call i32 @isatty(i32 noundef %1349) #12
  %.not1659 = icmp eq i32 %1350, 0
  br i1 %.not1659, label %1351, label %1352

1351:                                             ; preds = %1347, %1341
  br label %1352

1352:                                             ; preds = %1347, %1351
  %.str.5.sink2132 = phi ptr [ @.str.5, %1351 ], [ @.str.2, %1347 ]
  store i32 %1342, ptr %639, align 4, !tbaa !5
  %1353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1354 = load i32, ptr @test_count, align 4, !tbaa !5
  %1355 = load i32, ptr %585, align 4, !tbaa !5
  %1356 = call ptr @s2n_strerror(i32 noundef %1355, ptr noundef nonnull @.str.4) #12
  %1357 = load i32, ptr %585, align 4, !tbaa !5
  %1358 = call ptr @s2n_strerror_debug(i32 noundef %1357, ptr noundef nonnull @.str.4) #12
  %1359 = load i32, ptr %639, align 4, !tbaa !5
  %1360 = call ptr @strerror(i32 noundef %1359) #12
  %1361 = load i32, ptr %639, align 4, !tbaa !5
  %1362 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1353, ptr noundef nonnull %.str.5.sink2132, i32 noundef %1354, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 180, ptr noundef %1356, ptr noundef %1358, ptr noundef %1360, i32 noundef %1361) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1363:                                             ; preds = %1336
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %16) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %16, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %17) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %17, i8 0, i64 40, i1 false)
  %1364 = load i32, ptr @test_count, align 4, !tbaa !5
  %1365 = add nsw i32 %1364, 1
  store i32 %1365, ptr @test_count, align 4, !tbaa !5
  %1366 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %17, i32 noundef 8092) #12
  %1367 = icmp eq i32 %1366, -1
  br i1 %1367, label %1368, label %1390

1368:                                             ; preds = %1363
  %1369 = load i32, ptr %639, align 4, !tbaa !5
  %1370 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1371 = call i32 @s2n_print_stacktrace(ptr noundef %1370) #12
  %1372 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1373 = trunc nuw i8 %1372 to i1
  br i1 %1373, label %1374, label %1378

1374:                                             ; preds = %1368
  %1375 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1376 = call i32 @fileno(ptr noundef %1375) #12
  %1377 = call i32 @isatty(i32 noundef %1376) #12
  %.not1658 = icmp eq i32 %1377, 0
  br i1 %.not1658, label %1378, label %1379

1378:                                             ; preds = %1374, %1368
  br label %1379

1379:                                             ; preds = %1374, %1378
  %.str.5.sink2141 = phi ptr [ @.str.5, %1378 ], [ @.str.2, %1374 ]
  store i32 %1369, ptr %639, align 4, !tbaa !5
  %1380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1381 = load i32, ptr @test_count, align 4, !tbaa !5
  %1382 = load i32, ptr %585, align 4, !tbaa !5
  %1383 = call ptr @s2n_strerror(i32 noundef %1382, ptr noundef nonnull @.str.4) #12
  %1384 = load i32, ptr %585, align 4, !tbaa !5
  %1385 = call ptr @s2n_strerror_debug(i32 noundef %1384, ptr noundef nonnull @.str.4) #12
  %1386 = load i32, ptr %639, align 4, !tbaa !5
  %1387 = call ptr @strerror(i32 noundef %1386) #12
  %1388 = load i32, ptr %639, align 4, !tbaa !5
  %1389 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1380, ptr noundef nonnull %.str.5.sink2141, i32 noundef %1381, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 184, ptr noundef %1383, ptr noundef %1385, ptr noundef %1387, i32 noundef %1388) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1390:                                             ; preds = %1363
  %1391 = load i32, ptr @test_count, align 4, !tbaa !5
  %1392 = add nsw i32 %1391, 1
  store i32 %1392, ptr @test_count, align 4, !tbaa !5
  %1393 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %16, ptr noundef nonnull %17, ptr noundef nonnull %1284) #12
  %1394 = icmp eq i32 %1393, -1
  br i1 %1394, label %1395, label %1417

1395:                                             ; preds = %1390
  %1396 = load i32, ptr %639, align 4, !tbaa !5
  %1397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1398 = call i32 @s2n_print_stacktrace(ptr noundef %1397) #12
  %1399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1400 = trunc nuw i8 %1399 to i1
  br i1 %1400, label %1401, label %1405

1401:                                             ; preds = %1395
  %1402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1403 = call i32 @fileno(ptr noundef %1402) #12
  %1404 = call i32 @isatty(i32 noundef %1403) #12
  %.not1657 = icmp eq i32 %1404, 0
  br i1 %.not1657, label %1405, label %1406

1405:                                             ; preds = %1401, %1395
  br label %1406

1406:                                             ; preds = %1401, %1405
  %.str.5.sink2150 = phi ptr [ @.str.5, %1405 ], [ @.str.2, %1401 ]
  store i32 %1396, ptr %639, align 4, !tbaa !5
  %1407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1408 = load i32, ptr @test_count, align 4, !tbaa !5
  %1409 = load i32, ptr %585, align 4, !tbaa !5
  %1410 = call ptr @s2n_strerror(i32 noundef %1409, ptr noundef nonnull @.str.4) #12
  %1411 = load i32, ptr %585, align 4, !tbaa !5
  %1412 = call ptr @s2n_strerror_debug(i32 noundef %1411, ptr noundef nonnull @.str.4) #12
  %1413 = load i32, ptr %639, align 4, !tbaa !5
  %1414 = call ptr @strerror(i32 noundef %1413) #12
  %1415 = load i32, ptr %639, align 4, !tbaa !5
  %1416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1407, ptr noundef nonnull %.str.5.sink2150, i32 noundef %1408, ptr noundef nonnull @.str.36, ptr noundef nonnull @.str.1, i32 noundef 185, ptr noundef %1410, ptr noundef %1412, ptr noundef %1414, i32 noundef %1415) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1417:                                             ; preds = %1390
  %1418 = getelementptr inbounds i8, ptr %1284, i64 4080
  store i8 1, ptr %1418, align 8, !tbaa !44
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %18) #12
  store i32 0, ptr %18, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %19) #12
  store i64 0, ptr %19, align 8, !tbaa !42
  %1419 = load i32, ptr @test_count, align 4, !tbaa !5
  %1420 = add nsw i32 %1419, 1
  store i32 %1420, ptr @test_count, align 4, !tbaa !5
  %1421 = call i32 @s2n_send_early_data(ptr noundef nonnull %1284, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %19, ptr noundef nonnull %18) #12
  %1422 = icmp eq i32 %1421, -1
  br i1 %1422, label %1445, label %1423

1423:                                             ; preds = %1417
  %1424 = load i32, ptr %639, align 4, !tbaa !5
  %1425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1426 = call i32 @s2n_print_stacktrace(ptr noundef %1425) #12
  %1427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1428 = trunc nuw i8 %1427 to i1
  br i1 %1428, label %1429, label %1433

1429:                                             ; preds = %1423
  %1430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1431 = call i32 @fileno(ptr noundef %1430) #12
  %1432 = call i32 @isatty(i32 noundef %1431) #12
  %.not1196 = icmp eq i32 %1432, 0
  br i1 %.not1196, label %1433, label %1434

1433:                                             ; preds = %1429, %1423
  br label %1434

1434:                                             ; preds = %1429, %1433
  %.str.5.sink2159 = phi ptr [ @.str.5, %1433 ], [ @.str.2, %1429 ]
  store i32 %1424, ptr %639, align 4, !tbaa !5
  %1435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1436 = load i32, ptr @test_count, align 4, !tbaa !5
  %1437 = load i32, ptr %585, align 4, !tbaa !5
  %1438 = call ptr @s2n_strerror(i32 noundef %1437, ptr noundef nonnull @.str.4) #12
  %1439 = load i32, ptr %585, align 4, !tbaa !5
  %1440 = call ptr @s2n_strerror_debug(i32 noundef %1439, ptr noundef nonnull @.str.4) #12
  %1441 = load i32, ptr %639, align 4, !tbaa !5
  %1442 = call ptr @strerror(i32 noundef %1441) #12
  %1443 = load i32, ptr %639, align 4, !tbaa !5
  %1444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1435, ptr noundef nonnull %.str.5.sink2159, i32 noundef %1436, ptr noundef nonnull @.str.38, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1438, ptr noundef %1440, ptr noundef %1442, i32 noundef %1443) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1445:                                             ; preds = %1417
  %1446 = load i32, ptr @test_count, align 4, !tbaa !5
  %1447 = add nsw i32 %1446, 1
  store i32 %1447, ptr @test_count, align 4, !tbaa !5
  %1448 = load i32, ptr %585, align 4, !tbaa !5
  %1449 = icmp eq i32 %1448, 469762111
  br i1 %1449, label %1472, label %1450

1450:                                             ; preds = %1445
  %1451 = load i32, ptr %639, align 4, !tbaa !5
  %1452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1453 = call i32 @s2n_print_stacktrace(ptr noundef %1452) #12
  %1454 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1455 = trunc nuw i8 %1454 to i1
  br i1 %1455, label %1456, label %1460

1456:                                             ; preds = %1450
  %1457 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1458 = call i32 @fileno(ptr noundef %1457) #12
  %1459 = call i32 @isatty(i32 noundef %1458) #12
  %.not1197 = icmp eq i32 %1459, 0
  br i1 %.not1197, label %1460, label %1461

1460:                                             ; preds = %1456, %1450
  br label %1461

1461:                                             ; preds = %1456, %1460
  %.str.5.sink2168 = phi ptr [ @.str.5, %1460 ], [ @.str.2, %1456 ]
  store i32 %1451, ptr %639, align 4, !tbaa !5
  %1462 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1463 = load i32, ptr @test_count, align 4, !tbaa !5
  %1464 = load i32, ptr %585, align 4, !tbaa !5
  %1465 = call ptr @s2n_strerror(i32 noundef %1464, ptr noundef nonnull @.str.4) #12
  %1466 = load i32, ptr %585, align 4, !tbaa !5
  %1467 = call ptr @s2n_strerror_debug(i32 noundef %1466, ptr noundef nonnull @.str.4) #12
  %1468 = load i32, ptr %639, align 4, !tbaa !5
  %1469 = call ptr @strerror(i32 noundef %1468) #12
  %1470 = load i32, ptr %639, align 4, !tbaa !5
  %1471 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1462, ptr noundef nonnull %.str.5.sink2168, i32 noundef %1463, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1465, ptr noundef %1467, ptr noundef %1469, i32 noundef %1470) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1472:                                             ; preds = %1445
  %1473 = add nsw i32 %1446, 2
  store i32 %1473, ptr @test_count, align 4, !tbaa !5
  %1474 = call ptr @s2n_strerror_debug(i32 noundef 469762111, ptr noundef nonnull @.str.4) #12
  %1475 = icmp eq ptr %1474, null
  br i1 %1475, label %1476, label %1498

1476:                                             ; preds = %1472
  %1477 = load i32, ptr %639, align 4, !tbaa !5
  %1478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1479 = call i32 @s2n_print_stacktrace(ptr noundef %1478) #12
  %1480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1481 = trunc nuw i8 %1480 to i1
  br i1 %1481, label %1482, label %1486

1482:                                             ; preds = %1476
  %1483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1484 = call i32 @fileno(ptr noundef %1483) #12
  %1485 = call i32 @isatty(i32 noundef %1484) #12
  %.not1656 = icmp eq i32 %1485, 0
  br i1 %.not1656, label %1486, label %1487

1486:                                             ; preds = %1482, %1476
  br label %1487

1487:                                             ; preds = %1482, %1486
  %.str.5.sink2177 = phi ptr [ @.str.5, %1486 ], [ @.str.2, %1482 ]
  store i32 %1477, ptr %639, align 4, !tbaa !5
  %1488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1489 = load i32, ptr @test_count, align 4, !tbaa !5
  %1490 = load i32, ptr %585, align 4, !tbaa !5
  %1491 = call ptr @s2n_strerror(i32 noundef %1490, ptr noundef nonnull @.str.4) #12
  %1492 = load i32, ptr %585, align 4, !tbaa !5
  %1493 = call ptr @s2n_strerror_debug(i32 noundef %1492, ptr noundef nonnull @.str.4) #12
  %1494 = load i32, ptr %639, align 4, !tbaa !5
  %1495 = call ptr @strerror(i32 noundef %1494) #12
  %1496 = load i32, ptr %639, align 4, !tbaa !5
  %1497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1488, ptr noundef nonnull %.str.5.sink2177, i32 noundef %1489, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 194, ptr noundef %1491, ptr noundef %1493, ptr noundef %1495, i32 noundef %1496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1498:                                             ; preds = %1472
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %1499 = load i32, ptr @test_count, align 4, !tbaa !5
  %1500 = add nsw i32 %1499, 1
  store i32 %1500, ptr @test_count, align 4, !tbaa !5
  %1501 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %1284) #12
  %1502 = icmp eq i32 %1501, 1
  br i1 %1502, label %1525, label %1503

1503:                                             ; preds = %1498
  %1504 = load i32, ptr %639, align 4, !tbaa !5
  %1505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1506 = call i32 @s2n_print_stacktrace(ptr noundef %1505) #12
  %1507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1508 = trunc nuw i8 %1507 to i1
  br i1 %1508, label %1509, label %1513

1509:                                             ; preds = %1503
  %1510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1511 = call i32 @fileno(ptr noundef %1510) #12
  %1512 = call i32 @isatty(i32 noundef %1511) #12
  %.not1198 = icmp eq i32 %1512, 0
  br i1 %.not1198, label %1513, label %1514

1513:                                             ; preds = %1509, %1503
  br label %1514

1514:                                             ; preds = %1509, %1513
  %.str.5.sink2186 = phi ptr [ @.str.5, %1513 ], [ @.str.2, %1509 ]
  store i32 %1504, ptr %639, align 4, !tbaa !5
  %1515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1516 = load i32, ptr @test_count, align 4, !tbaa !5
  %1517 = load i32, ptr %585, align 4, !tbaa !5
  %1518 = call ptr @s2n_strerror(i32 noundef %1517, ptr noundef nonnull @.str.4) #12
  %1519 = load i32, ptr %585, align 4, !tbaa !5
  %1520 = call ptr @s2n_strerror_debug(i32 noundef %1519, ptr noundef nonnull @.str.4) #12
  %1521 = load i32, ptr %639, align 4, !tbaa !5
  %1522 = call ptr @strerror(i32 noundef %1521) #12
  %1523 = load i32, ptr %639, align 4, !tbaa !5
  %1524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1515, ptr noundef nonnull %.str.5.sink2186, i32 noundef %1516, ptr noundef nonnull @.str.40, ptr noundef nonnull @.str.1, i32 noundef 195, ptr noundef %1518, ptr noundef %1520, ptr noundef %1522, i32 noundef %1523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1525:                                             ; preds = %1498
  %1526 = load i32, ptr @test_count, align 4, !tbaa !5
  %1527 = add nsw i32 %1526, 1
  store i32 %1527, ptr @test_count, align 4, !tbaa !5
  %1528 = load i64, ptr %19, align 8, !tbaa !42
  %1529 = icmp eq i64 %1528, 0
  br i1 %1529, label %1552, label %1530

1530:                                             ; preds = %1525
  %1531 = load i32, ptr %639, align 4, !tbaa !5
  %1532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1533 = call i32 @s2n_print_stacktrace(ptr noundef %1532) #12
  %1534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1535 = trunc nuw i8 %1534 to i1
  br i1 %1535, label %1536, label %1540

1536:                                             ; preds = %1530
  %1537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1538 = call i32 @fileno(ptr noundef %1537) #12
  %1539 = call i32 @isatty(i32 noundef %1538) #12
  %.not1199 = icmp eq i32 %1539, 0
  br i1 %.not1199, label %1540, label %1541

1540:                                             ; preds = %1536, %1530
  br label %1541

1541:                                             ; preds = %1536, %1540
  %.str.5.sink2195 = phi ptr [ @.str.5, %1540 ], [ @.str.2, %1536 ]
  store i32 %1531, ptr %639, align 4, !tbaa !5
  %1542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1543 = load i32, ptr @test_count, align 4, !tbaa !5
  %1544 = load i32, ptr %585, align 4, !tbaa !5
  %1545 = call ptr @s2n_strerror(i32 noundef %1544, ptr noundef nonnull @.str.4) #12
  %1546 = load i32, ptr %585, align 4, !tbaa !5
  %1547 = call ptr @s2n_strerror_debug(i32 noundef %1546, ptr noundef nonnull @.str.4) #12
  %1548 = load i32, ptr %639, align 4, !tbaa !5
  %1549 = call ptr @strerror(i32 noundef %1548) #12
  %1550 = load i32, ptr %639, align 4, !tbaa !5
  %1551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1542, ptr noundef nonnull %.str.5.sink2195, i32 noundef %1543, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 196, ptr noundef %1545, ptr noundef %1547, ptr noundef %1549, i32 noundef %1550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1552:                                             ; preds = %1525
  %1553 = add nsw i32 %1526, 2
  store i32 %1553, ptr @test_count, align 4, !tbaa !5
  %1554 = call i32 @s2n_stuffer_free(ptr noundef nonnull %17) #12
  %1555 = icmp eq i32 %1554, -1
  br i1 %1555, label %1556, label %1578

1556:                                             ; preds = %1552
  %1557 = load i32, ptr %639, align 4, !tbaa !5
  %1558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1559 = call i32 @s2n_print_stacktrace(ptr noundef %1558) #12
  %1560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1561 = trunc nuw i8 %1560 to i1
  br i1 %1561, label %1562, label %1566

1562:                                             ; preds = %1556
  %1563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1564 = call i32 @fileno(ptr noundef %1563) #12
  %1565 = call i32 @isatty(i32 noundef %1564) #12
  %.not1655 = icmp eq i32 %1565, 0
  br i1 %.not1655, label %1566, label %1567

1566:                                             ; preds = %1562, %1556
  br label %1567

1567:                                             ; preds = %1562, %1566
  %.str.5.sink2204 = phi ptr [ @.str.5, %1566 ], [ @.str.2, %1562 ]
  store i32 %1557, ptr %639, align 4, !tbaa !5
  %1568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1569 = load i32, ptr @test_count, align 4, !tbaa !5
  %1570 = load i32, ptr %585, align 4, !tbaa !5
  %1571 = call ptr @s2n_strerror(i32 noundef %1570, ptr noundef nonnull @.str.4) #12
  %1572 = load i32, ptr %585, align 4, !tbaa !5
  %1573 = call ptr @s2n_strerror_debug(i32 noundef %1572, ptr noundef nonnull @.str.4) #12
  %1574 = load i32, ptr %639, align 4, !tbaa !5
  %1575 = call ptr @strerror(i32 noundef %1574) #12
  %1576 = load i32, ptr %639, align 4, !tbaa !5
  %1577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1568, ptr noundef nonnull %.str.5.sink2204, i32 noundef %1569, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 198, ptr noundef %1571, ptr noundef %1573, ptr noundef %1575, i32 noundef %1576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1578:                                             ; preds = %1552
  %1579 = load i32, ptr @test_count, align 4, !tbaa !5
  %1580 = add nsw i32 %1579, 1
  store i32 %1580, ptr @test_count, align 4, !tbaa !5
  %1581 = call i32 @s2n_connection_free(ptr noundef nonnull %1284) #12
  %1582 = icmp eq i32 %1581, -1
  br i1 %1582, label %1583, label %1605

1583:                                             ; preds = %1578
  %1584 = load i32, ptr %639, align 4, !tbaa !5
  %1585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1586 = call i32 @s2n_print_stacktrace(ptr noundef %1585) #12
  %1587 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1588 = trunc nuw i8 %1587 to i1
  br i1 %1588, label %1589, label %1593

1589:                                             ; preds = %1583
  %1590 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1591 = call i32 @fileno(ptr noundef %1590) #12
  %1592 = call i32 @isatty(i32 noundef %1591) #12
  %.not1654 = icmp eq i32 %1592, 0
  br i1 %.not1654, label %1593, label %1594

1593:                                             ; preds = %1589, %1583
  br label %1594

1594:                                             ; preds = %1589, %1593
  %.str.5.sink2213 = phi ptr [ @.str.5, %1593 ], [ @.str.2, %1589 ]
  store i32 %1584, ptr %639, align 4, !tbaa !5
  %1595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1596 = load i32, ptr @test_count, align 4, !tbaa !5
  %1597 = load i32, ptr %585, align 4, !tbaa !5
  %1598 = call ptr @s2n_strerror(i32 noundef %1597, ptr noundef nonnull @.str.4) #12
  %1599 = load i32, ptr %585, align 4, !tbaa !5
  %1600 = call ptr @s2n_strerror_debug(i32 noundef %1599, ptr noundef nonnull @.str.4) #12
  %1601 = load i32, ptr %639, align 4, !tbaa !5
  %1602 = call ptr @strerror(i32 noundef %1601) #12
  %1603 = load i32, ptr %639, align 4, !tbaa !5
  %1604 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1595, ptr noundef nonnull %.str.5.sink2213, i32 noundef %1596, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 199, ptr noundef %1598, ptr noundef %1600, ptr noundef %1602, i32 noundef %1603) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1605:                                             ; preds = %1578
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %19) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %18) #12
  %1606 = call i32 @s2n_stuffer_free(ptr noundef nonnull %17) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %17) #12
  %1607 = call i32 @s2n_stuffer_free(ptr noundef nonnull %16) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %16) #12
  call void @llvm.lifetime.start.p0(i64 4184, ptr nonnull %20) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(4184) %20, i8 0, i64 4184, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %21) #12
  store i32 0, ptr %21, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %22) #12
  store i64 0, ptr %22, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 1, ptr nonnull %23) #12
  store i8 0, ptr %23, align 1, !tbaa !43
  %1608 = load i32, ptr @test_count, align 4, !tbaa !5
  %1609 = add nsw i32 %1608, 1
  store i32 %1609, ptr @test_count, align 4, !tbaa !5
  %1610 = call i32 @s2n_recv_early_data(ptr noundef null, ptr noundef nonnull %23, i64 noundef 1, ptr noundef nonnull %22, ptr noundef nonnull %21) #12
  %1611 = icmp eq i32 %1610, -1
  br i1 %1611, label %1634, label %1612

1612:                                             ; preds = %1605
  %1613 = load i32, ptr %639, align 4, !tbaa !5
  %1614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1615 = call i32 @s2n_print_stacktrace(ptr noundef %1614) #12
  %1616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1617 = trunc nuw i8 %1616 to i1
  br i1 %1617, label %1618, label %1622

1618:                                             ; preds = %1612
  %1619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1620 = call i32 @fileno(ptr noundef %1619) #12
  %1621 = call i32 @isatty(i32 noundef %1620) #12
  %.not1200 = icmp eq i32 %1621, 0
  br i1 %.not1200, label %1622, label %1623

1622:                                             ; preds = %1618, %1612
  br label %1623

1623:                                             ; preds = %1618, %1622
  %.str.5.sink2222 = phi ptr [ @.str.5, %1622 ], [ @.str.2, %1618 ]
  store i32 %1613, ptr %639, align 4, !tbaa !5
  %1624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1625 = load i32, ptr @test_count, align 4, !tbaa !5
  %1626 = load i32, ptr %585, align 4, !tbaa !5
  %1627 = call ptr @s2n_strerror(i32 noundef %1626, ptr noundef nonnull @.str.4) #12
  %1628 = load i32, ptr %585, align 4, !tbaa !5
  %1629 = call ptr @s2n_strerror_debug(i32 noundef %1628, ptr noundef nonnull @.str.4) #12
  %1630 = load i32, ptr %639, align 4, !tbaa !5
  %1631 = call ptr @strerror(i32 noundef %1630) #12
  %1632 = load i32, ptr %639, align 4, !tbaa !5
  %1633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1624, ptr noundef nonnull %.str.5.sink2222, i32 noundef %1625, ptr noundef nonnull @.str.46, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1627, ptr noundef %1629, ptr noundef %1631, i32 noundef %1632) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1634:                                             ; preds = %1605
  %1635 = load i32, ptr @test_count, align 4, !tbaa !5
  %1636 = add nsw i32 %1635, 1
  store i32 %1636, ptr @test_count, align 4, !tbaa !5
  %1637 = load i32, ptr %585, align 4, !tbaa !5
  %1638 = icmp eq i32 %1637, 402653193
  br i1 %1638, label %1661, label %1639

1639:                                             ; preds = %1634
  %1640 = load i32, ptr %639, align 4, !tbaa !5
  %1641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1642 = call i32 @s2n_print_stacktrace(ptr noundef %1641) #12
  %1643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1644 = trunc nuw i8 %1643 to i1
  br i1 %1644, label %1645, label %1649

1645:                                             ; preds = %1639
  %1646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1647 = call i32 @fileno(ptr noundef %1646) #12
  %1648 = call i32 @isatty(i32 noundef %1647) #12
  %.not1201 = icmp eq i32 %1648, 0
  br i1 %.not1201, label %1649, label %1650

1649:                                             ; preds = %1645, %1639
  br label %1650

1650:                                             ; preds = %1645, %1649
  %.str.5.sink2231 = phi ptr [ @.str.5, %1649 ], [ @.str.2, %1645 ]
  store i32 %1640, ptr %639, align 4, !tbaa !5
  %1651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1652 = load i32, ptr @test_count, align 4, !tbaa !5
  %1653 = load i32, ptr %585, align 4, !tbaa !5
  %1654 = call ptr @s2n_strerror(i32 noundef %1653, ptr noundef nonnull @.str.4) #12
  %1655 = load i32, ptr %585, align 4, !tbaa !5
  %1656 = call ptr @s2n_strerror_debug(i32 noundef %1655, ptr noundef nonnull @.str.4) #12
  %1657 = load i32, ptr %639, align 4, !tbaa !5
  %1658 = call ptr @strerror(i32 noundef %1657) #12
  %1659 = load i32, ptr %639, align 4, !tbaa !5
  %1660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1651, ptr noundef nonnull %.str.5.sink2231, i32 noundef %1652, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1654, ptr noundef %1656, ptr noundef %1658, i32 noundef %1659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1661:                                             ; preds = %1634
  %1662 = add nsw i32 %1635, 2
  store i32 %1662, ptr @test_count, align 4, !tbaa !5
  %1663 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1664 = icmp eq ptr %1663, null
  br i1 %1664, label %1665, label %1687

1665:                                             ; preds = %1661
  %1666 = load i32, ptr %639, align 4, !tbaa !5
  %1667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1668 = call i32 @s2n_print_stacktrace(ptr noundef %1667) #12
  %1669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1670 = trunc nuw i8 %1669 to i1
  br i1 %1670, label %1671, label %1675

1671:                                             ; preds = %1665
  %1672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1673 = call i32 @fileno(ptr noundef %1672) #12
  %1674 = call i32 @isatty(i32 noundef %1673) #12
  %.not1653 = icmp eq i32 %1674, 0
  br i1 %.not1653, label %1675, label %1676

1675:                                             ; preds = %1671, %1665
  br label %1676

1676:                                             ; preds = %1671, %1675
  %.str.5.sink2240 = phi ptr [ @.str.5, %1675 ], [ @.str.2, %1671 ]
  store i32 %1666, ptr %639, align 4, !tbaa !5
  %1677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1678 = load i32, ptr @test_count, align 4, !tbaa !5
  %1679 = load i32, ptr %585, align 4, !tbaa !5
  %1680 = call ptr @s2n_strerror(i32 noundef %1679, ptr noundef nonnull @.str.4) #12
  %1681 = load i32, ptr %585, align 4, !tbaa !5
  %1682 = call ptr @s2n_strerror_debug(i32 noundef %1681, ptr noundef nonnull @.str.4) #12
  %1683 = load i32, ptr %639, align 4, !tbaa !5
  %1684 = call ptr @strerror(i32 noundef %1683) #12
  %1685 = load i32, ptr %639, align 4, !tbaa !5
  %1686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1677, ptr noundef nonnull %.str.5.sink2240, i32 noundef %1678, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 211, ptr noundef %1680, ptr noundef %1682, ptr noundef %1684, i32 noundef %1685) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1687:                                             ; preds = %1661
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %1688 = load i32, ptr @test_count, align 4, !tbaa !5
  %1689 = add nsw i32 %1688, 1
  store i32 %1689, ptr @test_count, align 4, !tbaa !5
  %1690 = call i32 @s2n_recv_early_data(ptr noundef nonnull %20, ptr noundef nonnull %23, i64 noundef 1, ptr noundef null, ptr noundef nonnull %21) #12
  %1691 = icmp eq i32 %1690, -1
  br i1 %1691, label %1714, label %1692

1692:                                             ; preds = %1687
  %1693 = load i32, ptr %639, align 4, !tbaa !5
  %1694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1695 = call i32 @s2n_print_stacktrace(ptr noundef %1694) #12
  %1696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1697 = trunc nuw i8 %1696 to i1
  br i1 %1697, label %1698, label %1702

1698:                                             ; preds = %1692
  %1699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1700 = call i32 @fileno(ptr noundef %1699) #12
  %1701 = call i32 @isatty(i32 noundef %1700) #12
  %.not1202 = icmp eq i32 %1701, 0
  br i1 %.not1202, label %1702, label %1703

1702:                                             ; preds = %1698, %1692
  br label %1703

1703:                                             ; preds = %1698, %1702
  %.str.5.sink2249 = phi ptr [ @.str.5, %1702 ], [ @.str.2, %1698 ]
  store i32 %1693, ptr %639, align 4, !tbaa !5
  %1704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1705 = load i32, ptr @test_count, align 4, !tbaa !5
  %1706 = load i32, ptr %585, align 4, !tbaa !5
  %1707 = call ptr @s2n_strerror(i32 noundef %1706, ptr noundef nonnull @.str.4) #12
  %1708 = load i32, ptr %585, align 4, !tbaa !5
  %1709 = call ptr @s2n_strerror_debug(i32 noundef %1708, ptr noundef nonnull @.str.4) #12
  %1710 = load i32, ptr %639, align 4, !tbaa !5
  %1711 = call ptr @strerror(i32 noundef %1710) #12
  %1712 = load i32, ptr %639, align 4, !tbaa !5
  %1713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1704, ptr noundef nonnull %.str.5.sink2249, i32 noundef %1705, ptr noundef nonnull @.str.47, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %1707, ptr noundef %1709, ptr noundef %1711, i32 noundef %1712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1714:                                             ; preds = %1687
  %1715 = load i32, ptr @test_count, align 4, !tbaa !5
  %1716 = add nsw i32 %1715, 1
  store i32 %1716, ptr @test_count, align 4, !tbaa !5
  %1717 = load i32, ptr %585, align 4, !tbaa !5
  %1718 = icmp eq i32 %1717, 402653193
  br i1 %1718, label %1741, label %1719

1719:                                             ; preds = %1714
  %1720 = load i32, ptr %639, align 4, !tbaa !5
  %1721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1722 = call i32 @s2n_print_stacktrace(ptr noundef %1721) #12
  %1723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1724 = trunc nuw i8 %1723 to i1
  br i1 %1724, label %1725, label %1729

1725:                                             ; preds = %1719
  %1726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1727 = call i32 @fileno(ptr noundef %1726) #12
  %1728 = call i32 @isatty(i32 noundef %1727) #12
  %.not1203 = icmp eq i32 %1728, 0
  br i1 %.not1203, label %1729, label %1730

1729:                                             ; preds = %1725, %1719
  br label %1730

1730:                                             ; preds = %1725, %1729
  %.str.5.sink2258 = phi ptr [ @.str.5, %1729 ], [ @.str.2, %1725 ]
  store i32 %1720, ptr %639, align 4, !tbaa !5
  %1731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1732 = load i32, ptr @test_count, align 4, !tbaa !5
  %1733 = load i32, ptr %585, align 4, !tbaa !5
  %1734 = call ptr @s2n_strerror(i32 noundef %1733, ptr noundef nonnull @.str.4) #12
  %1735 = load i32, ptr %585, align 4, !tbaa !5
  %1736 = call ptr @s2n_strerror_debug(i32 noundef %1735, ptr noundef nonnull @.str.4) #12
  %1737 = load i32, ptr %639, align 4, !tbaa !5
  %1738 = call ptr @strerror(i32 noundef %1737) #12
  %1739 = load i32, ptr %639, align 4, !tbaa !5
  %1740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1731, ptr noundef nonnull %.str.5.sink2258, i32 noundef %1732, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %1734, ptr noundef %1736, ptr noundef %1738, i32 noundef %1739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1741:                                             ; preds = %1714
  %1742 = add nsw i32 %1715, 2
  store i32 %1742, ptr @test_count, align 4, !tbaa !5
  %1743 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1744 = icmp eq ptr %1743, null
  br i1 %1744, label %1745, label %1767

1745:                                             ; preds = %1741
  %1746 = load i32, ptr %639, align 4, !tbaa !5
  %1747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1748 = call i32 @s2n_print_stacktrace(ptr noundef %1747) #12
  %1749 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1750 = trunc nuw i8 %1749 to i1
  br i1 %1750, label %1751, label %1755

1751:                                             ; preds = %1745
  %1752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1753 = call i32 @fileno(ptr noundef %1752) #12
  %1754 = call i32 @isatty(i32 noundef %1753) #12
  %.not1652 = icmp eq i32 %1754, 0
  br i1 %.not1652, label %1755, label %1756

1755:                                             ; preds = %1751, %1745
  br label %1756

1756:                                             ; preds = %1751, %1755
  %.str.5.sink2267 = phi ptr [ @.str.5, %1755 ], [ @.str.2, %1751 ]
  store i32 %1746, ptr %639, align 4, !tbaa !5
  %1757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1758 = load i32, ptr @test_count, align 4, !tbaa !5
  %1759 = load i32, ptr %585, align 4, !tbaa !5
  %1760 = call ptr @s2n_strerror(i32 noundef %1759, ptr noundef nonnull @.str.4) #12
  %1761 = load i32, ptr %585, align 4, !tbaa !5
  %1762 = call ptr @s2n_strerror_debug(i32 noundef %1761, ptr noundef nonnull @.str.4) #12
  %1763 = load i32, ptr %639, align 4, !tbaa !5
  %1764 = call ptr @strerror(i32 noundef %1763) #12
  %1765 = load i32, ptr %639, align 4, !tbaa !5
  %1766 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1757, ptr noundef nonnull %.str.5.sink2267, i32 noundef %1758, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 212, ptr noundef %1760, ptr noundef %1762, ptr noundef %1764, i32 noundef %1765) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1767:                                             ; preds = %1741
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %1768 = load i32, ptr @test_count, align 4, !tbaa !5
  %1769 = add nsw i32 %1768, 1
  store i32 %1769, ptr @test_count, align 4, !tbaa !5
  %1770 = call i32 @s2n_recv_early_data(ptr noundef nonnull %20, ptr noundef nonnull %23, i64 noundef 1, ptr noundef nonnull %22, ptr noundef null) #12
  %1771 = icmp eq i32 %1770, -1
  br i1 %1771, label %1794, label %1772

1772:                                             ; preds = %1767
  %1773 = load i32, ptr %639, align 4, !tbaa !5
  %1774 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1775 = call i32 @s2n_print_stacktrace(ptr noundef %1774) #12
  %1776 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1777 = trunc nuw i8 %1776 to i1
  br i1 %1777, label %1778, label %1782

1778:                                             ; preds = %1772
  %1779 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1780 = call i32 @fileno(ptr noundef %1779) #12
  %1781 = call i32 @isatty(i32 noundef %1780) #12
  %.not1204 = icmp eq i32 %1781, 0
  br i1 %.not1204, label %1782, label %1783

1782:                                             ; preds = %1778, %1772
  br label %1783

1783:                                             ; preds = %1778, %1782
  %.str.5.sink2276 = phi ptr [ @.str.5, %1782 ], [ @.str.2, %1778 ]
  store i32 %1773, ptr %639, align 4, !tbaa !5
  %1784 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1785 = load i32, ptr @test_count, align 4, !tbaa !5
  %1786 = load i32, ptr %585, align 4, !tbaa !5
  %1787 = call ptr @s2n_strerror(i32 noundef %1786, ptr noundef nonnull @.str.4) #12
  %1788 = load i32, ptr %585, align 4, !tbaa !5
  %1789 = call ptr @s2n_strerror_debug(i32 noundef %1788, ptr noundef nonnull @.str.4) #12
  %1790 = load i32, ptr %639, align 4, !tbaa !5
  %1791 = call ptr @strerror(i32 noundef %1790) #12
  %1792 = load i32, ptr %639, align 4, !tbaa !5
  %1793 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1784, ptr noundef nonnull %.str.5.sink2276, i32 noundef %1785, ptr noundef nonnull @.str.48, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1787, ptr noundef %1789, ptr noundef %1791, i32 noundef %1792) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1794:                                             ; preds = %1767
  %1795 = load i32, ptr @test_count, align 4, !tbaa !5
  %1796 = add nsw i32 %1795, 1
  store i32 %1796, ptr @test_count, align 4, !tbaa !5
  %1797 = load i32, ptr %585, align 4, !tbaa !5
  %1798 = icmp eq i32 %1797, 402653193
  br i1 %1798, label %1821, label %1799

1799:                                             ; preds = %1794
  %1800 = load i32, ptr %639, align 4, !tbaa !5
  %1801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1802 = call i32 @s2n_print_stacktrace(ptr noundef %1801) #12
  %1803 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1804 = trunc nuw i8 %1803 to i1
  br i1 %1804, label %1805, label %1809

1805:                                             ; preds = %1799
  %1806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1807 = call i32 @fileno(ptr noundef %1806) #12
  %1808 = call i32 @isatty(i32 noundef %1807) #12
  %.not1205 = icmp eq i32 %1808, 0
  br i1 %.not1205, label %1809, label %1810

1809:                                             ; preds = %1805, %1799
  br label %1810

1810:                                             ; preds = %1805, %1809
  %.str.5.sink2285 = phi ptr [ @.str.5, %1809 ], [ @.str.2, %1805 ]
  store i32 %1800, ptr %639, align 4, !tbaa !5
  %1811 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1812 = load i32, ptr @test_count, align 4, !tbaa !5
  %1813 = load i32, ptr %585, align 4, !tbaa !5
  %1814 = call ptr @s2n_strerror(i32 noundef %1813, ptr noundef nonnull @.str.4) #12
  %1815 = load i32, ptr %585, align 4, !tbaa !5
  %1816 = call ptr @s2n_strerror_debug(i32 noundef %1815, ptr noundef nonnull @.str.4) #12
  %1817 = load i32, ptr %639, align 4, !tbaa !5
  %1818 = call ptr @strerror(i32 noundef %1817) #12
  %1819 = load i32, ptr %639, align 4, !tbaa !5
  %1820 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1811, ptr noundef nonnull %.str.5.sink2285, i32 noundef %1812, ptr noundef nonnull @.str.24, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1814, ptr noundef %1816, ptr noundef %1818, i32 noundef %1819) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1821:                                             ; preds = %1794
  %1822 = add nsw i32 %1795, 2
  store i32 %1822, ptr @test_count, align 4, !tbaa !5
  %1823 = call ptr @s2n_strerror_debug(i32 noundef 402653193, ptr noundef nonnull @.str.4) #12
  %1824 = icmp eq ptr %1823, null
  br i1 %1824, label %1825, label %1847

1825:                                             ; preds = %1821
  %1826 = load i32, ptr %639, align 4, !tbaa !5
  %1827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1828 = call i32 @s2n_print_stacktrace(ptr noundef %1827) #12
  %1829 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1830 = trunc nuw i8 %1829 to i1
  br i1 %1830, label %1831, label %1835

1831:                                             ; preds = %1825
  %1832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1833 = call i32 @fileno(ptr noundef %1832) #12
  %1834 = call i32 @isatty(i32 noundef %1833) #12
  %.not1651 = icmp eq i32 %1834, 0
  br i1 %.not1651, label %1835, label %1836

1835:                                             ; preds = %1831, %1825
  br label %1836

1836:                                             ; preds = %1831, %1835
  %.str.5.sink2294 = phi ptr [ @.str.5, %1835 ], [ @.str.2, %1831 ]
  store i32 %1826, ptr %639, align 4, !tbaa !5
  %1837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1838 = load i32, ptr @test_count, align 4, !tbaa !5
  %1839 = load i32, ptr %585, align 4, !tbaa !5
  %1840 = call ptr @s2n_strerror(i32 noundef %1839, ptr noundef nonnull @.str.4) #12
  %1841 = load i32, ptr %585, align 4, !tbaa !5
  %1842 = call ptr @s2n_strerror_debug(i32 noundef %1841, ptr noundef nonnull @.str.4) #12
  %1843 = load i32, ptr %639, align 4, !tbaa !5
  %1844 = call ptr @strerror(i32 noundef %1843) #12
  %1845 = load i32, ptr %639, align 4, !tbaa !5
  %1846 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1837, ptr noundef nonnull %.str.5.sink2294, i32 noundef %1838, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 213, ptr noundef %1840, ptr noundef %1842, ptr noundef %1844, i32 noundef %1845) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1847:                                             ; preds = %1821
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %1848 = getelementptr inbounds i8, ptr %20, i64 148
  store i32 1, ptr %1848, align 4, !tbaa !15
  %1849 = load i32, ptr @test_count, align 4, !tbaa !5
  %1850 = add nsw i32 %1849, 1
  store i32 %1850, ptr @test_count, align 4, !tbaa !5
  %1851 = call i32 @s2n_recv_early_data(ptr noundef nonnull %20, ptr noundef nonnull %23, i64 noundef 1, ptr noundef nonnull %22, ptr noundef nonnull %21) #12
  %1852 = icmp eq i32 %1851, -1
  br i1 %1852, label %1875, label %1853

1853:                                             ; preds = %1847
  %1854 = load i32, ptr %639, align 4, !tbaa !5
  %1855 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1856 = call i32 @s2n_print_stacktrace(ptr noundef %1855) #12
  %1857 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1858 = trunc nuw i8 %1857 to i1
  br i1 %1858, label %1859, label %1863

1859:                                             ; preds = %1853
  %1860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1861 = call i32 @fileno(ptr noundef %1860) #12
  %1862 = call i32 @isatty(i32 noundef %1861) #12
  %.not1206 = icmp eq i32 %1862, 0
  br i1 %.not1206, label %1863, label %1864

1863:                                             ; preds = %1859, %1853
  br label %1864

1864:                                             ; preds = %1859, %1863
  %.str.5.sink2303 = phi ptr [ @.str.5, %1863 ], [ @.str.2, %1859 ]
  store i32 %1854, ptr %639, align 4, !tbaa !5
  %1865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1866 = load i32, ptr @test_count, align 4, !tbaa !5
  %1867 = load i32, ptr %585, align 4, !tbaa !5
  %1868 = call ptr @s2n_strerror(i32 noundef %1867, ptr noundef nonnull @.str.4) #12
  %1869 = load i32, ptr %585, align 4, !tbaa !5
  %1870 = call ptr @s2n_strerror_debug(i32 noundef %1869, ptr noundef nonnull @.str.4) #12
  %1871 = load i32, ptr %639, align 4, !tbaa !5
  %1872 = call ptr @strerror(i32 noundef %1871) #12
  %1873 = load i32, ptr %639, align 4, !tbaa !5
  %1874 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1865, ptr noundef nonnull %.str.5.sink2303, i32 noundef %1866, ptr noundef nonnull @.str.49, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1868, ptr noundef %1870, ptr noundef %1872, i32 noundef %1873) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1875:                                             ; preds = %1847
  %1876 = load i32, ptr @test_count, align 4, !tbaa !5
  %1877 = add nsw i32 %1876, 1
  store i32 %1877, ptr @test_count, align 4, !tbaa !5
  %1878 = load i32, ptr %585, align 4, !tbaa !5
  %1879 = icmp eq i32 %1878, 469762050
  br i1 %1879, label %1902, label %1880

1880:                                             ; preds = %1875
  %1881 = load i32, ptr %639, align 4, !tbaa !5
  %1882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1883 = call i32 @s2n_print_stacktrace(ptr noundef %1882) #12
  %1884 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1885 = trunc nuw i8 %1884 to i1
  br i1 %1885, label %1886, label %1890

1886:                                             ; preds = %1880
  %1887 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1888 = call i32 @fileno(ptr noundef %1887) #12
  %1889 = call i32 @isatty(i32 noundef %1888) #12
  %.not1207 = icmp eq i32 %1889, 0
  br i1 %.not1207, label %1890, label %1891

1890:                                             ; preds = %1886, %1880
  br label %1891

1891:                                             ; preds = %1886, %1890
  %.str.5.sink2312 = phi ptr [ @.str.5, %1890 ], [ @.str.2, %1886 ]
  store i32 %1881, ptr %639, align 4, !tbaa !5
  %1892 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1893 = load i32, ptr @test_count, align 4, !tbaa !5
  %1894 = load i32, ptr %585, align 4, !tbaa !5
  %1895 = call ptr @s2n_strerror(i32 noundef %1894, ptr noundef nonnull @.str.4) #12
  %1896 = load i32, ptr %585, align 4, !tbaa !5
  %1897 = call ptr @s2n_strerror_debug(i32 noundef %1896, ptr noundef nonnull @.str.4) #12
  %1898 = load i32, ptr %639, align 4, !tbaa !5
  %1899 = call ptr @strerror(i32 noundef %1898) #12
  %1900 = load i32, ptr %639, align 4, !tbaa !5
  %1901 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1892, ptr noundef nonnull %.str.5.sink2312, i32 noundef %1893, ptr noundef nonnull @.str.50, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1895, ptr noundef %1897, ptr noundef %1899, i32 noundef %1900) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1902:                                             ; preds = %1875
  %1903 = add nsw i32 %1876, 2
  store i32 %1903, ptr @test_count, align 4, !tbaa !5
  %1904 = call ptr @s2n_strerror_debug(i32 noundef 469762050, ptr noundef nonnull @.str.4) #12
  %1905 = icmp eq ptr %1904, null
  br i1 %1905, label %1906, label %1928

1906:                                             ; preds = %1902
  %1907 = load i32, ptr %639, align 4, !tbaa !5
  %1908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1909 = call i32 @s2n_print_stacktrace(ptr noundef %1908) #12
  %1910 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1911 = trunc nuw i8 %1910 to i1
  br i1 %1911, label %1912, label %1916

1912:                                             ; preds = %1906
  %1913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1914 = call i32 @fileno(ptr noundef %1913) #12
  %1915 = call i32 @isatty(i32 noundef %1914) #12
  %.not1650 = icmp eq i32 %1915, 0
  br i1 %.not1650, label %1916, label %1917

1916:                                             ; preds = %1912, %1906
  br label %1917

1917:                                             ; preds = %1912, %1916
  %.str.5.sink2321 = phi ptr [ @.str.5, %1916 ], [ @.str.2, %1912 ]
  store i32 %1907, ptr %639, align 4, !tbaa !5
  %1918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1919 = load i32, ptr @test_count, align 4, !tbaa !5
  %1920 = load i32, ptr %585, align 4, !tbaa !5
  %1921 = call ptr @s2n_strerror(i32 noundef %1920, ptr noundef nonnull @.str.4) #12
  %1922 = load i32, ptr %585, align 4, !tbaa !5
  %1923 = call ptr @s2n_strerror_debug(i32 noundef %1922, ptr noundef nonnull @.str.4) #12
  %1924 = load i32, ptr %639, align 4, !tbaa !5
  %1925 = call ptr @strerror(i32 noundef %1924) #12
  %1926 = load i32, ptr %639, align 4, !tbaa !5
  %1927 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1918, ptr noundef nonnull %.str.5.sink2321, i32 noundef %1919, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 216, ptr noundef %1921, ptr noundef %1923, ptr noundef %1925, i32 noundef %1926) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1928:                                             ; preds = %1902
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  call void @llvm.lifetime.end.p0(i64 1, ptr nonnull %23) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %22) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %21) #12
  call void @llvm.lifetime.end.p0(i64 4184, ptr nonnull %20) #12
  %1929 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %1930 = load i32, ptr @test_count, align 4, !tbaa !5
  %1931 = add nsw i32 %1930, 1
  store i32 %1931, ptr @test_count, align 4, !tbaa !5
  %1932 = icmp eq ptr %1929, null
  br i1 %1932, label %1933, label %1955

1933:                                             ; preds = %1928
  %1934 = load i32, ptr %639, align 4, !tbaa !5
  %1935 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1936 = call i32 @s2n_print_stacktrace(ptr noundef %1935) #12
  %1937 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1938 = trunc nuw i8 %1937 to i1
  br i1 %1938, label %1939, label %1943

1939:                                             ; preds = %1933
  %1940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1941 = call i32 @fileno(ptr noundef %1940) #12
  %1942 = call i32 @isatty(i32 noundef %1941) #12
  %.not1649 = icmp eq i32 %1942, 0
  br i1 %.not1649, label %1943, label %1944

1943:                                             ; preds = %1939, %1933
  br label %1944

1944:                                             ; preds = %1939, %1943
  %.str.5.sink2330 = phi ptr [ @.str.5, %1943 ], [ @.str.2, %1939 ]
  store i32 %1934, ptr %639, align 4, !tbaa !5
  %1945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1946 = load i32, ptr @test_count, align 4, !tbaa !5
  %1947 = load i32, ptr %585, align 4, !tbaa !5
  %1948 = call ptr @s2n_strerror(i32 noundef %1947, ptr noundef nonnull @.str.4) #12
  %1949 = load i32, ptr %585, align 4, !tbaa !5
  %1950 = call ptr @s2n_strerror_debug(i32 noundef %1949, ptr noundef nonnull @.str.4) #12
  %1951 = load i32, ptr %639, align 4, !tbaa !5
  %1952 = call ptr @strerror(i32 noundef %1951) #12
  %1953 = load i32, ptr %639, align 4, !tbaa !5
  %1954 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1945, ptr noundef nonnull %.str.5.sink2330, i32 noundef %1946, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 222, ptr noundef %1948, ptr noundef %1950, ptr noundef %1952, i32 noundef %1953) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1955:                                             ; preds = %1928
  %1956 = add nsw i32 %1930, 2
  store i32 %1956, ptr @test_count, align 4, !tbaa !5
  %1957 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %1929, i32 noundef 1) #12
  %1958 = icmp eq i32 %1957, -1
  br i1 %1958, label %1959, label %1981

1959:                                             ; preds = %1955
  %1960 = load i32, ptr %639, align 4, !tbaa !5
  %1961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1962 = call i32 @s2n_print_stacktrace(ptr noundef %1961) #12
  %1963 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1964 = trunc nuw i8 %1963 to i1
  br i1 %1964, label %1965, label %1969

1965:                                             ; preds = %1959
  %1966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1967 = call i32 @fileno(ptr noundef %1966) #12
  %1968 = call i32 @isatty(i32 noundef %1967) #12
  %.not1648 = icmp eq i32 %1968, 0
  br i1 %.not1648, label %1969, label %1970

1969:                                             ; preds = %1965, %1959
  br label %1970

1970:                                             ; preds = %1965, %1969
  %.str.5.sink2339 = phi ptr [ @.str.5, %1969 ], [ @.str.2, %1965 ]
  store i32 %1960, ptr %639, align 4, !tbaa !5
  %1971 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1972 = load i32, ptr @test_count, align 4, !tbaa !5
  %1973 = load i32, ptr %585, align 4, !tbaa !5
  %1974 = call ptr @s2n_strerror(i32 noundef %1973, ptr noundef nonnull @.str.4) #12
  %1975 = load i32, ptr %585, align 4, !tbaa !5
  %1976 = call ptr @s2n_strerror_debug(i32 noundef %1975, ptr noundef nonnull @.str.4) #12
  %1977 = load i32, ptr %639, align 4, !tbaa !5
  %1978 = call ptr @strerror(i32 noundef %1977) #12
  %1979 = load i32, ptr %639, align 4, !tbaa !5
  %1980 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1971, ptr noundef nonnull %.str.5.sink2339, i32 noundef %1972, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 223, ptr noundef %1974, ptr noundef %1976, ptr noundef %1978, i32 noundef %1979) #14
  call void @exit(i32 noundef 1) #15
  unreachable

1981:                                             ; preds = %1955
  %1982 = load i32, ptr @test_count, align 4, !tbaa !5
  %1983 = add nsw i32 %1982, 1
  store i32 %1983, ptr @test_count, align 4, !tbaa !5
  %1984 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %1929, ptr noundef nonnull @.str.31) #12
  %1985 = icmp eq i32 %1984, -1
  br i1 %1985, label %1986, label %2008

1986:                                             ; preds = %1981
  %1987 = load i32, ptr %639, align 4, !tbaa !5
  %1988 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1989 = call i32 @s2n_print_stacktrace(ptr noundef %1988) #12
  %1990 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %1991 = trunc nuw i8 %1990 to i1
  br i1 %1991, label %1992, label %1996

1992:                                             ; preds = %1986
  %1993 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1994 = call i32 @fileno(ptr noundef %1993) #12
  %1995 = call i32 @isatty(i32 noundef %1994) #12
  %.not1647 = icmp eq i32 %1995, 0
  br i1 %.not1647, label %1996, label %1997

1996:                                             ; preds = %1992, %1986
  br label %1997

1997:                                             ; preds = %1992, %1996
  %.str.5.sink2348 = phi ptr [ @.str.5, %1996 ], [ @.str.2, %1992 ]
  store i32 %1987, ptr %639, align 4, !tbaa !5
  %1998 = load ptr, ptr @stderr, align 8, !tbaa !9
  %1999 = load i32, ptr @test_count, align 4, !tbaa !5
  %2000 = load i32, ptr %585, align 4, !tbaa !5
  %2001 = call ptr @s2n_strerror(i32 noundef %2000, ptr noundef nonnull @.str.4) #12
  %2002 = load i32, ptr %585, align 4, !tbaa !5
  %2003 = call ptr @s2n_strerror_debug(i32 noundef %2002, ptr noundef nonnull @.str.4) #12
  %2004 = load i32, ptr %639, align 4, !tbaa !5
  %2005 = call ptr @strerror(i32 noundef %2004) #12
  %2006 = load i32, ptr %639, align 4, !tbaa !5
  %2007 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %1998, ptr noundef nonnull %.str.5.sink2348, i32 noundef %1999, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 224, ptr noundef %2001, ptr noundef %2003, ptr noundef %2005, i32 noundef %2006) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2008:                                             ; preds = %1981
  %2009 = load i32, ptr @test_count, align 4, !tbaa !5
  %2010 = add nsw i32 %2009, 1
  store i32 %2010, ptr @test_count, align 4, !tbaa !5
  %2011 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %1929, ptr noundef %289) #12
  %2012 = icmp eq i32 %2011, -1
  br i1 %2012, label %2013, label %2035

2013:                                             ; preds = %2008
  %2014 = load i32, ptr %639, align 4, !tbaa !5
  %2015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2016 = call i32 @s2n_print_stacktrace(ptr noundef %2015) #12
  %2017 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2018 = trunc nuw i8 %2017 to i1
  br i1 %2018, label %2019, label %2023

2019:                                             ; preds = %2013
  %2020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2021 = call i32 @fileno(ptr noundef %2020) #12
  %2022 = call i32 @isatty(i32 noundef %2021) #12
  %.not1646 = icmp eq i32 %2022, 0
  br i1 %.not1646, label %2023, label %2024

2023:                                             ; preds = %2019, %2013
  br label %2024

2024:                                             ; preds = %2019, %2023
  %.str.5.sink2357 = phi ptr [ @.str.5, %2023 ], [ @.str.2, %2019 ]
  store i32 %2014, ptr %639, align 4, !tbaa !5
  %2025 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2026 = load i32, ptr @test_count, align 4, !tbaa !5
  %2027 = load i32, ptr %585, align 4, !tbaa !5
  %2028 = call ptr @s2n_strerror(i32 noundef %2027, ptr noundef nonnull @.str.4) #12
  %2029 = load i32, ptr %585, align 4, !tbaa !5
  %2030 = call ptr @s2n_strerror_debug(i32 noundef %2029, ptr noundef nonnull @.str.4) #12
  %2031 = load i32, ptr %639, align 4, !tbaa !5
  %2032 = call ptr @strerror(i32 noundef %2031) #12
  %2033 = load i32, ptr %639, align 4, !tbaa !5
  %2034 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2025, ptr noundef nonnull %.str.5.sink2357, i32 noundef %2026, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 225, ptr noundef %2028, ptr noundef %2030, ptr noundef %2032, i32 noundef %2033) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2035:                                             ; preds = %2008
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %24) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %24, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %25) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %25, i8 0, i64 40, i1 false)
  %2036 = load i32, ptr @test_count, align 4, !tbaa !5
  %2037 = add nsw i32 %2036, 1
  store i32 %2037, ptr @test_count, align 4, !tbaa !5
  %2038 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %24, i32 noundef 8092) #12
  %2039 = icmp eq i32 %2038, -1
  br i1 %2039, label %2040, label %2062

2040:                                             ; preds = %2035
  %2041 = load i32, ptr %639, align 4, !tbaa !5
  %2042 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2043 = call i32 @s2n_print_stacktrace(ptr noundef %2042) #12
  %2044 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2045 = trunc nuw i8 %2044 to i1
  br i1 %2045, label %2046, label %2050

2046:                                             ; preds = %2040
  %2047 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2048 = call i32 @fileno(ptr noundef %2047) #12
  %2049 = call i32 @isatty(i32 noundef %2048) #12
  %.not1645 = icmp eq i32 %2049, 0
  br i1 %.not1645, label %2050, label %2051

2050:                                             ; preds = %2046, %2040
  br label %2051

2051:                                             ; preds = %2046, %2050
  %.str.5.sink2366 = phi ptr [ @.str.5, %2050 ], [ @.str.2, %2046 ]
  store i32 %2041, ptr %639, align 4, !tbaa !5
  %2052 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2053 = load i32, ptr @test_count, align 4, !tbaa !5
  %2054 = load i32, ptr %585, align 4, !tbaa !5
  %2055 = call ptr @s2n_strerror(i32 noundef %2054, ptr noundef nonnull @.str.4) #12
  %2056 = load i32, ptr %585, align 4, !tbaa !5
  %2057 = call ptr @s2n_strerror_debug(i32 noundef %2056, ptr noundef nonnull @.str.4) #12
  %2058 = load i32, ptr %639, align 4, !tbaa !5
  %2059 = call ptr @strerror(i32 noundef %2058) #12
  %2060 = load i32, ptr %639, align 4, !tbaa !5
  %2061 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2052, ptr noundef nonnull %.str.5.sink2366, i32 noundef %2053, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 229, ptr noundef %2055, ptr noundef %2057, ptr noundef %2059, i32 noundef %2060) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2062:                                             ; preds = %2035
  %2063 = load i32, ptr @test_count, align 4, !tbaa !5
  %2064 = add nsw i32 %2063, 1
  store i32 %2064, ptr @test_count, align 4, !tbaa !5
  %2065 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %24, ptr noundef nonnull %25, ptr noundef nonnull %1929) #12
  %2066 = icmp eq i32 %2065, -1
  br i1 %2066, label %2067, label %2089

2067:                                             ; preds = %2062
  %2068 = load i32, ptr %639, align 4, !tbaa !5
  %2069 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2070 = call i32 @s2n_print_stacktrace(ptr noundef %2069) #12
  %2071 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2072 = trunc nuw i8 %2071 to i1
  br i1 %2072, label %2073, label %2077

2073:                                             ; preds = %2067
  %2074 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2075 = call i32 @fileno(ptr noundef %2074) #12
  %2076 = call i32 @isatty(i32 noundef %2075) #12
  %.not1644 = icmp eq i32 %2076, 0
  br i1 %.not1644, label %2077, label %2078

2077:                                             ; preds = %2073, %2067
  br label %2078

2078:                                             ; preds = %2073, %2077
  %.str.5.sink2375 = phi ptr [ @.str.5, %2077 ], [ @.str.2, %2073 ]
  store i32 %2068, ptr %639, align 4, !tbaa !5
  %2079 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2080 = load i32, ptr @test_count, align 4, !tbaa !5
  %2081 = load i32, ptr %585, align 4, !tbaa !5
  %2082 = call ptr @s2n_strerror(i32 noundef %2081, ptr noundef nonnull @.str.4) #12
  %2083 = load i32, ptr %585, align 4, !tbaa !5
  %2084 = call ptr @s2n_strerror_debug(i32 noundef %2083, ptr noundef nonnull @.str.4) #12
  %2085 = load i32, ptr %639, align 4, !tbaa !5
  %2086 = call ptr @strerror(i32 noundef %2085) #12
  %2087 = load i32, ptr %639, align 4, !tbaa !5
  %2088 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2079, ptr noundef nonnull %.str.5.sink2375, i32 noundef %2080, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 230, ptr noundef %2082, ptr noundef %2084, ptr noundef %2086, i32 noundef %2087) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2089:                                             ; preds = %2062
  %2090 = load i32, ptr @test_count, align 4, !tbaa !5
  %2091 = add nsw i32 %2090, 1
  store i32 %2091, ptr @test_count, align 4, !tbaa !5
  %2092 = call i32 @s2n_stuffer_write_bytes(ptr noundef nonnull %24, ptr noundef nonnull %4, i32 noundef 9) #12
  %2093 = icmp eq i32 %2092, -1
  br i1 %2093, label %2094, label %2116

2094:                                             ; preds = %2089
  %2095 = load i32, ptr %639, align 4, !tbaa !5
  %2096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2097 = call i32 @s2n_print_stacktrace(ptr noundef %2096) #12
  %2098 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2099 = trunc nuw i8 %2098 to i1
  br i1 %2099, label %2100, label %2104

2100:                                             ; preds = %2094
  %2101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2102 = call i32 @fileno(ptr noundef %2101) #12
  %2103 = call i32 @isatty(i32 noundef %2102) #12
  %.not1643 = icmp eq i32 %2103, 0
  br i1 %.not1643, label %2104, label %2105

2104:                                             ; preds = %2100, %2094
  br label %2105

2105:                                             ; preds = %2100, %2104
  %.str.5.sink2384 = phi ptr [ @.str.5, %2104 ], [ @.str.2, %2100 ]
  store i32 %2095, ptr %639, align 4, !tbaa !5
  %2106 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2107 = load i32, ptr @test_count, align 4, !tbaa !5
  %2108 = load i32, ptr %585, align 4, !tbaa !5
  %2109 = call ptr @s2n_strerror(i32 noundef %2108, ptr noundef nonnull @.str.4) #12
  %2110 = load i32, ptr %585, align 4, !tbaa !5
  %2111 = call ptr @s2n_strerror_debug(i32 noundef %2110, ptr noundef nonnull @.str.4) #12
  %2112 = load i32, ptr %639, align 4, !tbaa !5
  %2113 = call ptr @strerror(i32 noundef %2112) #12
  %2114 = load i32, ptr %639, align 4, !tbaa !5
  %2115 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2106, ptr noundef nonnull %.str.5.sink2384, i32 noundef %2107, ptr noundef nonnull @.str.37, ptr noundef nonnull @.str.1, i32 noundef 232, ptr noundef %2109, ptr noundef %2111, ptr noundef %2113, i32 noundef %2114) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2116:                                             ; preds = %2089
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %26) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %26, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %27) #12
  store i32 0, ptr %27, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %28) #12
  store i64 0, ptr %28, align 8, !tbaa !42
  %2117 = load i32, ptr @test_count, align 4, !tbaa !5
  %2118 = add nsw i32 %2117, 1
  store i32 %2118, ptr @test_count, align 4, !tbaa !5
  %2119 = call i32 @s2n_recv_early_data(ptr noundef nonnull %1929, ptr noundef nonnull %26, i64 noundef 100, ptr noundef nonnull %28, ptr noundef nonnull %27) #12
  %2120 = icmp eq i32 %2119, -1
  br i1 %2120, label %2143, label %2121

2121:                                             ; preds = %2116
  %2122 = load i32, ptr %639, align 4, !tbaa !5
  %2123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2124 = call i32 @s2n_print_stacktrace(ptr noundef %2123) #12
  %2125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2126 = trunc nuw i8 %2125 to i1
  br i1 %2126, label %2127, label %2131

2127:                                             ; preds = %2121
  %2128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2129 = call i32 @fileno(ptr noundef %2128) #12
  %2130 = call i32 @isatty(i32 noundef %2129) #12
  %.not1208 = icmp eq i32 %2130, 0
  br i1 %.not1208, label %2131, label %2132

2131:                                             ; preds = %2127, %2121
  br label %2132

2132:                                             ; preds = %2127, %2131
  %.str.5.sink2393 = phi ptr [ @.str.5, %2131 ], [ @.str.2, %2127 ]
  store i32 %2122, ptr %639, align 4, !tbaa !5
  %2133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2134 = load i32, ptr @test_count, align 4, !tbaa !5
  %2135 = load i32, ptr %585, align 4, !tbaa !5
  %2136 = call ptr @s2n_strerror(i32 noundef %2135, ptr noundef nonnull @.str.4) #12
  %2137 = load i32, ptr %585, align 4, !tbaa !5
  %2138 = call ptr @s2n_strerror_debug(i32 noundef %2137, ptr noundef nonnull @.str.4) #12
  %2139 = load i32, ptr %639, align 4, !tbaa !5
  %2140 = call ptr @strerror(i32 noundef %2139) #12
  %2141 = load i32, ptr %639, align 4, !tbaa !5
  %2142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2133, ptr noundef nonnull %.str.5.sink2393, i32 noundef %2134, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %2136, ptr noundef %2138, ptr noundef %2140, i32 noundef %2141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2143:                                             ; preds = %2116
  %2144 = load i32, ptr @test_count, align 4, !tbaa !5
  %2145 = add nsw i32 %2144, 1
  store i32 %2145, ptr @test_count, align 4, !tbaa !5
  %2146 = load i32, ptr %585, align 4, !tbaa !5
  %2147 = icmp eq i32 %2146, 335544322
  br i1 %2147, label %2170, label %2148

2148:                                             ; preds = %2143
  %2149 = load i32, ptr %639, align 4, !tbaa !5
  %2150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2151 = call i32 @s2n_print_stacktrace(ptr noundef %2150) #12
  %2152 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2153 = trunc nuw i8 %2152 to i1
  br i1 %2153, label %2154, label %2158

2154:                                             ; preds = %2148
  %2155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2156 = call i32 @fileno(ptr noundef %2155) #12
  %2157 = call i32 @isatty(i32 noundef %2156) #12
  %.not1209 = icmp eq i32 %2157, 0
  br i1 %.not1209, label %2158, label %2159

2158:                                             ; preds = %2154, %2148
  br label %2159

2159:                                             ; preds = %2154, %2158
  %.str.5.sink2402 = phi ptr [ @.str.5, %2158 ], [ @.str.2, %2154 ]
  store i32 %2149, ptr %639, align 4, !tbaa !5
  %2160 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2161 = load i32, ptr @test_count, align 4, !tbaa !5
  %2162 = load i32, ptr %585, align 4, !tbaa !5
  %2163 = call ptr @s2n_strerror(i32 noundef %2162, ptr noundef nonnull @.str.4) #12
  %2164 = load i32, ptr %585, align 4, !tbaa !5
  %2165 = call ptr @s2n_strerror_debug(i32 noundef %2164, ptr noundef nonnull @.str.4) #12
  %2166 = load i32, ptr %639, align 4, !tbaa !5
  %2167 = call ptr @strerror(i32 noundef %2166) #12
  %2168 = load i32, ptr %639, align 4, !tbaa !5
  %2169 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2160, ptr noundef nonnull %.str.5.sink2402, i32 noundef %2161, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %2163, ptr noundef %2165, ptr noundef %2167, i32 noundef %2168) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2170:                                             ; preds = %2143
  %2171 = add nsw i32 %2144, 2
  store i32 %2171, ptr @test_count, align 4, !tbaa !5
  %2172 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %2173 = icmp eq ptr %2172, null
  br i1 %2173, label %2174, label %2196

2174:                                             ; preds = %2170
  %2175 = load i32, ptr %639, align 4, !tbaa !5
  %2176 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2177 = call i32 @s2n_print_stacktrace(ptr noundef %2176) #12
  %2178 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2179 = trunc nuw i8 %2178 to i1
  br i1 %2179, label %2180, label %2184

2180:                                             ; preds = %2174
  %2181 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2182 = call i32 @fileno(ptr noundef %2181) #12
  %2183 = call i32 @isatty(i32 noundef %2182) #12
  %.not1642 = icmp eq i32 %2183, 0
  br i1 %.not1642, label %2184, label %2185

2184:                                             ; preds = %2180, %2174
  br label %2185

2185:                                             ; preds = %2180, %2184
  %.str.5.sink2411 = phi ptr [ @.str.5, %2184 ], [ @.str.2, %2180 ]
  store i32 %2175, ptr %639, align 4, !tbaa !5
  %2186 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2187 = load i32, ptr @test_count, align 4, !tbaa !5
  %2188 = load i32, ptr %585, align 4, !tbaa !5
  %2189 = call ptr @s2n_strerror(i32 noundef %2188, ptr noundef nonnull @.str.4) #12
  %2190 = load i32, ptr %585, align 4, !tbaa !5
  %2191 = call ptr @s2n_strerror_debug(i32 noundef %2190, ptr noundef nonnull @.str.4) #12
  %2192 = load i32, ptr %639, align 4, !tbaa !5
  %2193 = call ptr @strerror(i32 noundef %2192) #12
  %2194 = load i32, ptr %639, align 4, !tbaa !5
  %2195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2186, ptr noundef nonnull %.str.5.sink2411, i32 noundef %2187, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 239, ptr noundef %2189, ptr noundef %2191, ptr noundef %2193, i32 noundef %2194) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2196:                                             ; preds = %2170
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %2197 = load i32, ptr @test_count, align 4, !tbaa !5
  %2198 = add nsw i32 %2197, 1
  store i32 %2198, ptr @test_count, align 4, !tbaa !5
  %2199 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %1929) #12
  %2200 = icmp eq i32 %2199, 0
  br i1 %2200, label %2223, label %2201

2201:                                             ; preds = %2196
  %2202 = load i32, ptr %639, align 4, !tbaa !5
  %2203 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2204 = call i32 @s2n_print_stacktrace(ptr noundef %2203) #12
  %2205 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2206 = trunc nuw i8 %2205 to i1
  br i1 %2206, label %2207, label %2211

2207:                                             ; preds = %2201
  %2208 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2209 = call i32 @fileno(ptr noundef %2208) #12
  %2210 = call i32 @isatty(i32 noundef %2209) #12
  %.not1210 = icmp eq i32 %2210, 0
  br i1 %.not1210, label %2211, label %2212

2211:                                             ; preds = %2207, %2201
  br label %2212

2212:                                             ; preds = %2207, %2211
  %.str.5.sink2420 = phi ptr [ @.str.5, %2211 ], [ @.str.2, %2207 ]
  store i32 %2202, ptr %639, align 4, !tbaa !5
  %2213 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2214 = load i32, ptr @test_count, align 4, !tbaa !5
  %2215 = load i32, ptr %585, align 4, !tbaa !5
  %2216 = call ptr @s2n_strerror(i32 noundef %2215, ptr noundef nonnull @.str.4) #12
  %2217 = load i32, ptr %585, align 4, !tbaa !5
  %2218 = call ptr @s2n_strerror_debug(i32 noundef %2217, ptr noundef nonnull @.str.4) #12
  %2219 = load i32, ptr %639, align 4, !tbaa !5
  %2220 = call ptr @strerror(i32 noundef %2219) #12
  %2221 = load i32, ptr %639, align 4, !tbaa !5
  %2222 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2213, ptr noundef nonnull %.str.5.sink2420, i32 noundef %2214, ptr noundef nonnull @.str.57, ptr noundef nonnull @.str.1, i32 noundef 240, ptr noundef %2216, ptr noundef %2218, ptr noundef %2220, i32 noundef %2221) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2223:                                             ; preds = %2196
  %2224 = load i32, ptr @test_count, align 4, !tbaa !5
  %2225 = add nsw i32 %2224, 1
  store i32 %2225, ptr @test_count, align 4, !tbaa !5
  %2226 = load i64, ptr %28, align 8, !tbaa !42
  %2227 = icmp eq i64 %2226, 0
  br i1 %2227, label %2250, label %2228

2228:                                             ; preds = %2223
  %2229 = load i32, ptr %639, align 4, !tbaa !5
  %2230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2231 = call i32 @s2n_print_stacktrace(ptr noundef %2230) #12
  %2232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2233 = trunc nuw i8 %2232 to i1
  br i1 %2233, label %2234, label %2238

2234:                                             ; preds = %2228
  %2235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2236 = call i32 @fileno(ptr noundef %2235) #12
  %2237 = call i32 @isatty(i32 noundef %2236) #12
  %.not1211 = icmp eq i32 %2237, 0
  br i1 %.not1211, label %2238, label %2239

2238:                                             ; preds = %2234, %2228
  br label %2239

2239:                                             ; preds = %2234, %2238
  %.str.5.sink2429 = phi ptr [ @.str.5, %2238 ], [ @.str.2, %2234 ]
  store i32 %2229, ptr %639, align 4, !tbaa !5
  %2240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2241 = load i32, ptr @test_count, align 4, !tbaa !5
  %2242 = load i32, ptr %585, align 4, !tbaa !5
  %2243 = call ptr @s2n_strerror(i32 noundef %2242, ptr noundef nonnull @.str.4) #12
  %2244 = load i32, ptr %585, align 4, !tbaa !5
  %2245 = call ptr @s2n_strerror_debug(i32 noundef %2244, ptr noundef nonnull @.str.4) #12
  %2246 = load i32, ptr %639, align 4, !tbaa !5
  %2247 = call ptr @strerror(i32 noundef %2246) #12
  %2248 = load i32, ptr %639, align 4, !tbaa !5
  %2249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2240, ptr noundef nonnull %.str.5.sink2429, i32 noundef %2241, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 241, ptr noundef %2243, ptr noundef %2245, ptr noundef %2247, i32 noundef %2248) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2250:                                             ; preds = %2223
  %2251 = add nsw i32 %2224, 2
  store i32 %2251, ptr @test_count, align 4, !tbaa !5
  %2252 = call i32 @s2n_stuffer_free(ptr noundef nonnull %24) #12
  %2253 = icmp eq i32 %2252, -1
  br i1 %2253, label %2254, label %2276

2254:                                             ; preds = %2250
  %2255 = load i32, ptr %639, align 4, !tbaa !5
  %2256 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2257 = call i32 @s2n_print_stacktrace(ptr noundef %2256) #12
  %2258 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2259 = trunc nuw i8 %2258 to i1
  br i1 %2259, label %2260, label %2264

2260:                                             ; preds = %2254
  %2261 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2262 = call i32 @fileno(ptr noundef %2261) #12
  %2263 = call i32 @isatty(i32 noundef %2262) #12
  %.not1641 = icmp eq i32 %2263, 0
  br i1 %.not1641, label %2264, label %2265

2264:                                             ; preds = %2260, %2254
  br label %2265

2265:                                             ; preds = %2260, %2264
  %.str.5.sink2438 = phi ptr [ @.str.5, %2264 ], [ @.str.2, %2260 ]
  store i32 %2255, ptr %639, align 4, !tbaa !5
  %2266 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2267 = load i32, ptr @test_count, align 4, !tbaa !5
  %2268 = load i32, ptr %585, align 4, !tbaa !5
  %2269 = call ptr @s2n_strerror(i32 noundef %2268, ptr noundef nonnull @.str.4) #12
  %2270 = load i32, ptr %585, align 4, !tbaa !5
  %2271 = call ptr @s2n_strerror_debug(i32 noundef %2270, ptr noundef nonnull @.str.4) #12
  %2272 = load i32, ptr %639, align 4, !tbaa !5
  %2273 = call ptr @strerror(i32 noundef %2272) #12
  %2274 = load i32, ptr %639, align 4, !tbaa !5
  %2275 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2266, ptr noundef nonnull %.str.5.sink2438, i32 noundef %2267, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 243, ptr noundef %2269, ptr noundef %2271, ptr noundef %2273, i32 noundef %2274) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2276:                                             ; preds = %2250
  %2277 = load i32, ptr @test_count, align 4, !tbaa !5
  %2278 = add nsw i32 %2277, 1
  store i32 %2278, ptr @test_count, align 4, !tbaa !5
  %2279 = call i32 @s2n_connection_free(ptr noundef nonnull %1929) #12
  %2280 = icmp eq i32 %2279, -1
  br i1 %2280, label %2281, label %2303

2281:                                             ; preds = %2276
  %2282 = load i32, ptr %639, align 4, !tbaa !5
  %2283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2284 = call i32 @s2n_print_stacktrace(ptr noundef %2283) #12
  %2285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2286 = trunc nuw i8 %2285 to i1
  br i1 %2286, label %2287, label %2291

2287:                                             ; preds = %2281
  %2288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2289 = call i32 @fileno(ptr noundef %2288) #12
  %2290 = call i32 @isatty(i32 noundef %2289) #12
  %.not1640 = icmp eq i32 %2290, 0
  br i1 %.not1640, label %2291, label %2292

2291:                                             ; preds = %2287, %2281
  br label %2292

2292:                                             ; preds = %2287, %2291
  %.str.5.sink2447 = phi ptr [ @.str.5, %2291 ], [ @.str.2, %2287 ]
  store i32 %2282, ptr %639, align 4, !tbaa !5
  %2293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2294 = load i32, ptr @test_count, align 4, !tbaa !5
  %2295 = load i32, ptr %585, align 4, !tbaa !5
  %2296 = call ptr @s2n_strerror(i32 noundef %2295, ptr noundef nonnull @.str.4) #12
  %2297 = load i32, ptr %585, align 4, !tbaa !5
  %2298 = call ptr @s2n_strerror_debug(i32 noundef %2297, ptr noundef nonnull @.str.4) #12
  %2299 = load i32, ptr %639, align 4, !tbaa !5
  %2300 = call ptr @strerror(i32 noundef %2299) #12
  %2301 = load i32, ptr %639, align 4, !tbaa !5
  %2302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2293, ptr noundef nonnull %.str.5.sink2447, i32 noundef %2294, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 244, ptr noundef %2296, ptr noundef %2298, ptr noundef %2300, i32 noundef %2301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2303:                                             ; preds = %2276
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %28) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %27) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %26) #12
  %2304 = call i32 @s2n_stuffer_free(ptr noundef nonnull %25) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %25) #12
  %2305 = call i32 @s2n_stuffer_free(ptr noundef nonnull %24) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %24) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %29) #12
  store ptr null, ptr %29, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %30) #12
  store ptr null, ptr %30, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %31) #12
  store i64 0, ptr %31, align 8
  %2306 = load i32, ptr @test_count, align 4, !tbaa !5
  %2307 = add nsw i32 %2306, 1
  store i32 %2307, ptr @test_count, align 4, !tbaa !5
  %2308 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %29, ptr noundef nonnull %30, ptr noundef nonnull %31)
  %2309 = call zeroext i1 @s2n_result_is_ok(i32 %2308)
  br i1 %2309, label %2332, label %2310

2310:                                             ; preds = %2303
  %2311 = load i32, ptr %639, align 4, !tbaa !5
  %2312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2313 = call i32 @s2n_print_stacktrace(ptr noundef %2312) #12
  %2314 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2315 = trunc nuw i8 %2314 to i1
  br i1 %2315, label %2316, label %2320

2316:                                             ; preds = %2310
  %2317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2318 = call i32 @fileno(ptr noundef %2317) #12
  %2319 = call i32 @isatty(i32 noundef %2318) #12
  %.not1212 = icmp eq i32 %2319, 0
  br i1 %.not1212, label %2320, label %2321

2320:                                             ; preds = %2316, %2310
  br label %2321

2321:                                             ; preds = %2316, %2320
  %.str.5.sink2456 = phi ptr [ @.str.5, %2320 ], [ @.str.2, %2316 ]
  store i32 %2311, ptr %639, align 4, !tbaa !5
  %2322 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2323 = load i32, ptr @test_count, align 4, !tbaa !5
  %2324 = load i32, ptr %585, align 4, !tbaa !5
  %2325 = call ptr @s2n_strerror(i32 noundef %2324, ptr noundef nonnull @.str.4) #12
  %2326 = load i32, ptr %585, align 4, !tbaa !5
  %2327 = call ptr @s2n_strerror_debug(i32 noundef %2326, ptr noundef nonnull @.str.4) #12
  %2328 = load i32, ptr %639, align 4, !tbaa !5
  %2329 = call ptr @strerror(i32 noundef %2328) #12
  %2330 = load i32, ptr %639, align 4, !tbaa !5
  %2331 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2322, ptr noundef nonnull %.str.5.sink2456, i32 noundef %2323, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 251, ptr noundef %2325, ptr noundef %2327, ptr noundef %2329, i32 noundef %2330) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2332:                                             ; preds = %2303
  %2333 = load i32, ptr @test_count, align 4, !tbaa !5
  %2334 = add nsw i32 %2333, 1
  store i32 %2334, ptr @test_count, align 4, !tbaa !5
  %2335 = load ptr, ptr %29, align 8, !tbaa !9
  %2336 = call i32 @s2n_connection_append_psk(ptr noundef %2335, ptr noundef %289) #12
  %2337 = icmp eq i32 %2336, -1
  br i1 %2337, label %2338, label %2360

2338:                                             ; preds = %2332
  %2339 = load i32, ptr %639, align 4, !tbaa !5
  %2340 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2341 = call i32 @s2n_print_stacktrace(ptr noundef %2340) #12
  %2342 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2343 = trunc nuw i8 %2342 to i1
  br i1 %2343, label %2344, label %2348

2344:                                             ; preds = %2338
  %2345 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2346 = call i32 @fileno(ptr noundef %2345) #12
  %2347 = call i32 @isatty(i32 noundef %2346) #12
  %.not1639 = icmp eq i32 %2347, 0
  br i1 %.not1639, label %2348, label %2349

2348:                                             ; preds = %2344, %2338
  br label %2349

2349:                                             ; preds = %2344, %2348
  %.str.5.sink2465 = phi ptr [ @.str.5, %2348 ], [ @.str.2, %2344 ]
  store i32 %2339, ptr %639, align 4, !tbaa !5
  %2350 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2351 = load i32, ptr @test_count, align 4, !tbaa !5
  %2352 = load i32, ptr %585, align 4, !tbaa !5
  %2353 = call ptr @s2n_strerror(i32 noundef %2352, ptr noundef nonnull @.str.4) #12
  %2354 = load i32, ptr %585, align 4, !tbaa !5
  %2355 = call ptr @s2n_strerror_debug(i32 noundef %2354, ptr noundef nonnull @.str.4) #12
  %2356 = load i32, ptr %639, align 4, !tbaa !5
  %2357 = call ptr @strerror(i32 noundef %2356) #12
  %2358 = load i32, ptr %639, align 4, !tbaa !5
  %2359 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2350, ptr noundef nonnull %.str.5.sink2465, i32 noundef %2351, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 252, ptr noundef %2353, ptr noundef %2355, ptr noundef %2357, i32 noundef %2358) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2360:                                             ; preds = %2332
  %2361 = load i32, ptr @test_count, align 4, !tbaa !5
  %2362 = add nsw i32 %2361, 1
  store i32 %2362, ptr @test_count, align 4, !tbaa !5
  %2363 = load ptr, ptr %30, align 8, !tbaa !9
  %2364 = call i32 @s2n_connection_append_psk(ptr noundef %2363, ptr noundef %289) #12
  %2365 = icmp eq i32 %2364, -1
  br i1 %2365, label %2366, label %2388

2366:                                             ; preds = %2360
  %2367 = load i32, ptr %639, align 4, !tbaa !5
  %2368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2369 = call i32 @s2n_print_stacktrace(ptr noundef %2368) #12
  %2370 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2371 = trunc nuw i8 %2370 to i1
  br i1 %2371, label %2372, label %2376

2372:                                             ; preds = %2366
  %2373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2374 = call i32 @fileno(ptr noundef %2373) #12
  %2375 = call i32 @isatty(i32 noundef %2374) #12
  %.not1638 = icmp eq i32 %2375, 0
  br i1 %.not1638, label %2376, label %2377

2376:                                             ; preds = %2372, %2366
  br label %2377

2377:                                             ; preds = %2372, %2376
  %.str.5.sink2474 = phi ptr [ @.str.5, %2376 ], [ @.str.2, %2372 ]
  store i32 %2367, ptr %639, align 4, !tbaa !5
  %2378 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2379 = load i32, ptr @test_count, align 4, !tbaa !5
  %2380 = load i32, ptr %585, align 4, !tbaa !5
  %2381 = call ptr @s2n_strerror(i32 noundef %2380, ptr noundef nonnull @.str.4) #12
  %2382 = load i32, ptr %585, align 4, !tbaa !5
  %2383 = call ptr @s2n_strerror_debug(i32 noundef %2382, ptr noundef nonnull @.str.4) #12
  %2384 = load i32, ptr %639, align 4, !tbaa !5
  %2385 = call ptr @strerror(i32 noundef %2384) #12
  %2386 = load i32, ptr %639, align 4, !tbaa !5
  %2387 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2378, ptr noundef nonnull %.str.5.sink2474, i32 noundef %2379, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 253, ptr noundef %2381, ptr noundef %2383, ptr noundef %2385, i32 noundef %2386) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2388:                                             ; preds = %2360
  %2389 = load ptr, ptr %30, align 8, !tbaa !9
  %2390 = getelementptr inbounds i8, ptr %2389, i64 4081
  store i8 1, ptr %2390, align 1, !tbaa !45
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %32) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %32, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %33) #12
  store i32 0, ptr %33, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %34) #12
  store i64 0, ptr %34, align 8, !tbaa !42
  %2391 = load i32, ptr @test_count, align 4, !tbaa !5
  %2392 = add nsw i32 %2391, 1
  store i32 %2392, ptr @test_count, align 4, !tbaa !5
  %2393 = load ptr, ptr %29, align 8, !tbaa !9
  %2394 = call i32 @s2n_send_early_data(ptr noundef %2393, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %34, ptr noundef nonnull %33) #12
  %2395 = icmp eq i32 %2394, -1
  br i1 %2395, label %2418, label %2396

2396:                                             ; preds = %2388
  %2397 = load i32, ptr %639, align 4, !tbaa !5
  %2398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2399 = call i32 @s2n_print_stacktrace(ptr noundef %2398) #12
  %2400 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2401 = trunc nuw i8 %2400 to i1
  br i1 %2401, label %2402, label %2406

2402:                                             ; preds = %2396
  %2403 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2404 = call i32 @fileno(ptr noundef %2403) #12
  %2405 = call i32 @isatty(i32 noundef %2404) #12
  %.not1213 = icmp eq i32 %2405, 0
  br i1 %.not1213, label %2406, label %2407

2406:                                             ; preds = %2402, %2396
  br label %2407

2407:                                             ; preds = %2402, %2406
  %.str.5.sink2483 = phi ptr [ @.str.5, %2406 ], [ @.str.2, %2402 ]
  store i32 %2397, ptr %639, align 4, !tbaa !5
  %2408 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2409 = load i32, ptr @test_count, align 4, !tbaa !5
  %2410 = load i32, ptr %585, align 4, !tbaa !5
  %2411 = call ptr @s2n_strerror(i32 noundef %2410, ptr noundef nonnull @.str.4) #12
  %2412 = load i32, ptr %585, align 4, !tbaa !5
  %2413 = call ptr @s2n_strerror_debug(i32 noundef %2412, ptr noundef nonnull @.str.4) #12
  %2414 = load i32, ptr %639, align 4, !tbaa !5
  %2415 = call ptr @strerror(i32 noundef %2414) #12
  %2416 = load i32, ptr %639, align 4, !tbaa !5
  %2417 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2408, ptr noundef nonnull %.str.5.sink2483, i32 noundef %2409, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %2411, ptr noundef %2413, ptr noundef %2415, i32 noundef %2416) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2418:                                             ; preds = %2388
  %2419 = load i32, ptr @test_count, align 4, !tbaa !5
  %2420 = add nsw i32 %2419, 1
  store i32 %2420, ptr @test_count, align 4, !tbaa !5
  %2421 = load i32, ptr %585, align 4, !tbaa !5
  %2422 = icmp eq i32 %2421, 201326592
  br i1 %2422, label %2445, label %2423

2423:                                             ; preds = %2418
  %2424 = load i32, ptr %639, align 4, !tbaa !5
  %2425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2426 = call i32 @s2n_print_stacktrace(ptr noundef %2425) #12
  %2427 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2428 = trunc nuw i8 %2427 to i1
  br i1 %2428, label %2429, label %2433

2429:                                             ; preds = %2423
  %2430 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2431 = call i32 @fileno(ptr noundef %2430) #12
  %2432 = call i32 @isatty(i32 noundef %2431) #12
  %.not1214 = icmp eq i32 %2432, 0
  br i1 %.not1214, label %2433, label %2434

2433:                                             ; preds = %2429, %2423
  br label %2434

2434:                                             ; preds = %2429, %2433
  %.str.5.sink2492 = phi ptr [ @.str.5, %2433 ], [ @.str.2, %2429 ]
  store i32 %2424, ptr %639, align 4, !tbaa !5
  %2435 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2436 = load i32, ptr @test_count, align 4, !tbaa !5
  %2437 = load i32, ptr %585, align 4, !tbaa !5
  %2438 = call ptr @s2n_strerror(i32 noundef %2437, ptr noundef nonnull @.str.4) #12
  %2439 = load i32, ptr %585, align 4, !tbaa !5
  %2440 = call ptr @s2n_strerror_debug(i32 noundef %2439, ptr noundef nonnull @.str.4) #12
  %2441 = load i32, ptr %639, align 4, !tbaa !5
  %2442 = call ptr @strerror(i32 noundef %2441) #12
  %2443 = load i32, ptr %639, align 4, !tbaa !5
  %2444 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2435, ptr noundef nonnull %.str.5.sink2492, i32 noundef %2436, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %2438, ptr noundef %2440, ptr noundef %2442, i32 noundef %2443) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2445:                                             ; preds = %2418
  %2446 = add nsw i32 %2419, 2
  store i32 %2446, ptr @test_count, align 4, !tbaa !5
  %2447 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %2448 = icmp eq ptr %2447, null
  br i1 %2448, label %2449, label %2471

2449:                                             ; preds = %2445
  %2450 = load i32, ptr %639, align 4, !tbaa !5
  %2451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2452 = call i32 @s2n_print_stacktrace(ptr noundef %2451) #12
  %2453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2454 = trunc nuw i8 %2453 to i1
  br i1 %2454, label %2455, label %2459

2455:                                             ; preds = %2449
  %2456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2457 = call i32 @fileno(ptr noundef %2456) #12
  %2458 = call i32 @isatty(i32 noundef %2457) #12
  %.not1637 = icmp eq i32 %2458, 0
  br i1 %.not1637, label %2459, label %2460

2459:                                             ; preds = %2455, %2449
  br label %2460

2460:                                             ; preds = %2455, %2459
  %.str.5.sink2501 = phi ptr [ @.str.5, %2459 ], [ @.str.2, %2455 ]
  store i32 %2450, ptr %639, align 4, !tbaa !5
  %2461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2462 = load i32, ptr @test_count, align 4, !tbaa !5
  %2463 = load i32, ptr %585, align 4, !tbaa !5
  %2464 = call ptr @s2n_strerror(i32 noundef %2463, ptr noundef nonnull @.str.4) #12
  %2465 = load i32, ptr %585, align 4, !tbaa !5
  %2466 = call ptr @s2n_strerror_debug(i32 noundef %2465, ptr noundef nonnull @.str.4) #12
  %2467 = load i32, ptr %639, align 4, !tbaa !5
  %2468 = call ptr @strerror(i32 noundef %2467) #12
  %2469 = load i32, ptr %639, align 4, !tbaa !5
  %2470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2461, ptr noundef nonnull %.str.5.sink2501, i32 noundef %2462, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 262, ptr noundef %2464, ptr noundef %2466, ptr noundef %2468, i32 noundef %2469) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2471:                                             ; preds = %2445
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %2472 = load i32, ptr @test_count, align 4, !tbaa !5
  %2473 = add nsw i32 %2472, 1
  store i32 %2473, ptr @test_count, align 4, !tbaa !5
  %2474 = load i32, ptr %33, align 4, !tbaa !5
  %2475 = icmp eq i32 %2474, 1
  br i1 %2475, label %2498, label %2476

2476:                                             ; preds = %2471
  %2477 = load i32, ptr %639, align 4, !tbaa !5
  %2478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2479 = call i32 @s2n_print_stacktrace(ptr noundef %2478) #12
  %2480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2481 = trunc nuw i8 %2480 to i1
  br i1 %2481, label %2482, label %2486

2482:                                             ; preds = %2476
  %2483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2484 = call i32 @fileno(ptr noundef %2483) #12
  %2485 = call i32 @isatty(i32 noundef %2484) #12
  %.not1215 = icmp eq i32 %2485, 0
  br i1 %.not1215, label %2486, label %2487

2486:                                             ; preds = %2482, %2476
  br label %2487

2487:                                             ; preds = %2482, %2486
  %.str.5.sink2510 = phi ptr [ @.str.5, %2486 ], [ @.str.2, %2482 ]
  store i32 %2477, ptr %639, align 4, !tbaa !5
  %2488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2489 = load i32, ptr @test_count, align 4, !tbaa !5
  %2490 = load i32, ptr %585, align 4, !tbaa !5
  %2491 = call ptr @s2n_strerror(i32 noundef %2490, ptr noundef nonnull @.str.4) #12
  %2492 = load i32, ptr %585, align 4, !tbaa !5
  %2493 = call ptr @s2n_strerror_debug(i32 noundef %2492, ptr noundef nonnull @.str.4) #12
  %2494 = load i32, ptr %639, align 4, !tbaa !5
  %2495 = call ptr @strerror(i32 noundef %2494) #12
  %2496 = load i32, ptr %639, align 4, !tbaa !5
  %2497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2488, ptr noundef nonnull %.str.5.sink2510, i32 noundef %2489, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2491, ptr noundef %2493, ptr noundef %2495, i32 noundef %2496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2498:                                             ; preds = %2471
  %2499 = add nsw i32 %2472, 2
  store i32 %2499, ptr @test_count, align 4, !tbaa !5
  %2500 = load ptr, ptr %29, align 8, !tbaa !9
  %2501 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2500) #12
  %2502 = icmp eq i32 %2501, 1
  br i1 %2502, label %2525, label %2503

2503:                                             ; preds = %2498
  %2504 = load i32, ptr %639, align 4, !tbaa !5
  %2505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2506 = call i32 @s2n_print_stacktrace(ptr noundef %2505) #12
  %2507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2508 = trunc nuw i8 %2507 to i1
  br i1 %2508, label %2509, label %2513

2509:                                             ; preds = %2503
  %2510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2511 = call i32 @fileno(ptr noundef %2510) #12
  %2512 = call i32 @isatty(i32 noundef %2511) #12
  %.not1216 = icmp eq i32 %2512, 0
  br i1 %.not1216, label %2513, label %2514

2513:                                             ; preds = %2509, %2503
  br label %2514

2514:                                             ; preds = %2509, %2513
  %.str.5.sink2519 = phi ptr [ @.str.5, %2513 ], [ @.str.2, %2509 ]
  store i32 %2504, ptr %639, align 4, !tbaa !5
  %2515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2516 = load i32, ptr @test_count, align 4, !tbaa !5
  %2517 = load i32, ptr %585, align 4, !tbaa !5
  %2518 = call ptr @s2n_strerror(i32 noundef %2517, ptr noundef nonnull @.str.4) #12
  %2519 = load i32, ptr %585, align 4, !tbaa !5
  %2520 = call ptr @s2n_strerror_debug(i32 noundef %2519, ptr noundef nonnull @.str.4) #12
  %2521 = load i32, ptr %639, align 4, !tbaa !5
  %2522 = call ptr @strerror(i32 noundef %2521) #12
  %2523 = load i32, ptr %639, align 4, !tbaa !5
  %2524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2515, ptr noundef nonnull %.str.5.sink2519, i32 noundef %2516, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 263, ptr noundef %2518, ptr noundef %2520, ptr noundef %2522, i32 noundef %2523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2525:                                             ; preds = %2498
  %2526 = load i32, ptr @test_count, align 4, !tbaa !5
  %2527 = add nsw i32 %2526, 1
  store i32 %2527, ptr @test_count, align 4, !tbaa !5
  %2528 = load ptr, ptr %30, align 8, !tbaa !9
  %2529 = call i32 @s2n_recv_early_data(ptr noundef %2528, ptr noundef nonnull %32, i64 noundef 100, ptr noundef nonnull %34, ptr noundef nonnull %33) #12
  %2530 = icmp eq i32 %2529, -1
  br i1 %2530, label %2553, label %2531

2531:                                             ; preds = %2525
  %2532 = load i32, ptr %639, align 4, !tbaa !5
  %2533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2534 = call i32 @s2n_print_stacktrace(ptr noundef %2533) #12
  %2535 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2536 = trunc nuw i8 %2535 to i1
  br i1 %2536, label %2537, label %2541

2537:                                             ; preds = %2531
  %2538 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2539 = call i32 @fileno(ptr noundef %2538) #12
  %2540 = call i32 @isatty(i32 noundef %2539) #12
  %.not1217 = icmp eq i32 %2540, 0
  br i1 %.not1217, label %2541, label %2542

2541:                                             ; preds = %2537, %2531
  br label %2542

2542:                                             ; preds = %2537, %2541
  %.str.5.sink2528 = phi ptr [ @.str.5, %2541 ], [ @.str.2, %2537 ]
  store i32 %2532, ptr %639, align 4, !tbaa !5
  %2543 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2544 = load i32, ptr @test_count, align 4, !tbaa !5
  %2545 = load i32, ptr %585, align 4, !tbaa !5
  %2546 = call ptr @s2n_strerror(i32 noundef %2545, ptr noundef nonnull @.str.4) #12
  %2547 = load i32, ptr %585, align 4, !tbaa !5
  %2548 = call ptr @s2n_strerror_debug(i32 noundef %2547, ptr noundef nonnull @.str.4) #12
  %2549 = load i32, ptr %639, align 4, !tbaa !5
  %2550 = call ptr @strerror(i32 noundef %2549) #12
  %2551 = load i32, ptr %639, align 4, !tbaa !5
  %2552 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2543, ptr noundef nonnull %.str.5.sink2528, i32 noundef %2544, ptr noundef nonnull @.str.56, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2546, ptr noundef %2548, ptr noundef %2550, i32 noundef %2551) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2553:                                             ; preds = %2525
  %2554 = load i32, ptr @test_count, align 4, !tbaa !5
  %2555 = add nsw i32 %2554, 1
  store i32 %2555, ptr @test_count, align 4, !tbaa !5
  %2556 = load i32, ptr %585, align 4, !tbaa !5
  %2557 = icmp eq i32 %2556, 469762111
  br i1 %2557, label %2580, label %2558

2558:                                             ; preds = %2553
  %2559 = load i32, ptr %639, align 4, !tbaa !5
  %2560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2561 = call i32 @s2n_print_stacktrace(ptr noundef %2560) #12
  %2562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2563 = trunc nuw i8 %2562 to i1
  br i1 %2563, label %2564, label %2568

2564:                                             ; preds = %2558
  %2565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2566 = call i32 @fileno(ptr noundef %2565) #12
  %2567 = call i32 @isatty(i32 noundef %2566) #12
  %.not1218 = icmp eq i32 %2567, 0
  br i1 %.not1218, label %2568, label %2569

2568:                                             ; preds = %2564, %2558
  br label %2569

2569:                                             ; preds = %2564, %2568
  %.str.5.sink2537 = phi ptr [ @.str.5, %2568 ], [ @.str.2, %2564 ]
  store i32 %2559, ptr %639, align 4, !tbaa !5
  %2570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2571 = load i32, ptr @test_count, align 4, !tbaa !5
  %2572 = load i32, ptr %585, align 4, !tbaa !5
  %2573 = call ptr @s2n_strerror(i32 noundef %2572, ptr noundef nonnull @.str.4) #12
  %2574 = load i32, ptr %585, align 4, !tbaa !5
  %2575 = call ptr @s2n_strerror_debug(i32 noundef %2574, ptr noundef nonnull @.str.4) #12
  %2576 = load i32, ptr %639, align 4, !tbaa !5
  %2577 = call ptr @strerror(i32 noundef %2576) #12
  %2578 = load i32, ptr %639, align 4, !tbaa !5
  %2579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2570, ptr noundef nonnull %.str.5.sink2537, i32 noundef %2571, ptr noundef nonnull @.str.45, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2573, ptr noundef %2575, ptr noundef %2577, i32 noundef %2578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2580:                                             ; preds = %2553
  %2581 = add nsw i32 %2554, 2
  store i32 %2581, ptr @test_count, align 4, !tbaa !5
  %2582 = call ptr @s2n_strerror_debug(i32 noundef 469762111, ptr noundef nonnull @.str.4) #12
  %2583 = icmp eq ptr %2582, null
  br i1 %2583, label %2584, label %2606

2584:                                             ; preds = %2580
  %2585 = load i32, ptr %639, align 4, !tbaa !5
  %2586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2587 = call i32 @s2n_print_stacktrace(ptr noundef %2586) #12
  %2588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2589 = trunc nuw i8 %2588 to i1
  br i1 %2589, label %2590, label %2594

2590:                                             ; preds = %2584
  %2591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2592 = call i32 @fileno(ptr noundef %2591) #12
  %2593 = call i32 @isatty(i32 noundef %2592) #12
  %.not1636 = icmp eq i32 %2593, 0
  br i1 %.not1636, label %2594, label %2595

2594:                                             ; preds = %2590, %2584
  br label %2595

2595:                                             ; preds = %2590, %2594
  %.str.5.sink2546 = phi ptr [ @.str.5, %2594 ], [ @.str.2, %2590 ]
  store i32 %2585, ptr %639, align 4, !tbaa !5
  %2596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2597 = load i32, ptr @test_count, align 4, !tbaa !5
  %2598 = load i32, ptr %585, align 4, !tbaa !5
  %2599 = call ptr @s2n_strerror(i32 noundef %2598, ptr noundef nonnull @.str.4) #12
  %2600 = load i32, ptr %585, align 4, !tbaa !5
  %2601 = call ptr @s2n_strerror_debug(i32 noundef %2600, ptr noundef nonnull @.str.4) #12
  %2602 = load i32, ptr %639, align 4, !tbaa !5
  %2603 = call ptr @strerror(i32 noundef %2602) #12
  %2604 = load i32, ptr %639, align 4, !tbaa !5
  %2605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2596, ptr noundef nonnull %.str.5.sink2546, i32 noundef %2597, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 266, ptr noundef %2599, ptr noundef %2601, ptr noundef %2603, i32 noundef %2604) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2606:                                             ; preds = %2580
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %2607 = load i32, ptr @test_count, align 4, !tbaa !5
  %2608 = add nsw i32 %2607, 1
  store i32 %2608, ptr @test_count, align 4, !tbaa !5
  %2609 = load ptr, ptr %30, align 8, !tbaa !9
  %2610 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2609) #12
  %2611 = icmp eq i32 %2610, 19
  br i1 %2611, label %2634, label %2612

2612:                                             ; preds = %2606
  %2613 = load i32, ptr %639, align 4, !tbaa !5
  %2614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2615 = call i32 @s2n_print_stacktrace(ptr noundef %2614) #12
  %2616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2617 = trunc nuw i8 %2616 to i1
  br i1 %2617, label %2618, label %2622

2618:                                             ; preds = %2612
  %2619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2620 = call i32 @fileno(ptr noundef %2619) #12
  %2621 = call i32 @isatty(i32 noundef %2620) #12
  %.not1219 = icmp eq i32 %2621, 0
  br i1 %.not1219, label %2622, label %2623

2622:                                             ; preds = %2618, %2612
  br label %2623

2623:                                             ; preds = %2618, %2622
  %.str.5.sink2555 = phi ptr [ @.str.5, %2622 ], [ @.str.2, %2618 ]
  store i32 %2613, ptr %639, align 4, !tbaa !5
  %2624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2625 = load i32, ptr @test_count, align 4, !tbaa !5
  %2626 = load i32, ptr %585, align 4, !tbaa !5
  %2627 = call ptr @s2n_strerror(i32 noundef %2626, ptr noundef nonnull @.str.4) #12
  %2628 = load i32, ptr %585, align 4, !tbaa !5
  %2629 = call ptr @s2n_strerror_debug(i32 noundef %2628, ptr noundef nonnull @.str.4) #12
  %2630 = load i32, ptr %639, align 4, !tbaa !5
  %2631 = call ptr @strerror(i32 noundef %2630) #12
  %2632 = load i32, ptr %639, align 4, !tbaa !5
  %2633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2624, ptr noundef nonnull %.str.5.sink2555, i32 noundef %2625, ptr noundef nonnull @.str.64, ptr noundef nonnull @.str.1, i32 noundef 267, ptr noundef %2627, ptr noundef %2629, ptr noundef %2631, i32 noundef %2632) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2634:                                             ; preds = %2606
  %2635 = load i32, ptr @test_count, align 4, !tbaa !5
  %2636 = add nsw i32 %2635, 1
  store i32 %2636, ptr @test_count, align 4, !tbaa !5
  %2637 = load i64, ptr %34, align 8, !tbaa !42
  %2638 = icmp eq i64 %2637, 0
  br i1 %2638, label %2661, label %2639

2639:                                             ; preds = %2634
  %2640 = load i32, ptr %639, align 4, !tbaa !5
  %2641 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2642 = call i32 @s2n_print_stacktrace(ptr noundef %2641) #12
  %2643 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2644 = trunc nuw i8 %2643 to i1
  br i1 %2644, label %2645, label %2649

2645:                                             ; preds = %2639
  %2646 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2647 = call i32 @fileno(ptr noundef %2646) #12
  %2648 = call i32 @isatty(i32 noundef %2647) #12
  %.not1220 = icmp eq i32 %2648, 0
  br i1 %.not1220, label %2649, label %2650

2649:                                             ; preds = %2645, %2639
  br label %2650

2650:                                             ; preds = %2645, %2649
  %.str.5.sink2564 = phi ptr [ @.str.5, %2649 ], [ @.str.2, %2645 ]
  store i32 %2640, ptr %639, align 4, !tbaa !5
  %2651 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2652 = load i32, ptr @test_count, align 4, !tbaa !5
  %2653 = load i32, ptr %585, align 4, !tbaa !5
  %2654 = call ptr @s2n_strerror(i32 noundef %2653, ptr noundef nonnull @.str.4) #12
  %2655 = load i32, ptr %585, align 4, !tbaa !5
  %2656 = call ptr @s2n_strerror_debug(i32 noundef %2655, ptr noundef nonnull @.str.4) #12
  %2657 = load i32, ptr %639, align 4, !tbaa !5
  %2658 = call ptr @strerror(i32 noundef %2657) #12
  %2659 = load i32, ptr %639, align 4, !tbaa !5
  %2660 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2651, ptr noundef nonnull %.str.5.sink2564, i32 noundef %2652, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 268, ptr noundef %2654, ptr noundef %2656, ptr noundef %2658, i32 noundef %2659) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2661:                                             ; preds = %2634
  %2662 = add nsw i32 %2635, 2
  store i32 %2662, ptr @test_count, align 4, !tbaa !5
  %2663 = load ptr, ptr %29, align 8, !tbaa !9
  %2664 = call i32 @s2n_connection_free(ptr noundef %2663) #12
  %2665 = icmp eq i32 %2664, -1
  br i1 %2665, label %2666, label %2688

2666:                                             ; preds = %2661
  %2667 = load i32, ptr %639, align 4, !tbaa !5
  %2668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2669 = call i32 @s2n_print_stacktrace(ptr noundef %2668) #12
  %2670 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2671 = trunc nuw i8 %2670 to i1
  br i1 %2671, label %2672, label %2676

2672:                                             ; preds = %2666
  %2673 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2674 = call i32 @fileno(ptr noundef %2673) #12
  %2675 = call i32 @isatty(i32 noundef %2674) #12
  %.not1635 = icmp eq i32 %2675, 0
  br i1 %.not1635, label %2676, label %2677

2676:                                             ; preds = %2672, %2666
  br label %2677

2677:                                             ; preds = %2672, %2676
  %.str.5.sink2573 = phi ptr [ @.str.5, %2676 ], [ @.str.2, %2672 ]
  store i32 %2667, ptr %639, align 4, !tbaa !5
  %2678 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2679 = load i32, ptr @test_count, align 4, !tbaa !5
  %2680 = load i32, ptr %585, align 4, !tbaa !5
  %2681 = call ptr @s2n_strerror(i32 noundef %2680, ptr noundef nonnull @.str.4) #12
  %2682 = load i32, ptr %585, align 4, !tbaa !5
  %2683 = call ptr @s2n_strerror_debug(i32 noundef %2682, ptr noundef nonnull @.str.4) #12
  %2684 = load i32, ptr %639, align 4, !tbaa !5
  %2685 = call ptr @strerror(i32 noundef %2684) #12
  %2686 = load i32, ptr %639, align 4, !tbaa !5
  %2687 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2678, ptr noundef nonnull %.str.5.sink2573, i32 noundef %2679, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 270, ptr noundef %2681, ptr noundef %2683, ptr noundef %2685, i32 noundef %2686) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2688:                                             ; preds = %2661
  %2689 = load i32, ptr @test_count, align 4, !tbaa !5
  %2690 = add nsw i32 %2689, 1
  store i32 %2690, ptr @test_count, align 4, !tbaa !5
  %2691 = load ptr, ptr %30, align 8, !tbaa !9
  %2692 = call i32 @s2n_connection_free(ptr noundef %2691) #12
  %2693 = icmp eq i32 %2692, -1
  br i1 %2693, label %2694, label %2716

2694:                                             ; preds = %2688
  %2695 = load i32, ptr %639, align 4, !tbaa !5
  %2696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2697 = call i32 @s2n_print_stacktrace(ptr noundef %2696) #12
  %2698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2699 = trunc nuw i8 %2698 to i1
  br i1 %2699, label %2700, label %2704

2700:                                             ; preds = %2694
  %2701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2702 = call i32 @fileno(ptr noundef %2701) #12
  %2703 = call i32 @isatty(i32 noundef %2702) #12
  %.not1634 = icmp eq i32 %2703, 0
  br i1 %.not1634, label %2704, label %2705

2704:                                             ; preds = %2700, %2694
  br label %2705

2705:                                             ; preds = %2700, %2704
  %.str.5.sink2582 = phi ptr [ @.str.5, %2704 ], [ @.str.2, %2700 ]
  store i32 %2695, ptr %639, align 4, !tbaa !5
  %2706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2707 = load i32, ptr @test_count, align 4, !tbaa !5
  %2708 = load i32, ptr %585, align 4, !tbaa !5
  %2709 = call ptr @s2n_strerror(i32 noundef %2708, ptr noundef nonnull @.str.4) #12
  %2710 = load i32, ptr %585, align 4, !tbaa !5
  %2711 = call ptr @s2n_strerror_debug(i32 noundef %2710, ptr noundef nonnull @.str.4) #12
  %2712 = load i32, ptr %639, align 4, !tbaa !5
  %2713 = call ptr @strerror(i32 noundef %2712) #12
  %2714 = load i32, ptr %639, align 4, !tbaa !5
  %2715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2706, ptr noundef nonnull %.str.5.sink2582, i32 noundef %2707, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 271, ptr noundef %2709, ptr noundef %2711, ptr noundef %2713, i32 noundef %2714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2716:                                             ; preds = %2688
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %34) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %33) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %32) #12
  %2717 = call i32 @s2n_io_pair_close(ptr noundef nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %31) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %30) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %29) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %35) #12
  store ptr null, ptr %35, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %36) #12
  store ptr null, ptr %36, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %37) #12
  store i64 0, ptr %37, align 8
  %2718 = load i32, ptr @test_count, align 4, !tbaa !5
  %2719 = add nsw i32 %2718, 1
  store i32 %2719, ptr @test_count, align 4, !tbaa !5
  %2720 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %35, ptr noundef nonnull %36, ptr noundef nonnull %37)
  %2721 = call zeroext i1 @s2n_result_is_ok(i32 %2720)
  br i1 %2721, label %2744, label %2722

2722:                                             ; preds = %2716
  %2723 = load i32, ptr %639, align 4, !tbaa !5
  %2724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2725 = call i32 @s2n_print_stacktrace(ptr noundef %2724) #12
  %2726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2727 = trunc nuw i8 %2726 to i1
  br i1 %2727, label %2728, label %2732

2728:                                             ; preds = %2722
  %2729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2730 = call i32 @fileno(ptr noundef %2729) #12
  %2731 = call i32 @isatty(i32 noundef %2730) #12
  %.not1221 = icmp eq i32 %2731, 0
  br i1 %.not1221, label %2732, label %2733

2732:                                             ; preds = %2728, %2722
  br label %2733

2733:                                             ; preds = %2728, %2732
  %.str.5.sink2591 = phi ptr [ @.str.5, %2732 ], [ @.str.2, %2728 ]
  store i32 %2723, ptr %639, align 4, !tbaa !5
  %2734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2735 = load i32, ptr @test_count, align 4, !tbaa !5
  %2736 = load i32, ptr %585, align 4, !tbaa !5
  %2737 = call ptr @s2n_strerror(i32 noundef %2736, ptr noundef nonnull @.str.4) #12
  %2738 = load i32, ptr %585, align 4, !tbaa !5
  %2739 = call ptr @s2n_strerror_debug(i32 noundef %2738, ptr noundef nonnull @.str.4) #12
  %2740 = load i32, ptr %639, align 4, !tbaa !5
  %2741 = call ptr @strerror(i32 noundef %2740) #12
  %2742 = load i32, ptr %639, align 4, !tbaa !5
  %2743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2734, ptr noundef nonnull %.str.5.sink2591, i32 noundef %2735, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 281, ptr noundef %2737, ptr noundef %2739, ptr noundef %2741, i32 noundef %2742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2744:                                             ; preds = %2716
  %2745 = load i32, ptr @test_count, align 4, !tbaa !5
  %2746 = add nsw i32 %2745, 1
  store i32 %2746, ptr @test_count, align 4, !tbaa !5
  %2747 = load ptr, ptr %35, align 8, !tbaa !9
  %2748 = call i32 @s2n_connection_append_psk(ptr noundef %2747, ptr noundef %289) #12
  %2749 = icmp eq i32 %2748, -1
  br i1 %2749, label %2750, label %2772

2750:                                             ; preds = %2744
  %2751 = load i32, ptr %639, align 4, !tbaa !5
  %2752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2753 = call i32 @s2n_print_stacktrace(ptr noundef %2752) #12
  %2754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2755 = trunc nuw i8 %2754 to i1
  br i1 %2755, label %2756, label %2760

2756:                                             ; preds = %2750
  %2757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2758 = call i32 @fileno(ptr noundef %2757) #12
  %2759 = call i32 @isatty(i32 noundef %2758) #12
  %.not1633 = icmp eq i32 %2759, 0
  br i1 %.not1633, label %2760, label %2761

2760:                                             ; preds = %2756, %2750
  br label %2761

2761:                                             ; preds = %2756, %2760
  %.str.5.sink2600 = phi ptr [ @.str.5, %2760 ], [ @.str.2, %2756 ]
  store i32 %2751, ptr %639, align 4, !tbaa !5
  %2762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2763 = load i32, ptr @test_count, align 4, !tbaa !5
  %2764 = load i32, ptr %585, align 4, !tbaa !5
  %2765 = call ptr @s2n_strerror(i32 noundef %2764, ptr noundef nonnull @.str.4) #12
  %2766 = load i32, ptr %585, align 4, !tbaa !5
  %2767 = call ptr @s2n_strerror_debug(i32 noundef %2766, ptr noundef nonnull @.str.4) #12
  %2768 = load i32, ptr %639, align 4, !tbaa !5
  %2769 = call ptr @strerror(i32 noundef %2768) #12
  %2770 = load i32, ptr %639, align 4, !tbaa !5
  %2771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2762, ptr noundef nonnull %.str.5.sink2600, i32 noundef %2763, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 283, ptr noundef %2765, ptr noundef %2767, ptr noundef %2769, i32 noundef %2770) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2772:                                             ; preds = %2744
  %2773 = load i32, ptr @test_count, align 4, !tbaa !5
  %2774 = add nsw i32 %2773, 1
  store i32 %2774, ptr @test_count, align 4, !tbaa !5
  %2775 = load ptr, ptr %36, align 8, !tbaa !9
  %2776 = call i32 @s2n_connection_append_psk(ptr noundef %2775, ptr noundef %289) #12
  %2777 = icmp eq i32 %2776, -1
  br i1 %2777, label %2778, label %2800

2778:                                             ; preds = %2772
  %2779 = load i32, ptr %639, align 4, !tbaa !5
  %2780 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2781 = call i32 @s2n_print_stacktrace(ptr noundef %2780) #12
  %2782 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2783 = trunc nuw i8 %2782 to i1
  br i1 %2783, label %2784, label %2788

2784:                                             ; preds = %2778
  %2785 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2786 = call i32 @fileno(ptr noundef %2785) #12
  %2787 = call i32 @isatty(i32 noundef %2786) #12
  %.not1632 = icmp eq i32 %2787, 0
  br i1 %.not1632, label %2788, label %2789

2788:                                             ; preds = %2784, %2778
  br label %2789

2789:                                             ; preds = %2784, %2788
  %.str.5.sink2609 = phi ptr [ @.str.5, %2788 ], [ @.str.2, %2784 ]
  store i32 %2779, ptr %639, align 4, !tbaa !5
  %2790 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2791 = load i32, ptr @test_count, align 4, !tbaa !5
  %2792 = load i32, ptr %585, align 4, !tbaa !5
  %2793 = call ptr @s2n_strerror(i32 noundef %2792, ptr noundef nonnull @.str.4) #12
  %2794 = load i32, ptr %585, align 4, !tbaa !5
  %2795 = call ptr @s2n_strerror_debug(i32 noundef %2794, ptr noundef nonnull @.str.4) #12
  %2796 = load i32, ptr %639, align 4, !tbaa !5
  %2797 = call ptr @strerror(i32 noundef %2796) #12
  %2798 = load i32, ptr %639, align 4, !tbaa !5
  %2799 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2790, ptr noundef nonnull %.str.5.sink2609, i32 noundef %2791, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 284, ptr noundef %2793, ptr noundef %2795, ptr noundef %2797, i32 noundef %2798) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2800:                                             ; preds = %2772
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %38) #12
  store i32 0, ptr %38, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %39) #12
  store i64 0, ptr %39, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %40) #12
  store i32 0, ptr %40, align 4, !tbaa !5
  %2801 = load i32, ptr @test_count, align 4, !tbaa !5
  %2802 = add nsw i32 %2801, 1
  store i32 %2802, ptr @test_count, align 4, !tbaa !5
  %2803 = load ptr, ptr %35, align 8, !tbaa !9
  %2804 = call i32 @s2n_send_early_data(ptr noundef %2803, ptr noundef null, i64 noundef 0, ptr noundef nonnull %39, ptr noundef nonnull %38) #12
  %2805 = icmp eq i32 %2804, -1
  br i1 %2805, label %2828, label %2806

2806:                                             ; preds = %2800
  %2807 = load i32, ptr %639, align 4, !tbaa !5
  %2808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2809 = call i32 @s2n_print_stacktrace(ptr noundef %2808) #12
  %2810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2811 = trunc nuw i8 %2810 to i1
  br i1 %2811, label %2812, label %2816

2812:                                             ; preds = %2806
  %2813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2814 = call i32 @fileno(ptr noundef %2813) #12
  %2815 = call i32 @isatty(i32 noundef %2814) #12
  %.not1222 = icmp eq i32 %2815, 0
  br i1 %.not1222, label %2816, label %2817

2816:                                             ; preds = %2812, %2806
  br label %2817

2817:                                             ; preds = %2812, %2816
  %.str.5.sink2618 = phi ptr [ @.str.5, %2816 ], [ @.str.2, %2812 ]
  store i32 %2807, ptr %639, align 4, !tbaa !5
  %2818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2819 = load i32, ptr @test_count, align 4, !tbaa !5
  %2820 = load i32, ptr %585, align 4, !tbaa !5
  %2821 = call ptr @s2n_strerror(i32 noundef %2820, ptr noundef nonnull @.str.4) #12
  %2822 = load i32, ptr %585, align 4, !tbaa !5
  %2823 = call ptr @s2n_strerror_debug(i32 noundef %2822, ptr noundef nonnull @.str.4) #12
  %2824 = load i32, ptr %639, align 4, !tbaa !5
  %2825 = call ptr @strerror(i32 noundef %2824) #12
  %2826 = load i32, ptr %639, align 4, !tbaa !5
  %2827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2818, ptr noundef nonnull %.str.5.sink2618, i32 noundef %2819, ptr noundef nonnull @.str.65, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %2821, ptr noundef %2823, ptr noundef %2825, i32 noundef %2826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2828:                                             ; preds = %2800
  %2829 = load i32, ptr @test_count, align 4, !tbaa !5
  %2830 = add nsw i32 %2829, 1
  store i32 %2830, ptr @test_count, align 4, !tbaa !5
  %2831 = load i32, ptr %585, align 4, !tbaa !5
  %2832 = icmp eq i32 %2831, 201326592
  br i1 %2832, label %2855, label %2833

2833:                                             ; preds = %2828
  %2834 = load i32, ptr %639, align 4, !tbaa !5
  %2835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2836 = call i32 @s2n_print_stacktrace(ptr noundef %2835) #12
  %2837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2838 = trunc nuw i8 %2837 to i1
  br i1 %2838, label %2839, label %2843

2839:                                             ; preds = %2833
  %2840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2841 = call i32 @fileno(ptr noundef %2840) #12
  %2842 = call i32 @isatty(i32 noundef %2841) #12
  %.not1223 = icmp eq i32 %2842, 0
  br i1 %.not1223, label %2843, label %2844

2843:                                             ; preds = %2839, %2833
  br label %2844

2844:                                             ; preds = %2839, %2843
  %.str.5.sink2627 = phi ptr [ @.str.5, %2843 ], [ @.str.2, %2839 ]
  store i32 %2834, ptr %639, align 4, !tbaa !5
  %2845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2846 = load i32, ptr @test_count, align 4, !tbaa !5
  %2847 = load i32, ptr %585, align 4, !tbaa !5
  %2848 = call ptr @s2n_strerror(i32 noundef %2847, ptr noundef nonnull @.str.4) #12
  %2849 = load i32, ptr %585, align 4, !tbaa !5
  %2850 = call ptr @s2n_strerror_debug(i32 noundef %2849, ptr noundef nonnull @.str.4) #12
  %2851 = load i32, ptr %639, align 4, !tbaa !5
  %2852 = call ptr @strerror(i32 noundef %2851) #12
  %2853 = load i32, ptr %639, align 4, !tbaa !5
  %2854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2845, ptr noundef nonnull %.str.5.sink2627, i32 noundef %2846, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %2848, ptr noundef %2850, ptr noundef %2852, i32 noundef %2853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2855:                                             ; preds = %2828
  %2856 = add nsw i32 %2829, 2
  store i32 %2856, ptr @test_count, align 4, !tbaa !5
  %2857 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %2858 = icmp eq ptr %2857, null
  br i1 %2858, label %2859, label %2881

2859:                                             ; preds = %2855
  %2860 = load i32, ptr %639, align 4, !tbaa !5
  %2861 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2862 = call i32 @s2n_print_stacktrace(ptr noundef %2861) #12
  %2863 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2864 = trunc nuw i8 %2863 to i1
  br i1 %2864, label %2865, label %2869

2865:                                             ; preds = %2859
  %2866 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2867 = call i32 @fileno(ptr noundef %2866) #12
  %2868 = call i32 @isatty(i32 noundef %2867) #12
  %.not1631 = icmp eq i32 %2868, 0
  br i1 %.not1631, label %2869, label %2870

2869:                                             ; preds = %2865, %2859
  br label %2870

2870:                                             ; preds = %2865, %2869
  %.str.5.sink2636 = phi ptr [ @.str.5, %2869 ], [ @.str.2, %2865 ]
  store i32 %2860, ptr %639, align 4, !tbaa !5
  %2871 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2872 = load i32, ptr @test_count, align 4, !tbaa !5
  %2873 = load i32, ptr %585, align 4, !tbaa !5
  %2874 = call ptr @s2n_strerror(i32 noundef %2873, ptr noundef nonnull @.str.4) #12
  %2875 = load i32, ptr %585, align 4, !tbaa !5
  %2876 = call ptr @s2n_strerror_debug(i32 noundef %2875, ptr noundef nonnull @.str.4) #12
  %2877 = load i32, ptr %639, align 4, !tbaa !5
  %2878 = call ptr @strerror(i32 noundef %2877) #12
  %2879 = load i32, ptr %639, align 4, !tbaa !5
  %2880 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2871, ptr noundef nonnull %.str.5.sink2636, i32 noundef %2872, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 290, ptr noundef %2874, ptr noundef %2876, ptr noundef %2878, i32 noundef %2879) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2881:                                             ; preds = %2855
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %2882 = load i32, ptr @test_count, align 4, !tbaa !5
  %2883 = add nsw i32 %2882, 1
  store i32 %2883, ptr @test_count, align 4, !tbaa !5
  %2884 = load i32, ptr %38, align 4, !tbaa !5
  %2885 = icmp eq i32 %2884, 1
  br i1 %2885, label %2908, label %2886

2886:                                             ; preds = %2881
  %2887 = load i32, ptr %639, align 4, !tbaa !5
  %2888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2889 = call i32 @s2n_print_stacktrace(ptr noundef %2888) #12
  %2890 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2891 = trunc nuw i8 %2890 to i1
  br i1 %2891, label %2892, label %2896

2892:                                             ; preds = %2886
  %2893 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2894 = call i32 @fileno(ptr noundef %2893) #12
  %2895 = call i32 @isatty(i32 noundef %2894) #12
  %.not1224 = icmp eq i32 %2895, 0
  br i1 %.not1224, label %2896, label %2897

2896:                                             ; preds = %2892, %2886
  br label %2897

2897:                                             ; preds = %2892, %2896
  %.str.5.sink2645 = phi ptr [ @.str.5, %2896 ], [ @.str.2, %2892 ]
  store i32 %2887, ptr %639, align 4, !tbaa !5
  %2898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2899 = load i32, ptr @test_count, align 4, !tbaa !5
  %2900 = load i32, ptr %585, align 4, !tbaa !5
  %2901 = call ptr @s2n_strerror(i32 noundef %2900, ptr noundef nonnull @.str.4) #12
  %2902 = load i32, ptr %585, align 4, !tbaa !5
  %2903 = call ptr @s2n_strerror_debug(i32 noundef %2902, ptr noundef nonnull @.str.4) #12
  %2904 = load i32, ptr %639, align 4, !tbaa !5
  %2905 = call ptr @strerror(i32 noundef %2904) #12
  %2906 = load i32, ptr %639, align 4, !tbaa !5
  %2907 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2898, ptr noundef nonnull %.str.5.sink2645, i32 noundef %2899, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2901, ptr noundef %2903, ptr noundef %2905, i32 noundef %2906) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2908:                                             ; preds = %2881
  %2909 = add nsw i32 %2882, 2
  store i32 %2909, ptr @test_count, align 4, !tbaa !5
  %2910 = load ptr, ptr %35, align 8, !tbaa !9
  %2911 = call i32 @s2n_conn_get_current_message_type(ptr noundef %2910) #12
  %2912 = icmp eq i32 %2911, 1
  br i1 %2912, label %2935, label %2913

2913:                                             ; preds = %2908
  %2914 = load i32, ptr %639, align 4, !tbaa !5
  %2915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2916 = call i32 @s2n_print_stacktrace(ptr noundef %2915) #12
  %2917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2918 = trunc nuw i8 %2917 to i1
  br i1 %2918, label %2919, label %2923

2919:                                             ; preds = %2913
  %2920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2921 = call i32 @fileno(ptr noundef %2920) #12
  %2922 = call i32 @isatty(i32 noundef %2921) #12
  %.not1225 = icmp eq i32 %2922, 0
  br i1 %.not1225, label %2923, label %2924

2923:                                             ; preds = %2919, %2913
  br label %2924

2924:                                             ; preds = %2919, %2923
  %.str.5.sink2654 = phi ptr [ @.str.5, %2923 ], [ @.str.2, %2919 ]
  store i32 %2914, ptr %639, align 4, !tbaa !5
  %2925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2926 = load i32, ptr @test_count, align 4, !tbaa !5
  %2927 = load i32, ptr %585, align 4, !tbaa !5
  %2928 = call ptr @s2n_strerror(i32 noundef %2927, ptr noundef nonnull @.str.4) #12
  %2929 = load i32, ptr %585, align 4, !tbaa !5
  %2930 = call ptr @s2n_strerror_debug(i32 noundef %2929, ptr noundef nonnull @.str.4) #12
  %2931 = load i32, ptr %639, align 4, !tbaa !5
  %2932 = call ptr @strerror(i32 noundef %2931) #12
  %2933 = load i32, ptr %639, align 4, !tbaa !5
  %2934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2925, ptr noundef nonnull %.str.5.sink2654, i32 noundef %2926, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 291, ptr noundef %2928, ptr noundef %2930, ptr noundef %2932, i32 noundef %2933) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2935:                                             ; preds = %2908
  %2936 = load i32, ptr @test_count, align 4, !tbaa !5
  %2937 = add nsw i32 %2936, 1
  store i32 %2937, ptr @test_count, align 4, !tbaa !5
  %2938 = load i64, ptr %39, align 8, !tbaa !42
  %2939 = icmp eq i64 %2938, 0
  br i1 %2939, label %2962, label %2940

2940:                                             ; preds = %2935
  %2941 = load i32, ptr %639, align 4, !tbaa !5
  %2942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2943 = call i32 @s2n_print_stacktrace(ptr noundef %2942) #12
  %2944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2945 = trunc nuw i8 %2944 to i1
  br i1 %2945, label %2946, label %2950

2946:                                             ; preds = %2940
  %2947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2948 = call i32 @fileno(ptr noundef %2947) #12
  %2949 = call i32 @isatty(i32 noundef %2948) #12
  %.not1226 = icmp eq i32 %2949, 0
  br i1 %.not1226, label %2950, label %2951

2950:                                             ; preds = %2946, %2940
  br label %2951

2951:                                             ; preds = %2946, %2950
  %.str.5.sink2663 = phi ptr [ @.str.5, %2950 ], [ @.str.2, %2946 ]
  store i32 %2941, ptr %639, align 4, !tbaa !5
  %2952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2953 = load i32, ptr @test_count, align 4, !tbaa !5
  %2954 = load i32, ptr %585, align 4, !tbaa !5
  %2955 = call ptr @s2n_strerror(i32 noundef %2954, ptr noundef nonnull @.str.4) #12
  %2956 = load i32, ptr %585, align 4, !tbaa !5
  %2957 = call ptr @s2n_strerror_debug(i32 noundef %2956, ptr noundef nonnull @.str.4) #12
  %2958 = load i32, ptr %639, align 4, !tbaa !5
  %2959 = call ptr @strerror(i32 noundef %2958) #12
  %2960 = load i32, ptr %639, align 4, !tbaa !5
  %2961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2952, ptr noundef nonnull %.str.5.sink2663, i32 noundef %2953, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 292, ptr noundef %2955, ptr noundef %2957, ptr noundef %2959, i32 noundef %2960) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2962:                                             ; preds = %2935
  %2963 = add nsw i32 %2936, 2
  store i32 %2963, ptr @test_count, align 4, !tbaa !5
  %2964 = load ptr, ptr %35, align 8, !tbaa !9
  %2965 = call i32 @s2n_connection_get_early_data_status(ptr noundef %2964, ptr noundef nonnull %40) #12
  %2966 = icmp eq i32 %2965, -1
  br i1 %2966, label %2967, label %2989

2967:                                             ; preds = %2962
  %2968 = load i32, ptr %639, align 4, !tbaa !5
  %2969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2970 = call i32 @s2n_print_stacktrace(ptr noundef %2969) #12
  %2971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %2972 = trunc nuw i8 %2971 to i1
  br i1 %2972, label %2973, label %2977

2973:                                             ; preds = %2967
  %2974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2975 = call i32 @fileno(ptr noundef %2974) #12
  %2976 = call i32 @isatty(i32 noundef %2975) #12
  %.not1630 = icmp eq i32 %2976, 0
  br i1 %.not1630, label %2977, label %2978

2977:                                             ; preds = %2973, %2967
  br label %2978

2978:                                             ; preds = %2973, %2977
  %.str.5.sink2672 = phi ptr [ @.str.5, %2977 ], [ @.str.2, %2973 ]
  store i32 %2968, ptr %639, align 4, !tbaa !5
  %2979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %2980 = load i32, ptr @test_count, align 4, !tbaa !5
  %2981 = load i32, ptr %585, align 4, !tbaa !5
  %2982 = call ptr @s2n_strerror(i32 noundef %2981, ptr noundef nonnull @.str.4) #12
  %2983 = load i32, ptr %585, align 4, !tbaa !5
  %2984 = call ptr @s2n_strerror_debug(i32 noundef %2983, ptr noundef nonnull @.str.4) #12
  %2985 = load i32, ptr %639, align 4, !tbaa !5
  %2986 = call ptr @strerror(i32 noundef %2985) #12
  %2987 = load i32, ptr %639, align 4, !tbaa !5
  %2988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %2979, ptr noundef nonnull %.str.5.sink2672, i32 noundef %2980, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 294, ptr noundef %2982, ptr noundef %2984, ptr noundef %2986, i32 noundef %2987) #14
  call void @exit(i32 noundef 1) #15
  unreachable

2989:                                             ; preds = %2962
  %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 = load i32, ptr %40, align 4, !tbaa !5
  %2993 = icmp eq i32 %2992, 0
  br i1 %2993, label %3016, label %2994

2994:                                             ; preds = %2989
  %2995 = load i32, ptr %639, 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
  %.not1227 = icmp eq i32 %3003, 0
  br i1 %.not1227, label %3004, label %3005

3004:                                             ; preds = %3000, %2994
  br label %3005

3005:                                             ; preds = %3000, %3004
  %.str.5.sink2681 = phi ptr [ @.str.5, %3004 ], [ @.str.2, %3000 ]
  store i32 %2995, ptr %639, 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 %585, align 4, !tbaa !5
  %3009 = call ptr @s2n_strerror(i32 noundef %3008, ptr noundef nonnull @.str.4) #12
  %3010 = load i32, ptr %585, align 4, !tbaa !5
  %3011 = call ptr @s2n_strerror_debug(i32 noundef %3010, ptr noundef nonnull @.str.4) #12
  %3012 = load i32, ptr %639, align 4, !tbaa !5
  %3013 = call ptr @strerror(i32 noundef %3012) #12
  %3014 = load i32, ptr %639, align 4, !tbaa !5
  %3015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3006, ptr noundef nonnull %.str.5.sink2681, i32 noundef %3007, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 295, ptr noundef %3009, ptr noundef %3011, ptr noundef %3013, i32 noundef %3014) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3016:                                             ; preds = %2989
  %3017 = add nsw i32 %2990, 2
  store i32 %3017, ptr @test_count, align 4, !tbaa !5
  %3018 = load ptr, ptr %36, align 8, !tbaa !9
  %3019 = call i32 @s2n_recv_early_data(ptr noundef %3018, ptr noundef null, i64 noundef 0, ptr noundef nonnull %39, ptr noundef nonnull %38) #12
  %3020 = icmp eq i32 %3019, -1
  br i1 %3020, label %3043, label %3021

3021:                                             ; preds = %3016
  %3022 = load i32, ptr %639, 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
  %.not1228 = icmp eq i32 %3030, 0
  br i1 %.not1228, label %3031, label %3032

3031:                                             ; preds = %3027, %3021
  br label %3032

3032:                                             ; preds = %3027, %3031
  %.str.5.sink2690 = phi ptr [ @.str.5, %3031 ], [ @.str.2, %3027 ]
  store i32 %3022, ptr %639, 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 %585, align 4, !tbaa !5
  %3036 = call ptr @s2n_strerror(i32 noundef %3035, ptr noundef nonnull @.str.4) #12
  %3037 = load i32, ptr %585, align 4, !tbaa !5
  %3038 = call ptr @s2n_strerror_debug(i32 noundef %3037, ptr noundef nonnull @.str.4) #12
  %3039 = load i32, ptr %639, align 4, !tbaa !5
  %3040 = call ptr @strerror(i32 noundef %3039) #12
  %3041 = load i32, ptr %639, align 4, !tbaa !5
  %3042 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3033, ptr noundef nonnull %.str.5.sink2690, i32 noundef %3034, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3036, ptr noundef %3038, ptr noundef %3040, i32 noundef %3041) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3043:                                             ; preds = %3016
  %3044 = load i32, ptr @test_count, align 4, !tbaa !5
  %3045 = add nsw i32 %3044, 1
  store i32 %3045, ptr @test_count, align 4, !tbaa !5
  %3046 = load i32, ptr %585, align 4, !tbaa !5
  %3047 = icmp eq i32 %3046, 201326592
  br i1 %3047, label %3070, label %3048

3048:                                             ; preds = %3043
  %3049 = load i32, ptr %639, align 4, !tbaa !5
  %3050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3051 = call i32 @s2n_print_stacktrace(ptr noundef %3050) #12
  %3052 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3053 = trunc nuw i8 %3052 to i1
  br i1 %3053, label %3054, label %3058

3054:                                             ; preds = %3048
  %3055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3056 = call i32 @fileno(ptr noundef %3055) #12
  %3057 = call i32 @isatty(i32 noundef %3056) #12
  %.not1229 = icmp eq i32 %3057, 0
  br i1 %.not1229, label %3058, label %3059

3058:                                             ; preds = %3054, %3048
  br label %3059

3059:                                             ; preds = %3054, %3058
  %.str.5.sink2699 = phi ptr [ @.str.5, %3058 ], [ @.str.2, %3054 ]
  store i32 %3049, ptr %639, align 4, !tbaa !5
  %3060 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3061 = load i32, ptr @test_count, align 4, !tbaa !5
  %3062 = load i32, ptr %585, align 4, !tbaa !5
  %3063 = call ptr @s2n_strerror(i32 noundef %3062, ptr noundef nonnull @.str.4) #12
  %3064 = load i32, ptr %585, align 4, !tbaa !5
  %3065 = call ptr @s2n_strerror_debug(i32 noundef %3064, ptr noundef nonnull @.str.4) #12
  %3066 = load i32, ptr %639, align 4, !tbaa !5
  %3067 = call ptr @strerror(i32 noundef %3066) #12
  %3068 = load i32, ptr %639, align 4, !tbaa !5
  %3069 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3060, ptr noundef nonnull %.str.5.sink2699, i32 noundef %3061, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3063, ptr noundef %3065, ptr noundef %3067, i32 noundef %3068) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3070:                                             ; preds = %3043
  %3071 = add nsw i32 %3044, 2
  store i32 %3071, ptr @test_count, align 4, !tbaa !5
  %3072 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3073 = icmp eq ptr %3072, null
  br i1 %3073, label %3074, label %3096

3074:                                             ; preds = %3070
  %3075 = load i32, ptr %639, align 4, !tbaa !5
  %3076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3077 = call i32 @s2n_print_stacktrace(ptr noundef %3076) #12
  %3078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3079 = trunc nuw i8 %3078 to i1
  br i1 %3079, label %3080, label %3084

3080:                                             ; preds = %3074
  %3081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3082 = call i32 @fileno(ptr noundef %3081) #12
  %3083 = call i32 @isatty(i32 noundef %3082) #12
  %.not1629 = icmp eq i32 %3083, 0
  br i1 %.not1629, label %3084, label %3085

3084:                                             ; preds = %3080, %3074
  br label %3085

3085:                                             ; preds = %3080, %3084
  %.str.5.sink2708 = phi ptr [ @.str.5, %3084 ], [ @.str.2, %3080 ]
  store i32 %3075, ptr %639, align 4, !tbaa !5
  %3086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3087 = load i32, ptr @test_count, align 4, !tbaa !5
  %3088 = load i32, ptr %585, align 4, !tbaa !5
  %3089 = call ptr @s2n_strerror(i32 noundef %3088, ptr noundef nonnull @.str.4) #12
  %3090 = load i32, ptr %585, align 4, !tbaa !5
  %3091 = call ptr @s2n_strerror_debug(i32 noundef %3090, ptr noundef nonnull @.str.4) #12
  %3092 = load i32, ptr %639, align 4, !tbaa !5
  %3093 = call ptr @strerror(i32 noundef %3092) #12
  %3094 = load i32, ptr %639, align 4, !tbaa !5
  %3095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3086, ptr noundef nonnull %.str.5.sink2708, i32 noundef %3087, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 297, ptr noundef %3089, ptr noundef %3091, ptr noundef %3093, i32 noundef %3094) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3096:                                             ; preds = %3070
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %3097 = load i32, ptr @test_count, align 4, !tbaa !5
  %3098 = add nsw i32 %3097, 1
  store i32 %3098, ptr @test_count, align 4, !tbaa !5
  %3099 = load i32, ptr %38, align 4, !tbaa !5
  %3100 = icmp eq i32 %3099, 1
  br i1 %3100, label %3123, label %3101

3101:                                             ; preds = %3096
  %3102 = load i32, ptr %639, align 4, !tbaa !5
  %3103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3104 = call i32 @s2n_print_stacktrace(ptr noundef %3103) #12
  %3105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3106 = trunc nuw i8 %3105 to i1
  br i1 %3106, label %3107, label %3111

3107:                                             ; preds = %3101
  %3108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3109 = call i32 @fileno(ptr noundef %3108) #12
  %3110 = call i32 @isatty(i32 noundef %3109) #12
  %.not1230 = icmp eq i32 %3110, 0
  br i1 %.not1230, label %3111, label %3112

3111:                                             ; preds = %3107, %3101
  br label %3112

3112:                                             ; preds = %3107, %3111
  %.str.5.sink2717 = phi ptr [ @.str.5, %3111 ], [ @.str.2, %3107 ]
  store i32 %3102, ptr %639, align 4, !tbaa !5
  %3113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3114 = load i32, ptr @test_count, align 4, !tbaa !5
  %3115 = load i32, ptr %585, align 4, !tbaa !5
  %3116 = call ptr @s2n_strerror(i32 noundef %3115, ptr noundef nonnull @.str.4) #12
  %3117 = load i32, ptr %585, align 4, !tbaa !5
  %3118 = call ptr @s2n_strerror_debug(i32 noundef %3117, ptr noundef nonnull @.str.4) #12
  %3119 = load i32, ptr %639, align 4, !tbaa !5
  %3120 = call ptr @strerror(i32 noundef %3119) #12
  %3121 = load i32, ptr %639, align 4, !tbaa !5
  %3122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3113, ptr noundef nonnull %.str.5.sink2717, i32 noundef %3114, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %3116, ptr noundef %3118, ptr noundef %3120, i32 noundef %3121) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3123:                                             ; preds = %3096
  %3124 = add nsw i32 %3097, 2
  store i32 %3124, ptr @test_count, align 4, !tbaa !5
  %3125 = load ptr, ptr %36, align 8, !tbaa !9
  %3126 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3125) #12
  %3127 = icmp eq i32 %3126, 19
  br i1 %3127, label %3150, label %3128

3128:                                             ; preds = %3123
  %3129 = load i32, ptr %639, align 4, !tbaa !5
  %3130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3131 = call i32 @s2n_print_stacktrace(ptr noundef %3130) #12
  %3132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3133 = trunc nuw i8 %3132 to i1
  br i1 %3133, label %3134, label %3138

3134:                                             ; preds = %3128
  %3135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3136 = call i32 @fileno(ptr noundef %3135) #12
  %3137 = call i32 @isatty(i32 noundef %3136) #12
  %.not1231 = icmp eq i32 %3137, 0
  br i1 %.not1231, label %3138, label %3139

3138:                                             ; preds = %3134, %3128
  br label %3139

3139:                                             ; preds = %3134, %3138
  %.str.5.sink2726 = phi ptr [ @.str.5, %3138 ], [ @.str.2, %3134 ]
  store i32 %3129, ptr %639, align 4, !tbaa !5
  %3140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3141 = load i32, ptr @test_count, align 4, !tbaa !5
  %3142 = load i32, ptr %585, align 4, !tbaa !5
  %3143 = call ptr @s2n_strerror(i32 noundef %3142, ptr noundef nonnull @.str.4) #12
  %3144 = load i32, ptr %585, align 4, !tbaa !5
  %3145 = call ptr @s2n_strerror_debug(i32 noundef %3144, ptr noundef nonnull @.str.4) #12
  %3146 = load i32, ptr %639, align 4, !tbaa !5
  %3147 = call ptr @strerror(i32 noundef %3146) #12
  %3148 = load i32, ptr %639, align 4, !tbaa !5
  %3149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3140, ptr noundef nonnull %.str.5.sink2726, i32 noundef %3141, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 298, ptr noundef %3143, ptr noundef %3145, ptr noundef %3147, i32 noundef %3148) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3150:                                             ; preds = %3123
  %3151 = load i32, ptr @test_count, align 4, !tbaa !5
  %3152 = add nsw i32 %3151, 1
  store i32 %3152, ptr @test_count, align 4, !tbaa !5
  %3153 = load i64, ptr %39, align 8, !tbaa !42
  %3154 = icmp eq i64 %3153, 0
  br i1 %3154, label %3177, label %3155

3155:                                             ; preds = %3150
  %3156 = load i32, ptr %639, align 4, !tbaa !5
  %3157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3158 = call i32 @s2n_print_stacktrace(ptr noundef %3157) #12
  %3159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3160 = trunc nuw i8 %3159 to i1
  br i1 %3160, label %3161, label %3165

3161:                                             ; preds = %3155
  %3162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3163 = call i32 @fileno(ptr noundef %3162) #12
  %3164 = call i32 @isatty(i32 noundef %3163) #12
  %.not1232 = icmp eq i32 %3164, 0
  br i1 %.not1232, label %3165, label %3166

3165:                                             ; preds = %3161, %3155
  br label %3166

3166:                                             ; preds = %3161, %3165
  %.str.5.sink2735 = phi ptr [ @.str.5, %3165 ], [ @.str.2, %3161 ]
  store i32 %3156, ptr %639, align 4, !tbaa !5
  %3167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3168 = load i32, ptr @test_count, align 4, !tbaa !5
  %3169 = load i32, ptr %585, align 4, !tbaa !5
  %3170 = call ptr @s2n_strerror(i32 noundef %3169, ptr noundef nonnull @.str.4) #12
  %3171 = load i32, ptr %585, align 4, !tbaa !5
  %3172 = call ptr @s2n_strerror_debug(i32 noundef %3171, ptr noundef nonnull @.str.4) #12
  %3173 = load i32, ptr %639, align 4, !tbaa !5
  %3174 = call ptr @strerror(i32 noundef %3173) #12
  %3175 = load i32, ptr %639, align 4, !tbaa !5
  %3176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3167, ptr noundef nonnull %.str.5.sink2735, i32 noundef %3168, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 299, ptr noundef %3170, ptr noundef %3172, ptr noundef %3174, i32 noundef %3175) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3177:                                             ; preds = %3150
  %3178 = add nsw i32 %3151, 2
  store i32 %3178, ptr @test_count, align 4, !tbaa !5
  %3179 = load ptr, ptr %36, align 8, !tbaa !9
  %3180 = call i32 @s2n_connection_get_early_data_status(ptr noundef %3179, ptr noundef nonnull %40) #12
  %3181 = icmp eq i32 %3180, -1
  br i1 %3181, label %3182, label %3204

3182:                                             ; preds = %3177
  %3183 = load i32, ptr %639, align 4, !tbaa !5
  %3184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3185 = call i32 @s2n_print_stacktrace(ptr noundef %3184) #12
  %3186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3187 = trunc nuw i8 %3186 to i1
  br i1 %3187, label %3188, label %3192

3188:                                             ; preds = %3182
  %3189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3190 = call i32 @fileno(ptr noundef %3189) #12
  %3191 = call i32 @isatty(i32 noundef %3190) #12
  %.not1628 = icmp eq i32 %3191, 0
  br i1 %.not1628, label %3192, label %3193

3192:                                             ; preds = %3188, %3182
  br label %3193

3193:                                             ; preds = %3188, %3192
  %.str.5.sink2744 = phi ptr [ @.str.5, %3192 ], [ @.str.2, %3188 ]
  store i32 %3183, ptr %639, align 4, !tbaa !5
  %3194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3195 = load i32, ptr @test_count, align 4, !tbaa !5
  %3196 = load i32, ptr %585, align 4, !tbaa !5
  %3197 = call ptr @s2n_strerror(i32 noundef %3196, ptr noundef nonnull @.str.4) #12
  %3198 = load i32, ptr %585, align 4, !tbaa !5
  %3199 = call ptr @s2n_strerror_debug(i32 noundef %3198, ptr noundef nonnull @.str.4) #12
  %3200 = load i32, ptr %639, align 4, !tbaa !5
  %3201 = call ptr @strerror(i32 noundef %3200) #12
  %3202 = load i32, ptr %639, align 4, !tbaa !5
  %3203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3194, ptr noundef nonnull %.str.5.sink2744, i32 noundef %3195, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 301, ptr noundef %3197, ptr noundef %3199, ptr noundef %3201, i32 noundef %3202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3204:                                             ; preds = %3177
  %3205 = load i32, ptr @test_count, align 4, !tbaa !5
  %3206 = add nsw i32 %3205, 1
  store i32 %3206, ptr @test_count, align 4, !tbaa !5
  %3207 = load i32, ptr %40, align 4, !tbaa !5
  %3208 = icmp eq i32 %3207, 0
  br i1 %3208, label %3231, label %3209

3209:                                             ; preds = %3204
  %3210 = load i32, ptr %639, align 4, !tbaa !5
  %3211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3212 = call i32 @s2n_print_stacktrace(ptr noundef %3211) #12
  %3213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3214 = trunc nuw i8 %3213 to i1
  br i1 %3214, label %3215, label %3219

3215:                                             ; preds = %3209
  %3216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3217 = call i32 @fileno(ptr noundef %3216) #12
  %3218 = call i32 @isatty(i32 noundef %3217) #12
  %.not1233 = icmp eq i32 %3218, 0
  br i1 %.not1233, label %3219, label %3220

3219:                                             ; preds = %3215, %3209
  br label %3220

3220:                                             ; preds = %3215, %3219
  %.str.5.sink2753 = phi ptr [ @.str.5, %3219 ], [ @.str.2, %3215 ]
  store i32 %3210, ptr %639, align 4, !tbaa !5
  %3221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3222 = load i32, ptr @test_count, align 4, !tbaa !5
  %3223 = load i32, ptr %585, align 4, !tbaa !5
  %3224 = call ptr @s2n_strerror(i32 noundef %3223, ptr noundef nonnull @.str.4) #12
  %3225 = load i32, ptr %585, align 4, !tbaa !5
  %3226 = call ptr @s2n_strerror_debug(i32 noundef %3225, ptr noundef nonnull @.str.4) #12
  %3227 = load i32, ptr %639, align 4, !tbaa !5
  %3228 = call ptr @strerror(i32 noundef %3227) #12
  %3229 = load i32, ptr %639, align 4, !tbaa !5
  %3230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3221, ptr noundef nonnull %.str.5.sink2753, i32 noundef %3222, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 302, ptr noundef %3224, ptr noundef %3226, ptr noundef %3228, i32 noundef %3229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3231:                                             ; preds = %3204
  %3232 = add nsw i32 %3205, 2
  store i32 %3232, ptr @test_count, align 4, !tbaa !5
  %3233 = load ptr, ptr %36, align 8, !tbaa !9
  %3234 = load ptr, ptr %35, align 8, !tbaa !9
  %3235 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3233, ptr noundef %3234) #12
  %3236 = icmp eq i32 %3235, -1
  br i1 %3236, label %3237, label %3259

3237:                                             ; preds = %3231
  %3238 = load i32, ptr %639, align 4, !tbaa !5
  %3239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3240 = call i32 @s2n_print_stacktrace(ptr noundef %3239) #12
  %3241 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3242 = trunc nuw i8 %3241 to i1
  br i1 %3242, label %3243, label %3247

3243:                                             ; preds = %3237
  %3244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3245 = call i32 @fileno(ptr noundef %3244) #12
  %3246 = call i32 @isatty(i32 noundef %3245) #12
  %.not1627 = icmp eq i32 %3246, 0
  br i1 %.not1627, label %3247, label %3248

3247:                                             ; preds = %3243, %3237
  br label %3248

3248:                                             ; preds = %3243, %3247
  %.str.5.sink2762 = phi ptr [ @.str.5, %3247 ], [ @.str.2, %3243 ]
  store i32 %3238, ptr %639, align 4, !tbaa !5
  %3249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3250 = load i32, ptr @test_count, align 4, !tbaa !5
  %3251 = load i32, ptr %585, align 4, !tbaa !5
  %3252 = call ptr @s2n_strerror(i32 noundef %3251, ptr noundef nonnull @.str.4) #12
  %3253 = load i32, ptr %585, align 4, !tbaa !5
  %3254 = call ptr @s2n_strerror_debug(i32 noundef %3253, ptr noundef nonnull @.str.4) #12
  %3255 = load i32, ptr %639, align 4, !tbaa !5
  %3256 = call ptr @strerror(i32 noundef %3255) #12
  %3257 = load i32, ptr %639, align 4, !tbaa !5
  %3258 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3249, ptr noundef nonnull %.str.5.sink2762, i32 noundef %3250, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 304, ptr noundef %3252, ptr noundef %3254, ptr noundef %3256, i32 noundef %3257) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3259:                                             ; preds = %3231
  %3260 = load i32, ptr @test_count, align 4, !tbaa !5
  %3261 = add nsw i32 %3260, 1
  store i32 %3261, ptr @test_count, align 4, !tbaa !5
  %3262 = load ptr, ptr %35, align 8, !tbaa !9
  %3263 = call i32 @s2n_connection_free(ptr noundef %3262) #12
  %3264 = icmp eq i32 %3263, -1
  br i1 %3264, label %3265, label %3287

3265:                                             ; preds = %3259
  %3266 = load i32, ptr %639, align 4, !tbaa !5
  %3267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3268 = call i32 @s2n_print_stacktrace(ptr noundef %3267) #12
  %3269 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3270 = trunc nuw i8 %3269 to i1
  br i1 %3270, label %3271, label %3275

3271:                                             ; preds = %3265
  %3272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3273 = call i32 @fileno(ptr noundef %3272) #12
  %3274 = call i32 @isatty(i32 noundef %3273) #12
  %.not1626 = icmp eq i32 %3274, 0
  br i1 %.not1626, label %3275, label %3276

3275:                                             ; preds = %3271, %3265
  br label %3276

3276:                                             ; preds = %3271, %3275
  %.str.5.sink2771 = phi ptr [ @.str.5, %3275 ], [ @.str.2, %3271 ]
  store i32 %3266, ptr %639, align 4, !tbaa !5
  %3277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3278 = load i32, ptr @test_count, align 4, !tbaa !5
  %3279 = load i32, ptr %585, align 4, !tbaa !5
  %3280 = call ptr @s2n_strerror(i32 noundef %3279, ptr noundef nonnull @.str.4) #12
  %3281 = load i32, ptr %585, align 4, !tbaa !5
  %3282 = call ptr @s2n_strerror_debug(i32 noundef %3281, ptr noundef nonnull @.str.4) #12
  %3283 = load i32, ptr %639, align 4, !tbaa !5
  %3284 = call ptr @strerror(i32 noundef %3283) #12
  %3285 = load i32, ptr %639, align 4, !tbaa !5
  %3286 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3277, ptr noundef nonnull %.str.5.sink2771, i32 noundef %3278, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 306, ptr noundef %3280, ptr noundef %3282, ptr noundef %3284, i32 noundef %3285) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3287:                                             ; preds = %3259
  %3288 = load i32, ptr @test_count, align 4, !tbaa !5
  %3289 = add nsw i32 %3288, 1
  store i32 %3289, ptr @test_count, align 4, !tbaa !5
  %3290 = load ptr, ptr %36, align 8, !tbaa !9
  %3291 = call i32 @s2n_connection_free(ptr noundef %3290) #12
  %3292 = icmp eq i32 %3291, -1
  br i1 %3292, label %3293, label %3315

3293:                                             ; preds = %3287
  %3294 = load i32, ptr %639, align 4, !tbaa !5
  %3295 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3296 = call i32 @s2n_print_stacktrace(ptr noundef %3295) #12
  %3297 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3298 = trunc nuw i8 %3297 to i1
  br i1 %3298, label %3299, label %3303

3299:                                             ; preds = %3293
  %3300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3301 = call i32 @fileno(ptr noundef %3300) #12
  %3302 = call i32 @isatty(i32 noundef %3301) #12
  %.not1625 = icmp eq i32 %3302, 0
  br i1 %.not1625, label %3303, label %3304

3303:                                             ; preds = %3299, %3293
  br label %3304

3304:                                             ; preds = %3299, %3303
  %.str.5.sink2780 = phi ptr [ @.str.5, %3303 ], [ @.str.2, %3299 ]
  store i32 %3294, ptr %639, align 4, !tbaa !5
  %3305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3306 = load i32, ptr @test_count, align 4, !tbaa !5
  %3307 = load i32, ptr %585, align 4, !tbaa !5
  %3308 = call ptr @s2n_strerror(i32 noundef %3307, ptr noundef nonnull @.str.4) #12
  %3309 = load i32, ptr %585, align 4, !tbaa !5
  %3310 = call ptr @s2n_strerror_debug(i32 noundef %3309, ptr noundef nonnull @.str.4) #12
  %3311 = load i32, ptr %639, align 4, !tbaa !5
  %3312 = call ptr @strerror(i32 noundef %3311) #12
  %3313 = load i32, ptr %639, align 4, !tbaa !5
  %3314 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3305, ptr noundef nonnull %.str.5.sink2780, i32 noundef %3306, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 307, ptr noundef %3308, ptr noundef %3310, ptr noundef %3312, i32 noundef %3313) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3315:                                             ; preds = %3287
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %40) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %39) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %38) #12
  %3316 = call i32 @s2n_io_pair_close(ptr noundef nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %37) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %36) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %35) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %41) #12
  store ptr null, ptr %41, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %42) #12
  store ptr null, ptr %42, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %43) #12
  store i64 0, ptr %43, align 8
  %3317 = load i32, ptr @test_count, align 4, !tbaa !5
  %3318 = add nsw i32 %3317, 1
  store i32 %3318, ptr @test_count, align 4, !tbaa !5
  %3319 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %41, ptr noundef nonnull %42, ptr noundef nonnull %43)
  %3320 = call zeroext i1 @s2n_result_is_ok(i32 %3319)
  br i1 %3320, label %3343, label %3321

3321:                                             ; preds = %3315
  %3322 = load i32, ptr %639, align 4, !tbaa !5
  %3323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3324 = call i32 @s2n_print_stacktrace(ptr noundef %3323) #12
  %3325 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3326 = trunc nuw i8 %3325 to i1
  br i1 %3326, label %3327, label %3331

3327:                                             ; preds = %3321
  %3328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3329 = call i32 @fileno(ptr noundef %3328) #12
  %3330 = call i32 @isatty(i32 noundef %3329) #12
  %.not1234 = icmp eq i32 %3330, 0
  br i1 %.not1234, label %3331, label %3332

3331:                                             ; preds = %3327, %3321
  br label %3332

3332:                                             ; preds = %3327, %3331
  %.str.5.sink2789 = phi ptr [ @.str.5, %3331 ], [ @.str.2, %3327 ]
  store i32 %3322, ptr %639, align 4, !tbaa !5
  %3333 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3334 = load i32, ptr @test_count, align 4, !tbaa !5
  %3335 = load i32, ptr %585, align 4, !tbaa !5
  %3336 = call ptr @s2n_strerror(i32 noundef %3335, ptr noundef nonnull @.str.4) #12
  %3337 = load i32, ptr %585, align 4, !tbaa !5
  %3338 = call ptr @s2n_strerror_debug(i32 noundef %3337, ptr noundef nonnull @.str.4) #12
  %3339 = load i32, ptr %639, align 4, !tbaa !5
  %3340 = call ptr @strerror(i32 noundef %3339) #12
  %3341 = load i32, ptr %639, align 4, !tbaa !5
  %3342 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3333, ptr noundef nonnull %.str.5.sink2789, i32 noundef %3334, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 314, ptr noundef %3336, ptr noundef %3338, ptr noundef %3340, i32 noundef %3341) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3343:                                             ; preds = %3315
  %3344 = load i32, ptr @test_count, align 4, !tbaa !5
  %3345 = add nsw i32 %3344, 1
  store i32 %3345, ptr @test_count, align 4, !tbaa !5
  %3346 = load ptr, ptr %41, align 8, !tbaa !9
  %3347 = call i32 @s2n_connection_append_psk(ptr noundef %3346, ptr noundef %289) #12
  %3348 = icmp eq i32 %3347, -1
  br i1 %3348, label %3349, label %3371

3349:                                             ; preds = %3343
  %3350 = load i32, ptr %639, align 4, !tbaa !5
  %3351 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3352 = call i32 @s2n_print_stacktrace(ptr noundef %3351) #12
  %3353 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3354 = trunc nuw i8 %3353 to i1
  br i1 %3354, label %3355, label %3359

3355:                                             ; preds = %3349
  %3356 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3357 = call i32 @fileno(ptr noundef %3356) #12
  %3358 = call i32 @isatty(i32 noundef %3357) #12
  %.not1624 = icmp eq i32 %3358, 0
  br i1 %.not1624, label %3359, label %3360

3359:                                             ; preds = %3355, %3349
  br label %3360

3360:                                             ; preds = %3355, %3359
  %.str.5.sink2798 = phi ptr [ @.str.5, %3359 ], [ @.str.2, %3355 ]
  store i32 %3350, ptr %639, align 4, !tbaa !5
  %3361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3362 = load i32, ptr @test_count, align 4, !tbaa !5
  %3363 = load i32, ptr %585, align 4, !tbaa !5
  %3364 = call ptr @s2n_strerror(i32 noundef %3363, ptr noundef nonnull @.str.4) #12
  %3365 = load i32, ptr %585, align 4, !tbaa !5
  %3366 = call ptr @s2n_strerror_debug(i32 noundef %3365, ptr noundef nonnull @.str.4) #12
  %3367 = load i32, ptr %639, align 4, !tbaa !5
  %3368 = call ptr @strerror(i32 noundef %3367) #12
  %3369 = load i32, ptr %639, align 4, !tbaa !5
  %3370 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3361, ptr noundef nonnull %.str.5.sink2798, i32 noundef %3362, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 316, ptr noundef %3364, ptr noundef %3366, ptr noundef %3368, i32 noundef %3369) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3371:                                             ; preds = %3343
  %3372 = load i32, ptr @test_count, align 4, !tbaa !5
  %3373 = add nsw i32 %3372, 1
  store i32 %3373, ptr @test_count, align 4, !tbaa !5
  %3374 = load ptr, ptr %42, align 8, !tbaa !9
  %3375 = call i32 @s2n_connection_append_psk(ptr noundef %3374, ptr noundef %289) #12
  %3376 = icmp eq i32 %3375, -1
  br i1 %3376, label %3377, label %3399

3377:                                             ; preds = %3371
  %3378 = load i32, ptr %639, align 4, !tbaa !5
  %3379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3380 = call i32 @s2n_print_stacktrace(ptr noundef %3379) #12
  %3381 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3382 = trunc nuw i8 %3381 to i1
  br i1 %3382, label %3383, label %3387

3383:                                             ; preds = %3377
  %3384 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3385 = call i32 @fileno(ptr noundef %3384) #12
  %3386 = call i32 @isatty(i32 noundef %3385) #12
  %.not1623 = icmp eq i32 %3386, 0
  br i1 %.not1623, label %3387, label %3388

3387:                                             ; preds = %3383, %3377
  br label %3388

3388:                                             ; preds = %3383, %3387
  %.str.5.sink2807 = phi ptr [ @.str.5, %3387 ], [ @.str.2, %3383 ]
  store i32 %3378, ptr %639, align 4, !tbaa !5
  %3389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3390 = load i32, ptr @test_count, align 4, !tbaa !5
  %3391 = load i32, ptr %585, align 4, !tbaa !5
  %3392 = call ptr @s2n_strerror(i32 noundef %3391, ptr noundef nonnull @.str.4) #12
  %3393 = load i32, ptr %585, align 4, !tbaa !5
  %3394 = call ptr @s2n_strerror_debug(i32 noundef %3393, ptr noundef nonnull @.str.4) #12
  %3395 = load i32, ptr %639, align 4, !tbaa !5
  %3396 = call ptr @strerror(i32 noundef %3395) #12
  %3397 = load i32, ptr %639, align 4, !tbaa !5
  %3398 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3389, ptr noundef nonnull %.str.5.sink2807, i32 noundef %3390, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 317, ptr noundef %3392, ptr noundef %3394, ptr noundef %3396, i32 noundef %3397) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3399:                                             ; preds = %3371
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %44) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %44, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %45) #12
  store i32 0, ptr %45, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %46) #12
  store i64 0, ptr %46, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %47) #12
  store i32 0, ptr %47, align 4, !tbaa !5
  %3400 = load i32, ptr @test_count, align 4, !tbaa !5
  %3401 = add nsw i32 %3400, 1
  store i32 %3401, ptr @test_count, align 4, !tbaa !5
  %3402 = load ptr, ptr %41, align 8, !tbaa !9
  %3403 = call i32 @s2n_send_early_data(ptr noundef %3402, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %46, ptr noundef nonnull %45) #12
  %3404 = icmp eq i32 %3403, -1
  br i1 %3404, label %3427, label %3405

3405:                                             ; preds = %3399
  %3406 = load i32, ptr %639, align 4, !tbaa !5
  %3407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3408 = call i32 @s2n_print_stacktrace(ptr noundef %3407) #12
  %3409 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3410 = trunc nuw i8 %3409 to i1
  br i1 %3410, label %3411, label %3415

3411:                                             ; preds = %3405
  %3412 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3413 = call i32 @fileno(ptr noundef %3412) #12
  %3414 = call i32 @isatty(i32 noundef %3413) #12
  %.not1235 = icmp eq i32 %3414, 0
  br i1 %.not1235, label %3415, label %3416

3415:                                             ; preds = %3411, %3405
  br label %3416

3416:                                             ; preds = %3411, %3415
  %.str.5.sink2816 = phi ptr [ @.str.5, %3415 ], [ @.str.2, %3411 ]
  store i32 %3406, ptr %639, align 4, !tbaa !5
  %3417 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3418 = load i32, ptr @test_count, align 4, !tbaa !5
  %3419 = load i32, ptr %585, align 4, !tbaa !5
  %3420 = call ptr @s2n_strerror(i32 noundef %3419, ptr noundef nonnull @.str.4) #12
  %3421 = load i32, ptr %585, align 4, !tbaa !5
  %3422 = call ptr @s2n_strerror_debug(i32 noundef %3421, ptr noundef nonnull @.str.4) #12
  %3423 = load i32, ptr %639, align 4, !tbaa !5
  %3424 = call ptr @strerror(i32 noundef %3423) #12
  %3425 = load i32, ptr %639, align 4, !tbaa !5
  %3426 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3417, ptr noundef nonnull %.str.5.sink2816, i32 noundef %3418, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %3420, ptr noundef %3422, ptr noundef %3424, i32 noundef %3425) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3427:                                             ; preds = %3399
  %3428 = load i32, ptr @test_count, align 4, !tbaa !5
  %3429 = add nsw i32 %3428, 1
  store i32 %3429, ptr @test_count, align 4, !tbaa !5
  %3430 = load i32, ptr %585, align 4, !tbaa !5
  %3431 = icmp eq i32 %3430, 201326592
  br i1 %3431, label %3454, label %3432

3432:                                             ; preds = %3427
  %3433 = load i32, ptr %639, align 4, !tbaa !5
  %3434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3435 = call i32 @s2n_print_stacktrace(ptr noundef %3434) #12
  %3436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3437 = trunc nuw i8 %3436 to i1
  br i1 %3437, label %3438, label %3442

3438:                                             ; preds = %3432
  %3439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3440 = call i32 @fileno(ptr noundef %3439) #12
  %3441 = call i32 @isatty(i32 noundef %3440) #12
  %.not1236 = icmp eq i32 %3441, 0
  br i1 %.not1236, label %3442, label %3443

3442:                                             ; preds = %3438, %3432
  br label %3443

3443:                                             ; preds = %3438, %3442
  %.str.5.sink2825 = phi ptr [ @.str.5, %3442 ], [ @.str.2, %3438 ]
  store i32 %3433, ptr %639, align 4, !tbaa !5
  %3444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3445 = load i32, ptr @test_count, align 4, !tbaa !5
  %3446 = load i32, ptr %585, align 4, !tbaa !5
  %3447 = call ptr @s2n_strerror(i32 noundef %3446, ptr noundef nonnull @.str.4) #12
  %3448 = load i32, ptr %585, align 4, !tbaa !5
  %3449 = call ptr @s2n_strerror_debug(i32 noundef %3448, ptr noundef nonnull @.str.4) #12
  %3450 = load i32, ptr %639, align 4, !tbaa !5
  %3451 = call ptr @strerror(i32 noundef %3450) #12
  %3452 = load i32, ptr %639, align 4, !tbaa !5
  %3453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3444, ptr noundef nonnull %.str.5.sink2825, i32 noundef %3445, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %3447, ptr noundef %3449, ptr noundef %3451, i32 noundef %3452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3454:                                             ; preds = %3427
  %3455 = add nsw i32 %3428, 2
  store i32 %3455, ptr @test_count, align 4, !tbaa !5
  %3456 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3457 = icmp eq ptr %3456, null
  br i1 %3457, label %3458, label %3480

3458:                                             ; preds = %3454
  %3459 = load i32, ptr %639, align 4, !tbaa !5
  %3460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3461 = call i32 @s2n_print_stacktrace(ptr noundef %3460) #12
  %3462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3463 = trunc nuw i8 %3462 to i1
  br i1 %3463, label %3464, label %3468

3464:                                             ; preds = %3458
  %3465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3466 = call i32 @fileno(ptr noundef %3465) #12
  %3467 = call i32 @isatty(i32 noundef %3466) #12
  %.not1622 = icmp eq i32 %3467, 0
  br i1 %.not1622, label %3468, label %3469

3468:                                             ; preds = %3464, %3458
  br label %3469

3469:                                             ; preds = %3464, %3468
  %.str.5.sink2834 = phi ptr [ @.str.5, %3468 ], [ @.str.2, %3464 ]
  store i32 %3459, ptr %639, align 4, !tbaa !5
  %3470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3471 = load i32, ptr @test_count, align 4, !tbaa !5
  %3472 = load i32, ptr %585, align 4, !tbaa !5
  %3473 = call ptr @s2n_strerror(i32 noundef %3472, ptr noundef nonnull @.str.4) #12
  %3474 = load i32, ptr %585, align 4, !tbaa !5
  %3475 = call ptr @s2n_strerror_debug(i32 noundef %3474, ptr noundef nonnull @.str.4) #12
  %3476 = load i32, ptr %639, align 4, !tbaa !5
  %3477 = call ptr @strerror(i32 noundef %3476) #12
  %3478 = load i32, ptr %639, align 4, !tbaa !5
  %3479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3470, ptr noundef nonnull %.str.5.sink2834, i32 noundef %3471, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 324, ptr noundef %3473, ptr noundef %3475, ptr noundef %3477, i32 noundef %3478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3480:                                             ; preds = %3454
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %3481 = load i32, ptr @test_count, align 4, !tbaa !5
  %3482 = add nsw i32 %3481, 1
  store i32 %3482, ptr @test_count, align 4, !tbaa !5
  %3483 = load i32, ptr %45, align 4, !tbaa !5
  %3484 = icmp eq i32 %3483, 1
  br i1 %3484, label %3507, label %3485

3485:                                             ; preds = %3480
  %3486 = load i32, ptr %639, align 4, !tbaa !5
  %3487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3488 = call i32 @s2n_print_stacktrace(ptr noundef %3487) #12
  %3489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3490 = trunc nuw i8 %3489 to i1
  br i1 %3490, label %3491, label %3495

3491:                                             ; preds = %3485
  %3492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3493 = call i32 @fileno(ptr noundef %3492) #12
  %3494 = call i32 @isatty(i32 noundef %3493) #12
  %.not1237 = icmp eq i32 %3494, 0
  br i1 %.not1237, label %3495, label %3496

3495:                                             ; preds = %3491, %3485
  br label %3496

3496:                                             ; preds = %3491, %3495
  %.str.5.sink2843 = phi ptr [ @.str.5, %3495 ], [ @.str.2, %3491 ]
  store i32 %3486, ptr %639, align 4, !tbaa !5
  %3497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3498 = load i32, ptr @test_count, align 4, !tbaa !5
  %3499 = load i32, ptr %585, align 4, !tbaa !5
  %3500 = call ptr @s2n_strerror(i32 noundef %3499, ptr noundef nonnull @.str.4) #12
  %3501 = load i32, ptr %585, align 4, !tbaa !5
  %3502 = call ptr @s2n_strerror_debug(i32 noundef %3501, ptr noundef nonnull @.str.4) #12
  %3503 = load i32, ptr %639, align 4, !tbaa !5
  %3504 = call ptr @strerror(i32 noundef %3503) #12
  %3505 = load i32, ptr %639, align 4, !tbaa !5
  %3506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3497, ptr noundef nonnull %.str.5.sink2843, i32 noundef %3498, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %3500, ptr noundef %3502, ptr noundef %3504, i32 noundef %3505) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3507:                                             ; preds = %3480
  %3508 = add nsw i32 %3481, 2
  store i32 %3508, ptr @test_count, align 4, !tbaa !5
  %3509 = load ptr, ptr %41, align 8, !tbaa !9
  %3510 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3509) #12
  %3511 = icmp eq i32 %3510, 1
  br i1 %3511, label %3534, label %3512

3512:                                             ; preds = %3507
  %3513 = load i32, ptr %639, align 4, !tbaa !5
  %3514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3515 = call i32 @s2n_print_stacktrace(ptr noundef %3514) #12
  %3516 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3517 = trunc nuw i8 %3516 to i1
  br i1 %3517, label %3518, label %3522

3518:                                             ; preds = %3512
  %3519 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3520 = call i32 @fileno(ptr noundef %3519) #12
  %3521 = call i32 @isatty(i32 noundef %3520) #12
  %.not1238 = icmp eq i32 %3521, 0
  br i1 %.not1238, label %3522, label %3523

3522:                                             ; preds = %3518, %3512
  br label %3523

3523:                                             ; preds = %3518, %3522
  %.str.5.sink2852 = phi ptr [ @.str.5, %3522 ], [ @.str.2, %3518 ]
  store i32 %3513, ptr %639, align 4, !tbaa !5
  %3524 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3525 = load i32, ptr @test_count, align 4, !tbaa !5
  %3526 = load i32, ptr %585, align 4, !tbaa !5
  %3527 = call ptr @s2n_strerror(i32 noundef %3526, ptr noundef nonnull @.str.4) #12
  %3528 = load i32, ptr %585, align 4, !tbaa !5
  %3529 = call ptr @s2n_strerror_debug(i32 noundef %3528, ptr noundef nonnull @.str.4) #12
  %3530 = load i32, ptr %639, align 4, !tbaa !5
  %3531 = call ptr @strerror(i32 noundef %3530) #12
  %3532 = load i32, ptr %639, align 4, !tbaa !5
  %3533 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3524, ptr noundef nonnull %.str.5.sink2852, i32 noundef %3525, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 325, ptr noundef %3527, ptr noundef %3529, ptr noundef %3531, i32 noundef %3532) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3534:                                             ; preds = %3507
  %3535 = load i32, ptr @test_count, align 4, !tbaa !5
  %3536 = add nsw i32 %3535, 1
  store i32 %3536, ptr @test_count, align 4, !tbaa !5
  %3537 = load i64, ptr %46, align 8, !tbaa !42
  %3538 = icmp eq i64 %3537, 12
  br i1 %3538, label %3561, label %3539

3539:                                             ; preds = %3534
  %3540 = load i32, ptr %639, align 4, !tbaa !5
  %3541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3542 = call i32 @s2n_print_stacktrace(ptr noundef %3541) #12
  %3543 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3544 = trunc nuw i8 %3543 to i1
  br i1 %3544, label %3545, label %3549

3545:                                             ; preds = %3539
  %3546 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3547 = call i32 @fileno(ptr noundef %3546) #12
  %3548 = call i32 @isatty(i32 noundef %3547) #12
  %.not1239 = icmp eq i32 %3548, 0
  br i1 %.not1239, label %3549, label %3550

3549:                                             ; preds = %3545, %3539
  br label %3550

3550:                                             ; preds = %3545, %3549
  %.str.5.sink2861 = phi ptr [ @.str.5, %3549 ], [ @.str.2, %3545 ]
  store i32 %3540, ptr %639, align 4, !tbaa !5
  %3551 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3552 = load i32, ptr @test_count, align 4, !tbaa !5
  %3553 = load i32, ptr %585, align 4, !tbaa !5
  %3554 = call ptr @s2n_strerror(i32 noundef %3553, ptr noundef nonnull @.str.4) #12
  %3555 = load i32, ptr %585, align 4, !tbaa !5
  %3556 = call ptr @s2n_strerror_debug(i32 noundef %3555, ptr noundef nonnull @.str.4) #12
  %3557 = load i32, ptr %639, align 4, !tbaa !5
  %3558 = call ptr @strerror(i32 noundef %3557) #12
  %3559 = load i32, ptr %639, align 4, !tbaa !5
  %3560 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3551, ptr noundef nonnull %.str.5.sink2861, i32 noundef %3552, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 326, ptr noundef %3554, ptr noundef %3556, ptr noundef %3558, i32 noundef %3559) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3561:                                             ; preds = %3534
  %3562 = add nsw i32 %3535, 2
  store i32 %3562, ptr @test_count, align 4, !tbaa !5
  %3563 = load ptr, ptr %41, align 8, !tbaa !9
  %3564 = call i32 @s2n_connection_get_early_data_status(ptr noundef %3563, ptr noundef nonnull %47) #12
  %3565 = icmp eq i32 %3564, -1
  br i1 %3565, label %3566, label %3588

3566:                                             ; preds = %3561
  %3567 = load i32, ptr %639, align 4, !tbaa !5
  %3568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3569 = call i32 @s2n_print_stacktrace(ptr noundef %3568) #12
  %3570 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3571 = trunc nuw i8 %3570 to i1
  br i1 %3571, label %3572, label %3576

3572:                                             ; preds = %3566
  %3573 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3574 = call i32 @fileno(ptr noundef %3573) #12
  %3575 = call i32 @isatty(i32 noundef %3574) #12
  %.not1621 = icmp eq i32 %3575, 0
  br i1 %.not1621, label %3576, label %3577

3576:                                             ; preds = %3572, %3566
  br label %3577

3577:                                             ; preds = %3572, %3576
  %.str.5.sink2870 = phi ptr [ @.str.5, %3576 ], [ @.str.2, %3572 ]
  store i32 %3567, ptr %639, align 4, !tbaa !5
  %3578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3579 = load i32, ptr @test_count, align 4, !tbaa !5
  %3580 = load i32, ptr %585, align 4, !tbaa !5
  %3581 = call ptr @s2n_strerror(i32 noundef %3580, ptr noundef nonnull @.str.4) #12
  %3582 = load i32, ptr %585, align 4, !tbaa !5
  %3583 = call ptr @s2n_strerror_debug(i32 noundef %3582, ptr noundef nonnull @.str.4) #12
  %3584 = load i32, ptr %639, align 4, !tbaa !5
  %3585 = call ptr @strerror(i32 noundef %3584) #12
  %3586 = load i32, ptr %639, align 4, !tbaa !5
  %3587 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3578, ptr noundef nonnull %.str.5.sink2870, i32 noundef %3579, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 328, ptr noundef %3581, ptr noundef %3583, ptr noundef %3585, i32 noundef %3586) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3588:                                             ; preds = %3561
  %3589 = load i32, ptr @test_count, align 4, !tbaa !5
  %3590 = add nsw i32 %3589, 1
  store i32 %3590, ptr @test_count, align 4, !tbaa !5
  %3591 = load i32, ptr %47, align 4, !tbaa !5
  %3592 = icmp eq i32 %3591, 0
  br i1 %3592, label %3615, label %3593

3593:                                             ; preds = %3588
  %3594 = load i32, ptr %639, align 4, !tbaa !5
  %3595 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3596 = call i32 @s2n_print_stacktrace(ptr noundef %3595) #12
  %3597 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3598 = trunc nuw i8 %3597 to i1
  br i1 %3598, label %3599, label %3603

3599:                                             ; preds = %3593
  %3600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3601 = call i32 @fileno(ptr noundef %3600) #12
  %3602 = call i32 @isatty(i32 noundef %3601) #12
  %.not1240 = icmp eq i32 %3602, 0
  br i1 %.not1240, label %3603, label %3604

3603:                                             ; preds = %3599, %3593
  br label %3604

3604:                                             ; preds = %3599, %3603
  %.str.5.sink2879 = phi ptr [ @.str.5, %3603 ], [ @.str.2, %3599 ]
  store i32 %3594, ptr %639, align 4, !tbaa !5
  %3605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3606 = load i32, ptr @test_count, align 4, !tbaa !5
  %3607 = load i32, ptr %585, align 4, !tbaa !5
  %3608 = call ptr @s2n_strerror(i32 noundef %3607, ptr noundef nonnull @.str.4) #12
  %3609 = load i32, ptr %585, align 4, !tbaa !5
  %3610 = call ptr @s2n_strerror_debug(i32 noundef %3609, ptr noundef nonnull @.str.4) #12
  %3611 = load i32, ptr %639, align 4, !tbaa !5
  %3612 = call ptr @strerror(i32 noundef %3611) #12
  %3613 = load i32, ptr %639, align 4, !tbaa !5
  %3614 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3605, ptr noundef nonnull %.str.5.sink2879, i32 noundef %3606, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 329, ptr noundef %3608, ptr noundef %3610, ptr noundef %3612, i32 noundef %3613) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3615:                                             ; preds = %3588
  %3616 = add nsw i32 %3589, 2
  store i32 %3616, ptr @test_count, align 4, !tbaa !5
  %3617 = load ptr, ptr %42, align 8, !tbaa !9
  %3618 = call i32 @s2n_recv_early_data(ptr noundef %3617, ptr noundef nonnull %44, i64 noundef 100, ptr noundef nonnull %46, ptr noundef nonnull %45) #12
  %3619 = icmp eq i32 %3618, -1
  br i1 %3619, label %3642, label %3620

3620:                                             ; preds = %3615
  %3621 = load i32, ptr %639, align 4, !tbaa !5
  %3622 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3623 = call i32 @s2n_print_stacktrace(ptr noundef %3622) #12
  %3624 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3625 = trunc nuw i8 %3624 to i1
  br i1 %3625, label %3626, label %3630

3626:                                             ; preds = %3620
  %3627 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3628 = call i32 @fileno(ptr noundef %3627) #12
  %3629 = call i32 @isatty(i32 noundef %3628) #12
  %.not1241 = icmp eq i32 %3629, 0
  br i1 %.not1241, label %3630, label %3631

3630:                                             ; preds = %3626, %3620
  br label %3631

3631:                                             ; preds = %3626, %3630
  %.str.5.sink2888 = phi ptr [ @.str.5, %3630 ], [ @.str.2, %3626 ]
  store i32 %3621, ptr %639, align 4, !tbaa !5
  %3632 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3633 = load i32, ptr @test_count, align 4, !tbaa !5
  %3634 = load i32, ptr %585, align 4, !tbaa !5
  %3635 = call ptr @s2n_strerror(i32 noundef %3634, ptr noundef nonnull @.str.4) #12
  %3636 = load i32, ptr %585, align 4, !tbaa !5
  %3637 = call ptr @s2n_strerror_debug(i32 noundef %3636, ptr noundef nonnull @.str.4) #12
  %3638 = load i32, ptr %639, align 4, !tbaa !5
  %3639 = call ptr @strerror(i32 noundef %3638) #12
  %3640 = load i32, ptr %639, align 4, !tbaa !5
  %3641 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3632, ptr noundef nonnull %.str.5.sink2888, i32 noundef %3633, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %3635, ptr noundef %3637, ptr noundef %3639, i32 noundef %3640) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3642:                                             ; preds = %3615
  %3643 = load i32, ptr @test_count, align 4, !tbaa !5
  %3644 = add nsw i32 %3643, 1
  store i32 %3644, ptr @test_count, align 4, !tbaa !5
  %3645 = load i32, ptr %585, align 4, !tbaa !5
  %3646 = icmp eq i32 %3645, 201326592
  br i1 %3646, label %3669, label %3647

3647:                                             ; preds = %3642
  %3648 = load i32, ptr %639, align 4, !tbaa !5
  %3649 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3650 = call i32 @s2n_print_stacktrace(ptr noundef %3649) #12
  %3651 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3652 = trunc nuw i8 %3651 to i1
  br i1 %3652, label %3653, label %3657

3653:                                             ; preds = %3647
  %3654 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3655 = call i32 @fileno(ptr noundef %3654) #12
  %3656 = call i32 @isatty(i32 noundef %3655) #12
  %.not1242 = icmp eq i32 %3656, 0
  br i1 %.not1242, label %3657, label %3658

3657:                                             ; preds = %3653, %3647
  br label %3658

3658:                                             ; preds = %3653, %3657
  %.str.5.sink2897 = phi ptr [ @.str.5, %3657 ], [ @.str.2, %3653 ]
  store i32 %3648, ptr %639, align 4, !tbaa !5
  %3659 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3660 = load i32, ptr @test_count, align 4, !tbaa !5
  %3661 = load i32, ptr %585, align 4, !tbaa !5
  %3662 = call ptr @s2n_strerror(i32 noundef %3661, ptr noundef nonnull @.str.4) #12
  %3663 = load i32, ptr %585, align 4, !tbaa !5
  %3664 = call ptr @s2n_strerror_debug(i32 noundef %3663, ptr noundef nonnull @.str.4) #12
  %3665 = load i32, ptr %639, align 4, !tbaa !5
  %3666 = call ptr @strerror(i32 noundef %3665) #12
  %3667 = load i32, ptr %639, align 4, !tbaa !5
  %3668 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3659, ptr noundef nonnull %.str.5.sink2897, i32 noundef %3660, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %3662, ptr noundef %3664, ptr noundef %3666, i32 noundef %3667) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3669:                                             ; preds = %3642
  %3670 = add nsw i32 %3643, 2
  store i32 %3670, ptr @test_count, align 4, !tbaa !5
  %3671 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %3672 = icmp eq ptr %3671, null
  br i1 %3672, label %3673, label %3695

3673:                                             ; preds = %3669
  %3674 = load i32, ptr %639, align 4, !tbaa !5
  %3675 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3676 = call i32 @s2n_print_stacktrace(ptr noundef %3675) #12
  %3677 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3678 = trunc nuw i8 %3677 to i1
  br i1 %3678, label %3679, label %3683

3679:                                             ; preds = %3673
  %3680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3681 = call i32 @fileno(ptr noundef %3680) #12
  %3682 = call i32 @isatty(i32 noundef %3681) #12
  %.not1620 = icmp eq i32 %3682, 0
  br i1 %.not1620, label %3683, label %3684

3683:                                             ; preds = %3679, %3673
  br label %3684

3684:                                             ; preds = %3679, %3683
  %.str.5.sink2906 = phi ptr [ @.str.5, %3683 ], [ @.str.2, %3679 ]
  store i32 %3674, ptr %639, align 4, !tbaa !5
  %3685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3686 = load i32, ptr @test_count, align 4, !tbaa !5
  %3687 = load i32, ptr %585, align 4, !tbaa !5
  %3688 = call ptr @s2n_strerror(i32 noundef %3687, ptr noundef nonnull @.str.4) #12
  %3689 = load i32, ptr %585, align 4, !tbaa !5
  %3690 = call ptr @s2n_strerror_debug(i32 noundef %3689, ptr noundef nonnull @.str.4) #12
  %3691 = load i32, ptr %639, align 4, !tbaa !5
  %3692 = call ptr @strerror(i32 noundef %3691) #12
  %3693 = load i32, ptr %639, align 4, !tbaa !5
  %3694 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3685, ptr noundef nonnull %.str.5.sink2906, i32 noundef %3686, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 331, ptr noundef %3688, ptr noundef %3690, ptr noundef %3692, i32 noundef %3693) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3695:                                             ; preds = %3669
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %3696 = load i32, ptr @test_count, align 4, !tbaa !5
  %3697 = add nsw i32 %3696, 1
  store i32 %3697, ptr @test_count, align 4, !tbaa !5
  %3698 = load i32, ptr %45, align 4, !tbaa !5
  %3699 = icmp eq i32 %3698, 1
  br i1 %3699, label %3722, label %3700

3700:                                             ; preds = %3695
  %3701 = load i32, ptr %639, align 4, !tbaa !5
  %3702 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3703 = call i32 @s2n_print_stacktrace(ptr noundef %3702) #12
  %3704 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3705 = trunc nuw i8 %3704 to i1
  br i1 %3705, label %3706, label %3710

3706:                                             ; preds = %3700
  %3707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3708 = call i32 @fileno(ptr noundef %3707) #12
  %3709 = call i32 @isatty(i32 noundef %3708) #12
  %.not1243 = icmp eq i32 %3709, 0
  br i1 %.not1243, label %3710, label %3711

3710:                                             ; preds = %3706, %3700
  br label %3711

3711:                                             ; preds = %3706, %3710
  %.str.5.sink2915 = phi ptr [ @.str.5, %3710 ], [ @.str.2, %3706 ]
  store i32 %3701, ptr %639, align 4, !tbaa !5
  %3712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3713 = load i32, ptr @test_count, align 4, !tbaa !5
  %3714 = load i32, ptr %585, align 4, !tbaa !5
  %3715 = call ptr @s2n_strerror(i32 noundef %3714, ptr noundef nonnull @.str.4) #12
  %3716 = load i32, ptr %585, align 4, !tbaa !5
  %3717 = call ptr @s2n_strerror_debug(i32 noundef %3716, ptr noundef nonnull @.str.4) #12
  %3718 = load i32, ptr %639, align 4, !tbaa !5
  %3719 = call ptr @strerror(i32 noundef %3718) #12
  %3720 = load i32, ptr %639, align 4, !tbaa !5
  %3721 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3712, ptr noundef nonnull %.str.5.sink2915, i32 noundef %3713, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3715, ptr noundef %3717, ptr noundef %3719, i32 noundef %3720) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3722:                                             ; preds = %3695
  %3723 = add nsw i32 %3696, 2
  store i32 %3723, ptr @test_count, align 4, !tbaa !5
  %3724 = load ptr, ptr %42, align 8, !tbaa !9
  %3725 = call i32 @s2n_conn_get_current_message_type(ptr noundef %3724) #12
  %3726 = icmp eq i32 %3725, 19
  br i1 %3726, label %3749, label %3727

3727:                                             ; preds = %3722
  %3728 = load i32, ptr %639, align 4, !tbaa !5
  %3729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3730 = call i32 @s2n_print_stacktrace(ptr noundef %3729) #12
  %3731 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3732 = trunc nuw i8 %3731 to i1
  br i1 %3732, label %3733, label %3737

3733:                                             ; preds = %3727
  %3734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3735 = call i32 @fileno(ptr noundef %3734) #12
  %3736 = call i32 @isatty(i32 noundef %3735) #12
  %.not1244 = icmp eq i32 %3736, 0
  br i1 %.not1244, label %3737, label %3738

3737:                                             ; preds = %3733, %3727
  br label %3738

3738:                                             ; preds = %3733, %3737
  %.str.5.sink2924 = phi ptr [ @.str.5, %3737 ], [ @.str.2, %3733 ]
  store i32 %3728, ptr %639, align 4, !tbaa !5
  %3739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3740 = load i32, ptr @test_count, align 4, !tbaa !5
  %3741 = load i32, ptr %585, align 4, !tbaa !5
  %3742 = call ptr @s2n_strerror(i32 noundef %3741, ptr noundef nonnull @.str.4) #12
  %3743 = load i32, ptr %585, align 4, !tbaa !5
  %3744 = call ptr @s2n_strerror_debug(i32 noundef %3743, ptr noundef nonnull @.str.4) #12
  %3745 = load i32, ptr %639, align 4, !tbaa !5
  %3746 = call ptr @strerror(i32 noundef %3745) #12
  %3747 = load i32, ptr %639, align 4, !tbaa !5
  %3748 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3739, ptr noundef nonnull %.str.5.sink2924, i32 noundef %3740, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 332, ptr noundef %3742, ptr noundef %3744, ptr noundef %3746, i32 noundef %3747) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3749:                                             ; preds = %3722
  %3750 = load i32, ptr @test_count, align 4, !tbaa !5
  %3751 = add nsw i32 %3750, 1
  store i32 %3751, ptr @test_count, align 4, !tbaa !5
  %3752 = load i64, ptr %46, align 8, !tbaa !42
  %3753 = icmp eq i64 %3752, 12
  br i1 %3753, label %3776, label %3754

3754:                                             ; preds = %3749
  %3755 = load i32, ptr %639, align 4, !tbaa !5
  %3756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3757 = call i32 @s2n_print_stacktrace(ptr noundef %3756) #12
  %3758 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3759 = trunc nuw i8 %3758 to i1
  br i1 %3759, label %3760, label %3764

3760:                                             ; preds = %3754
  %3761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3762 = call i32 @fileno(ptr noundef %3761) #12
  %3763 = call i32 @isatty(i32 noundef %3762) #12
  %.not1245 = icmp eq i32 %3763, 0
  br i1 %.not1245, label %3764, label %3765

3764:                                             ; preds = %3760, %3754
  br label %3765

3765:                                             ; preds = %3760, %3764
  %.str.5.sink2933 = phi ptr [ @.str.5, %3764 ], [ @.str.2, %3760 ]
  store i32 %3755, ptr %639, align 4, !tbaa !5
  %3766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3767 = load i32, ptr @test_count, align 4, !tbaa !5
  %3768 = load i32, ptr %585, align 4, !tbaa !5
  %3769 = call ptr @s2n_strerror(i32 noundef %3768, ptr noundef nonnull @.str.4) #12
  %3770 = load i32, ptr %585, align 4, !tbaa !5
  %3771 = call ptr @s2n_strerror_debug(i32 noundef %3770, ptr noundef nonnull @.str.4) #12
  %3772 = load i32, ptr %639, align 4, !tbaa !5
  %3773 = call ptr @strerror(i32 noundef %3772) #12
  %3774 = load i32, ptr %639, align 4, !tbaa !5
  %3775 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3766, ptr noundef nonnull %.str.5.sink2933, i32 noundef %3767, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 333, ptr noundef %3769, ptr noundef %3771, ptr noundef %3773, i32 noundef %3774) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3776:                                             ; preds = %3749
  %3777 = add nsw i32 %3750, 2
  store i32 %3777, ptr @test_count, align 4, !tbaa !5
  %bcmp = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %44, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %3778 = icmp eq i32 %bcmp, 0
  br i1 %3778, label %3801, label %3779

3779:                                             ; preds = %3776
  %3780 = load i32, ptr %639, align 4, !tbaa !5
  %3781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3782 = call i32 @s2n_print_stacktrace(ptr noundef %3781) #12
  %3783 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3784 = trunc nuw i8 %3783 to i1
  br i1 %3784, label %3785, label %3789

3785:                                             ; preds = %3779
  %3786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3787 = call i32 @fileno(ptr noundef %3786) #12
  %3788 = call i32 @isatty(i32 noundef %3787) #12
  %.not1246 = icmp eq i32 %3788, 0
  br i1 %.not1246, label %3789, label %3790

3789:                                             ; preds = %3785, %3779
  br label %3790

3790:                                             ; preds = %3785, %3789
  %.str.5.sink2942 = phi ptr [ @.str.5, %3789 ], [ @.str.2, %3785 ]
  store i32 %3780, ptr %639, align 4, !tbaa !5
  %3791 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3792 = load i32, ptr @test_count, align 4, !tbaa !5
  %3793 = load i32, ptr %585, align 4, !tbaa !5
  %3794 = call ptr @s2n_strerror(i32 noundef %3793, ptr noundef nonnull @.str.4) #12
  %3795 = load i32, ptr %585, align 4, !tbaa !5
  %3796 = call ptr @s2n_strerror_debug(i32 noundef %3795, ptr noundef nonnull @.str.4) #12
  %3797 = load i32, ptr %639, align 4, !tbaa !5
  %3798 = call ptr @strerror(i32 noundef %3797) #12
  %3799 = load i32, ptr %639, align 4, !tbaa !5
  %3800 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3791, ptr noundef nonnull %.str.5.sink2942, i32 noundef %3792, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 334, ptr noundef %3794, ptr noundef %3796, ptr noundef %3798, i32 noundef %3799) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3801:                                             ; preds = %3776
  %3802 = add nsw i32 %3750, 3
  store i32 %3802, ptr @test_count, align 4, !tbaa !5
  %3803 = load ptr, ptr %42, align 8, !tbaa !9
  %3804 = call i32 @s2n_connection_get_early_data_status(ptr noundef %3803, ptr noundef nonnull %47) #12
  %3805 = icmp eq i32 %3804, -1
  br i1 %3805, label %3806, label %3828

3806:                                             ; preds = %3801
  %3807 = load i32, ptr %639, align 4, !tbaa !5
  %3808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3809 = call i32 @s2n_print_stacktrace(ptr noundef %3808) #12
  %3810 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3811 = trunc nuw i8 %3810 to i1
  br i1 %3811, label %3812, label %3816

3812:                                             ; preds = %3806
  %3813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3814 = call i32 @fileno(ptr noundef %3813) #12
  %3815 = call i32 @isatty(i32 noundef %3814) #12
  %.not1619 = icmp eq i32 %3815, 0
  br i1 %.not1619, label %3816, label %3817

3816:                                             ; preds = %3812, %3806
  br label %3817

3817:                                             ; preds = %3812, %3816
  %.str.5.sink2951 = phi ptr [ @.str.5, %3816 ], [ @.str.2, %3812 ]
  store i32 %3807, ptr %639, align 4, !tbaa !5
  %3818 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3819 = load i32, ptr @test_count, align 4, !tbaa !5
  %3820 = load i32, ptr %585, align 4, !tbaa !5
  %3821 = call ptr @s2n_strerror(i32 noundef %3820, ptr noundef nonnull @.str.4) #12
  %3822 = load i32, ptr %585, align 4, !tbaa !5
  %3823 = call ptr @s2n_strerror_debug(i32 noundef %3822, ptr noundef nonnull @.str.4) #12
  %3824 = load i32, ptr %639, align 4, !tbaa !5
  %3825 = call ptr @strerror(i32 noundef %3824) #12
  %3826 = load i32, ptr %639, align 4, !tbaa !5
  %3827 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3818, ptr noundef nonnull %.str.5.sink2951, i32 noundef %3819, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 336, ptr noundef %3821, ptr noundef %3823, ptr noundef %3825, i32 noundef %3826) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3828:                                             ; preds = %3801
  %3829 = load i32, ptr @test_count, align 4, !tbaa !5
  %3830 = add nsw i32 %3829, 1
  store i32 %3830, ptr @test_count, align 4, !tbaa !5
  %3831 = load i32, ptr %47, align 4, !tbaa !5
  %3832 = icmp eq i32 %3831, 0
  br i1 %3832, label %3855, label %3833

3833:                                             ; preds = %3828
  %3834 = load i32, ptr %639, align 4, !tbaa !5
  %3835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3836 = call i32 @s2n_print_stacktrace(ptr noundef %3835) #12
  %3837 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3838 = trunc nuw i8 %3837 to i1
  br i1 %3838, label %3839, label %3843

3839:                                             ; preds = %3833
  %3840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3841 = call i32 @fileno(ptr noundef %3840) #12
  %3842 = call i32 @isatty(i32 noundef %3841) #12
  %.not1247 = icmp eq i32 %3842, 0
  br i1 %.not1247, label %3843, label %3844

3843:                                             ; preds = %3839, %3833
  br label %3844

3844:                                             ; preds = %3839, %3843
  %.str.5.sink2960 = phi ptr [ @.str.5, %3843 ], [ @.str.2, %3839 ]
  store i32 %3834, ptr %639, align 4, !tbaa !5
  %3845 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3846 = load i32, ptr @test_count, align 4, !tbaa !5
  %3847 = load i32, ptr %585, align 4, !tbaa !5
  %3848 = call ptr @s2n_strerror(i32 noundef %3847, ptr noundef nonnull @.str.4) #12
  %3849 = load i32, ptr %585, align 4, !tbaa !5
  %3850 = call ptr @s2n_strerror_debug(i32 noundef %3849, ptr noundef nonnull @.str.4) #12
  %3851 = load i32, ptr %639, align 4, !tbaa !5
  %3852 = call ptr @strerror(i32 noundef %3851) #12
  %3853 = load i32, ptr %639, align 4, !tbaa !5
  %3854 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3845, ptr noundef nonnull %.str.5.sink2960, i32 noundef %3846, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 337, ptr noundef %3848, ptr noundef %3850, ptr noundef %3852, i32 noundef %3853) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3855:                                             ; preds = %3828
  %3856 = add nsw i32 %3829, 2
  store i32 %3856, ptr @test_count, align 4, !tbaa !5
  %3857 = load ptr, ptr %42, align 8, !tbaa !9
  %3858 = load ptr, ptr %41, align 8, !tbaa !9
  %3859 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %3857, ptr noundef %3858) #12
  %3860 = icmp eq i32 %3859, -1
  br i1 %3860, label %3861, label %3883

3861:                                             ; preds = %3855
  %3862 = load i32, ptr %639, align 4, !tbaa !5
  %3863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3864 = call i32 @s2n_print_stacktrace(ptr noundef %3863) #12
  %3865 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3866 = trunc nuw i8 %3865 to i1
  br i1 %3866, label %3867, label %3871

3867:                                             ; preds = %3861
  %3868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3869 = call i32 @fileno(ptr noundef %3868) #12
  %3870 = call i32 @isatty(i32 noundef %3869) #12
  %.not1618 = icmp eq i32 %3870, 0
  br i1 %.not1618, label %3871, label %3872

3871:                                             ; preds = %3867, %3861
  br label %3872

3872:                                             ; preds = %3867, %3871
  %.str.5.sink2969 = phi ptr [ @.str.5, %3871 ], [ @.str.2, %3867 ]
  store i32 %3862, ptr %639, align 4, !tbaa !5
  %3873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3874 = load i32, ptr @test_count, align 4, !tbaa !5
  %3875 = load i32, ptr %585, align 4, !tbaa !5
  %3876 = call ptr @s2n_strerror(i32 noundef %3875, ptr noundef nonnull @.str.4) #12
  %3877 = load i32, ptr %585, align 4, !tbaa !5
  %3878 = call ptr @s2n_strerror_debug(i32 noundef %3877, ptr noundef nonnull @.str.4) #12
  %3879 = load i32, ptr %639, align 4, !tbaa !5
  %3880 = call ptr @strerror(i32 noundef %3879) #12
  %3881 = load i32, ptr %639, align 4, !tbaa !5
  %3882 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3873, ptr noundef nonnull %.str.5.sink2969, i32 noundef %3874, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 339, ptr noundef %3876, ptr noundef %3878, ptr noundef %3880, i32 noundef %3881) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3883:                                             ; preds = %3855
  %3884 = load i32, ptr @test_count, align 4, !tbaa !5
  %3885 = add nsw i32 %3884, 1
  store i32 %3885, ptr @test_count, align 4, !tbaa !5
  %3886 = load ptr, ptr %41, align 8, !tbaa !9
  %3887 = call i32 @s2n_connection_free(ptr noundef %3886) #12
  %3888 = icmp eq i32 %3887, -1
  br i1 %3888, label %3889, label %3911

3889:                                             ; preds = %3883
  %3890 = load i32, ptr %639, align 4, !tbaa !5
  %3891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3892 = call i32 @s2n_print_stacktrace(ptr noundef %3891) #12
  %3893 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3894 = trunc nuw i8 %3893 to i1
  br i1 %3894, label %3895, label %3899

3895:                                             ; preds = %3889
  %3896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3897 = call i32 @fileno(ptr noundef %3896) #12
  %3898 = call i32 @isatty(i32 noundef %3897) #12
  %.not1617 = icmp eq i32 %3898, 0
  br i1 %.not1617, label %3899, label %3900

3899:                                             ; preds = %3895, %3889
  br label %3900

3900:                                             ; preds = %3895, %3899
  %.str.5.sink2978 = phi ptr [ @.str.5, %3899 ], [ @.str.2, %3895 ]
  store i32 %3890, ptr %639, align 4, !tbaa !5
  %3901 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3902 = load i32, ptr @test_count, align 4, !tbaa !5
  %3903 = load i32, ptr %585, align 4, !tbaa !5
  %3904 = call ptr @s2n_strerror(i32 noundef %3903, ptr noundef nonnull @.str.4) #12
  %3905 = load i32, ptr %585, align 4, !tbaa !5
  %3906 = call ptr @s2n_strerror_debug(i32 noundef %3905, ptr noundef nonnull @.str.4) #12
  %3907 = load i32, ptr %639, align 4, !tbaa !5
  %3908 = call ptr @strerror(i32 noundef %3907) #12
  %3909 = load i32, ptr %639, align 4, !tbaa !5
  %3910 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3901, ptr noundef nonnull %.str.5.sink2978, i32 noundef %3902, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 341, ptr noundef %3904, ptr noundef %3906, ptr noundef %3908, i32 noundef %3909) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3911:                                             ; preds = %3883
  %3912 = load i32, ptr @test_count, align 4, !tbaa !5
  %3913 = add nsw i32 %3912, 1
  store i32 %3913, ptr @test_count, align 4, !tbaa !5
  %3914 = load ptr, ptr %42, align 8, !tbaa !9
  %3915 = call i32 @s2n_connection_free(ptr noundef %3914) #12
  %3916 = icmp eq i32 %3915, -1
  br i1 %3916, label %3917, label %3939

3917:                                             ; preds = %3911
  %3918 = load i32, ptr %639, align 4, !tbaa !5
  %3919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3920 = call i32 @s2n_print_stacktrace(ptr noundef %3919) #12
  %3921 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3922 = trunc nuw i8 %3921 to i1
  br i1 %3922, label %3923, label %3927

3923:                                             ; preds = %3917
  %3924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3925 = call i32 @fileno(ptr noundef %3924) #12
  %3926 = call i32 @isatty(i32 noundef %3925) #12
  %.not1616 = icmp eq i32 %3926, 0
  br i1 %.not1616, label %3927, label %3928

3927:                                             ; preds = %3923, %3917
  br label %3928

3928:                                             ; preds = %3923, %3927
  %.str.5.sink2987 = phi ptr [ @.str.5, %3927 ], [ @.str.2, %3923 ]
  store i32 %3918, ptr %639, align 4, !tbaa !5
  %3929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3930 = load i32, ptr @test_count, align 4, !tbaa !5
  %3931 = load i32, ptr %585, align 4, !tbaa !5
  %3932 = call ptr @s2n_strerror(i32 noundef %3931, ptr noundef nonnull @.str.4) #12
  %3933 = load i32, ptr %585, align 4, !tbaa !5
  %3934 = call ptr @s2n_strerror_debug(i32 noundef %3933, ptr noundef nonnull @.str.4) #12
  %3935 = load i32, ptr %639, align 4, !tbaa !5
  %3936 = call ptr @strerror(i32 noundef %3935) #12
  %3937 = load i32, ptr %639, align 4, !tbaa !5
  %3938 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3929, ptr noundef nonnull %.str.5.sink2987, i32 noundef %3930, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 342, ptr noundef %3932, ptr noundef %3934, ptr noundef %3936, i32 noundef %3937) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3939:                                             ; preds = %3911
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %47) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %46) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %45) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %44) #12
  %3940 = call i32 @s2n_io_pair_close(ptr noundef nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %43) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %42) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %41) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %48) #12
  store ptr null, ptr %48, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %49) #12
  store ptr null, ptr %49, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %50) #12
  store i64 0, ptr %50, align 8
  %3941 = load i32, ptr @test_count, align 4, !tbaa !5
  %3942 = add nsw i32 %3941, 1
  store i32 %3942, ptr @test_count, align 4, !tbaa !5
  %3943 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %48, ptr noundef nonnull %49, ptr noundef nonnull %50)
  %3944 = call zeroext i1 @s2n_result_is_ok(i32 %3943)
  br i1 %3944, label %3967, label %3945

3945:                                             ; preds = %3939
  %3946 = load i32, ptr %639, align 4, !tbaa !5
  %3947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3948 = call i32 @s2n_print_stacktrace(ptr noundef %3947) #12
  %3949 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3950 = trunc nuw i8 %3949 to i1
  br i1 %3950, label %3951, label %3955

3951:                                             ; preds = %3945
  %3952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3953 = call i32 @fileno(ptr noundef %3952) #12
  %3954 = call i32 @isatty(i32 noundef %3953) #12
  %.not1248 = icmp eq i32 %3954, 0
  br i1 %.not1248, label %3955, label %3956

3955:                                             ; preds = %3951, %3945
  br label %3956

3956:                                             ; preds = %3951, %3955
  %.str.5.sink2996 = phi ptr [ @.str.5, %3955 ], [ @.str.2, %3951 ]
  store i32 %3946, ptr %639, align 4, !tbaa !5
  %3957 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3958 = load i32, ptr @test_count, align 4, !tbaa !5
  %3959 = load i32, ptr %585, align 4, !tbaa !5
  %3960 = call ptr @s2n_strerror(i32 noundef %3959, ptr noundef nonnull @.str.4) #12
  %3961 = load i32, ptr %585, align 4, !tbaa !5
  %3962 = call ptr @s2n_strerror_debug(i32 noundef %3961, ptr noundef nonnull @.str.4) #12
  %3963 = load i32, ptr %639, align 4, !tbaa !5
  %3964 = call ptr @strerror(i32 noundef %3963) #12
  %3965 = load i32, ptr %639, align 4, !tbaa !5
  %3966 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3957, ptr noundef nonnull %.str.5.sink2996, i32 noundef %3958, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 349, ptr noundef %3960, ptr noundef %3962, ptr noundef %3964, i32 noundef %3965) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3967:                                             ; preds = %3939
  %3968 = load i32, ptr @test_count, align 4, !tbaa !5
  %3969 = add nsw i32 %3968, 1
  store i32 %3969, ptr @test_count, align 4, !tbaa !5
  %3970 = load ptr, ptr %48, align 8, !tbaa !9
  %3971 = call i32 @s2n_connection_append_psk(ptr noundef %3970, ptr noundef %289) #12
  %3972 = icmp eq i32 %3971, -1
  br i1 %3972, label %3973, label %3995

3973:                                             ; preds = %3967
  %3974 = load i32, ptr %639, align 4, !tbaa !5
  %3975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3976 = call i32 @s2n_print_stacktrace(ptr noundef %3975) #12
  %3977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %3978 = trunc nuw i8 %3977 to i1
  br i1 %3978, label %3979, label %3983

3979:                                             ; preds = %3973
  %3980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3981 = call i32 @fileno(ptr noundef %3980) #12
  %3982 = call i32 @isatty(i32 noundef %3981) #12
  %.not1615 = icmp eq i32 %3982, 0
  br i1 %.not1615, label %3983, label %3984

3983:                                             ; preds = %3979, %3973
  br label %3984

3984:                                             ; preds = %3979, %3983
  %.str.5.sink3005 = phi ptr [ @.str.5, %3983 ], [ @.str.2, %3979 ]
  store i32 %3974, ptr %639, align 4, !tbaa !5
  %3985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %3986 = load i32, ptr @test_count, align 4, !tbaa !5
  %3987 = load i32, ptr %585, align 4, !tbaa !5
  %3988 = call ptr @s2n_strerror(i32 noundef %3987, ptr noundef nonnull @.str.4) #12
  %3989 = load i32, ptr %585, align 4, !tbaa !5
  %3990 = call ptr @s2n_strerror_debug(i32 noundef %3989, ptr noundef nonnull @.str.4) #12
  %3991 = load i32, ptr %639, align 4, !tbaa !5
  %3992 = call ptr @strerror(i32 noundef %3991) #12
  %3993 = load i32, ptr %639, align 4, !tbaa !5
  %3994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %3985, ptr noundef nonnull %.str.5.sink3005, i32 noundef %3986, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 351, ptr noundef %3988, ptr noundef %3990, ptr noundef %3992, i32 noundef %3993) #14
  call void @exit(i32 noundef 1) #15
  unreachable

3995:                                             ; preds = %3967
  %3996 = load i32, ptr @test_count, align 4, !tbaa !5
  %3997 = add nsw i32 %3996, 1
  store i32 %3997, ptr @test_count, align 4, !tbaa !5
  %3998 = load ptr, ptr %49, align 8, !tbaa !9
  %3999 = call i32 @s2n_connection_append_psk(ptr noundef %3998, ptr noundef %289) #12
  %4000 = icmp eq i32 %3999, -1
  br i1 %4000, label %4001, label %4023

4001:                                             ; preds = %3995
  %4002 = load i32, ptr %639, align 4, !tbaa !5
  %4003 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4004 = call i32 @s2n_print_stacktrace(ptr noundef %4003) #12
  %4005 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4006 = trunc nuw i8 %4005 to i1
  br i1 %4006, label %4007, label %4011

4007:                                             ; preds = %4001
  %4008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4009 = call i32 @fileno(ptr noundef %4008) #12
  %4010 = call i32 @isatty(i32 noundef %4009) #12
  %.not1614 = icmp eq i32 %4010, 0
  br i1 %.not1614, label %4011, label %4012

4011:                                             ; preds = %4007, %4001
  br label %4012

4012:                                             ; preds = %4007, %4011
  %.str.5.sink3014 = phi ptr [ @.str.5, %4011 ], [ @.str.2, %4007 ]
  store i32 %4002, ptr %639, align 4, !tbaa !5
  %4013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4014 = load i32, ptr @test_count, align 4, !tbaa !5
  %4015 = load i32, ptr %585, align 4, !tbaa !5
  %4016 = call ptr @s2n_strerror(i32 noundef %4015, ptr noundef nonnull @.str.4) #12
  %4017 = load i32, ptr %585, align 4, !tbaa !5
  %4018 = call ptr @s2n_strerror_debug(i32 noundef %4017, ptr noundef nonnull @.str.4) #12
  %4019 = load i32, ptr %639, align 4, !tbaa !5
  %4020 = call ptr @strerror(i32 noundef %4019) #12
  %4021 = load i32, ptr %639, align 4, !tbaa !5
  %4022 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4013, ptr noundef nonnull %.str.5.sink3014, i32 noundef %4014, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 352, ptr noundef %4016, ptr noundef %4018, ptr noundef %4020, i32 noundef %4021) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4023:                                             ; preds = %3995
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %51) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %51, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %52) #12
  store i32 0, ptr %52, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %53) #12
  store i64 0, ptr %53, align 8, !tbaa !42
  %4024 = load i32, ptr @test_count, align 4, !tbaa !5
  %4025 = add nsw i32 %4024, 1
  store i32 %4025, ptr @test_count, align 4, !tbaa !5
  %4026 = load ptr, ptr %48, align 8, !tbaa !9
  %4027 = call i32 @s2n_send_early_data(ptr noundef %4026, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %53, ptr noundef nonnull %52) #12
  %4028 = icmp eq i32 %4027, -1
  br i1 %4028, label %4051, label %4029

4029:                                             ; preds = %4023
  %4030 = load i32, ptr %639, align 4, !tbaa !5
  %4031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4032 = call i32 @s2n_print_stacktrace(ptr noundef %4031) #12
  %4033 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4034 = trunc nuw i8 %4033 to i1
  br i1 %4034, label %4035, label %4039

4035:                                             ; preds = %4029
  %4036 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4037 = call i32 @fileno(ptr noundef %4036) #12
  %4038 = call i32 @isatty(i32 noundef %4037) #12
  %.not1249 = icmp eq i32 %4038, 0
  br i1 %.not1249, label %4039, label %4040

4039:                                             ; preds = %4035, %4029
  br label %4040

4040:                                             ; preds = %4035, %4039
  %.str.5.sink3023 = phi ptr [ @.str.5, %4039 ], [ @.str.2, %4035 ]
  store i32 %4030, ptr %639, align 4, !tbaa !5
  %4041 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4042 = load i32, ptr @test_count, align 4, !tbaa !5
  %4043 = load i32, ptr %585, align 4, !tbaa !5
  %4044 = call ptr @s2n_strerror(i32 noundef %4043, ptr noundef nonnull @.str.4) #12
  %4045 = load i32, ptr %585, align 4, !tbaa !5
  %4046 = call ptr @s2n_strerror_debug(i32 noundef %4045, ptr noundef nonnull @.str.4) #12
  %4047 = load i32, ptr %639, align 4, !tbaa !5
  %4048 = call ptr @strerror(i32 noundef %4047) #12
  %4049 = load i32, ptr %639, align 4, !tbaa !5
  %4050 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4041, ptr noundef nonnull %.str.5.sink3023, i32 noundef %4042, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %4044, ptr noundef %4046, ptr noundef %4048, i32 noundef %4049) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4051:                                             ; preds = %4023
  %4052 = load i32, ptr @test_count, align 4, !tbaa !5
  %4053 = add nsw i32 %4052, 1
  store i32 %4053, ptr @test_count, align 4, !tbaa !5
  %4054 = load i32, ptr %585, align 4, !tbaa !5
  %4055 = icmp eq i32 %4054, 201326592
  br i1 %4055, label %4078, label %4056

4056:                                             ; preds = %4051
  %4057 = load i32, ptr %639, align 4, !tbaa !5
  %4058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4059 = call i32 @s2n_print_stacktrace(ptr noundef %4058) #12
  %4060 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4061 = trunc nuw i8 %4060 to i1
  br i1 %4061, label %4062, label %4066

4062:                                             ; preds = %4056
  %4063 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4064 = call i32 @fileno(ptr noundef %4063) #12
  %4065 = call i32 @isatty(i32 noundef %4064) #12
  %.not1250 = icmp eq i32 %4065, 0
  br i1 %.not1250, label %4066, label %4067

4066:                                             ; preds = %4062, %4056
  br label %4067

4067:                                             ; preds = %4062, %4066
  %.str.5.sink3032 = phi ptr [ @.str.5, %4066 ], [ @.str.2, %4062 ]
  store i32 %4057, ptr %639, align 4, !tbaa !5
  %4068 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4069 = load i32, ptr @test_count, align 4, !tbaa !5
  %4070 = load i32, ptr %585, align 4, !tbaa !5
  %4071 = call ptr @s2n_strerror(i32 noundef %4070, ptr noundef nonnull @.str.4) #12
  %4072 = load i32, ptr %585, align 4, !tbaa !5
  %4073 = call ptr @s2n_strerror_debug(i32 noundef %4072, ptr noundef nonnull @.str.4) #12
  %4074 = load i32, ptr %639, align 4, !tbaa !5
  %4075 = call ptr @strerror(i32 noundef %4074) #12
  %4076 = load i32, ptr %639, align 4, !tbaa !5
  %4077 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4068, ptr noundef nonnull %.str.5.sink3032, i32 noundef %4069, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %4071, ptr noundef %4073, ptr noundef %4075, i32 noundef %4076) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4078:                                             ; preds = %4051
  %4079 = add nsw i32 %4052, 2
  store i32 %4079, ptr @test_count, align 4, !tbaa !5
  %4080 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %4081 = icmp eq ptr %4080, null
  br i1 %4081, label %4082, label %4104

4082:                                             ; preds = %4078
  %4083 = load i32, ptr %639, align 4, !tbaa !5
  %4084 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4085 = call i32 @s2n_print_stacktrace(ptr noundef %4084) #12
  %4086 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4087 = trunc nuw i8 %4086 to i1
  br i1 %4087, label %4088, label %4092

4088:                                             ; preds = %4082
  %4089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4090 = call i32 @fileno(ptr noundef %4089) #12
  %4091 = call i32 @isatty(i32 noundef %4090) #12
  %.not1613 = icmp eq i32 %4091, 0
  br i1 %.not1613, label %4092, label %4093

4092:                                             ; preds = %4088, %4082
  br label %4093

4093:                                             ; preds = %4088, %4092
  %.str.5.sink3041 = phi ptr [ @.str.5, %4092 ], [ @.str.2, %4088 ]
  store i32 %4083, ptr %639, align 4, !tbaa !5
  %4094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4095 = load i32, ptr @test_count, align 4, !tbaa !5
  %4096 = load i32, ptr %585, align 4, !tbaa !5
  %4097 = call ptr @s2n_strerror(i32 noundef %4096, ptr noundef nonnull @.str.4) #12
  %4098 = load i32, ptr %585, align 4, !tbaa !5
  %4099 = call ptr @s2n_strerror_debug(i32 noundef %4098, ptr noundef nonnull @.str.4) #12
  %4100 = load i32, ptr %639, align 4, !tbaa !5
  %4101 = call ptr @strerror(i32 noundef %4100) #12
  %4102 = load i32, ptr %639, align 4, !tbaa !5
  %4103 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4094, ptr noundef nonnull %.str.5.sink3041, i32 noundef %4095, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 358, ptr noundef %4097, ptr noundef %4099, ptr noundef %4101, i32 noundef %4102) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4104:                                             ; preds = %4078
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %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 i32, ptr %52, align 4, !tbaa !5
  %4108 = icmp eq i32 %4107, 1
  br i1 %4108, label %4131, label %4109

4109:                                             ; preds = %4104
  %4110 = load i32, ptr %639, align 4, !tbaa !5
  %4111 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4112 = call i32 @s2n_print_stacktrace(ptr noundef %4111) #12
  %4113 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4114 = trunc nuw i8 %4113 to i1
  br i1 %4114, label %4115, label %4119

4115:                                             ; preds = %4109
  %4116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4117 = call i32 @fileno(ptr noundef %4116) #12
  %4118 = call i32 @isatty(i32 noundef %4117) #12
  %.not1251 = icmp eq i32 %4118, 0
  br i1 %.not1251, label %4119, label %4120

4119:                                             ; preds = %4115, %4109
  br label %4120

4120:                                             ; preds = %4115, %4119
  %.str.5.sink3050 = phi ptr [ @.str.5, %4119 ], [ @.str.2, %4115 ]
  store i32 %4110, ptr %639, align 4, !tbaa !5
  %4121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4122 = load i32, ptr @test_count, align 4, !tbaa !5
  %4123 = load i32, ptr %585, align 4, !tbaa !5
  %4124 = call ptr @s2n_strerror(i32 noundef %4123, ptr noundef nonnull @.str.4) #12
  %4125 = load i32, ptr %585, align 4, !tbaa !5
  %4126 = call ptr @s2n_strerror_debug(i32 noundef %4125, ptr noundef nonnull @.str.4) #12
  %4127 = load i32, ptr %639, align 4, !tbaa !5
  %4128 = call ptr @strerror(i32 noundef %4127) #12
  %4129 = load i32, ptr %639, align 4, !tbaa !5
  %4130 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4121, ptr noundef nonnull %.str.5.sink3050, i32 noundef %4122, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %4124, ptr noundef %4126, ptr noundef %4128, i32 noundef %4129) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4131:                                             ; preds = %4104
  %4132 = add nsw i32 %4105, 2
  store i32 %4132, ptr @test_count, align 4, !tbaa !5
  %4133 = load ptr, ptr %48, align 8, !tbaa !9
  %4134 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4133) #12
  %4135 = icmp eq i32 %4134, 1
  br i1 %4135, label %4158, label %4136

4136:                                             ; preds = %4131
  %4137 = load i32, ptr %639, align 4, !tbaa !5
  %4138 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4139 = call i32 @s2n_print_stacktrace(ptr noundef %4138) #12
  %4140 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4141 = trunc nuw i8 %4140 to i1
  br i1 %4141, label %4142, label %4146

4142:                                             ; preds = %4136
  %4143 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4144 = call i32 @fileno(ptr noundef %4143) #12
  %4145 = call i32 @isatty(i32 noundef %4144) #12
  %.not1252 = icmp eq i32 %4145, 0
  br i1 %.not1252, label %4146, label %4147

4146:                                             ; preds = %4142, %4136
  br label %4147

4147:                                             ; preds = %4142, %4146
  %.str.5.sink3059 = phi ptr [ @.str.5, %4146 ], [ @.str.2, %4142 ]
  store i32 %4137, ptr %639, align 4, !tbaa !5
  %4148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4149 = load i32, ptr @test_count, align 4, !tbaa !5
  %4150 = load i32, ptr %585, align 4, !tbaa !5
  %4151 = call ptr @s2n_strerror(i32 noundef %4150, ptr noundef nonnull @.str.4) #12
  %4152 = load i32, ptr %585, align 4, !tbaa !5
  %4153 = call ptr @s2n_strerror_debug(i32 noundef %4152, ptr noundef nonnull @.str.4) #12
  %4154 = load i32, ptr %639, align 4, !tbaa !5
  %4155 = call ptr @strerror(i32 noundef %4154) #12
  %4156 = load i32, ptr %639, align 4, !tbaa !5
  %4157 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4148, ptr noundef nonnull %.str.5.sink3059, i32 noundef %4149, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 359, ptr noundef %4151, ptr noundef %4153, ptr noundef %4155, i32 noundef %4156) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4158:                                             ; preds = %4131
  %4159 = load i32, ptr @test_count, align 4, !tbaa !5
  %4160 = add nsw i32 %4159, 1
  store i32 %4160, ptr @test_count, align 4, !tbaa !5
  %4161 = load i64, ptr %53, align 8, !tbaa !42
  %4162 = icmp eq i64 %4161, 12
  br i1 %4162, label %4185, label %4163

4163:                                             ; preds = %4158
  %4164 = load i32, ptr %639, align 4, !tbaa !5
  %4165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4166 = call i32 @s2n_print_stacktrace(ptr noundef %4165) #12
  %4167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4168 = trunc nuw i8 %4167 to i1
  br i1 %4168, label %4169, label %4173

4169:                                             ; preds = %4163
  %4170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4171 = call i32 @fileno(ptr noundef %4170) #12
  %4172 = call i32 @isatty(i32 noundef %4171) #12
  %.not1253 = icmp eq i32 %4172, 0
  br i1 %.not1253, label %4173, label %4174

4173:                                             ; preds = %4169, %4163
  br label %4174

4174:                                             ; preds = %4169, %4173
  %.str.5.sink3068 = phi ptr [ @.str.5, %4173 ], [ @.str.2, %4169 ]
  store i32 %4164, ptr %639, align 4, !tbaa !5
  %4175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4176 = load i32, ptr @test_count, align 4, !tbaa !5
  %4177 = load i32, ptr %585, align 4, !tbaa !5
  %4178 = call ptr @s2n_strerror(i32 noundef %4177, ptr noundef nonnull @.str.4) #12
  %4179 = load i32, ptr %585, align 4, !tbaa !5
  %4180 = call ptr @s2n_strerror_debug(i32 noundef %4179, ptr noundef nonnull @.str.4) #12
  %4181 = load i32, ptr %639, align 4, !tbaa !5
  %4182 = call ptr @strerror(i32 noundef %4181) #12
  %4183 = load i32, ptr %639, align 4, !tbaa !5
  %4184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4175, ptr noundef nonnull %.str.5.sink3068, i32 noundef %4176, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 360, ptr noundef %4178, ptr noundef %4180, ptr noundef %4182, i32 noundef %4183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4185:                                             ; preds = %4158
  %4186 = add nsw i32 %4159, 2
  store i32 %4186, ptr @test_count, align 4, !tbaa !5
  %4187 = load ptr, ptr %49, align 8, !tbaa !9
  %4188 = call i32 @s2n_recv_early_data(ptr noundef %4187, ptr noundef null, i64 noundef 0, ptr noundef nonnull %53, ptr noundef nonnull %52) #12
  %4189 = icmp eq i32 %4188, -1
  br i1 %4189, label %4212, label %4190

4190:                                             ; preds = %4185
  %4191 = load i32, ptr %639, align 4, !tbaa !5
  %4192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4193 = call i32 @s2n_print_stacktrace(ptr noundef %4192) #12
  %4194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4195 = trunc nuw i8 %4194 to i1
  br i1 %4195, label %4196, label %4200

4196:                                             ; preds = %4190
  %4197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4198 = call i32 @fileno(ptr noundef %4197) #12
  %4199 = call i32 @isatty(i32 noundef %4198) #12
  %.not1254 = icmp eq i32 %4199, 0
  br i1 %.not1254, label %4200, label %4201

4200:                                             ; preds = %4196, %4190
  br label %4201

4201:                                             ; preds = %4196, %4200
  %.str.5.sink3077 = phi ptr [ @.str.5, %4200 ], [ @.str.2, %4196 ]
  store i32 %4191, ptr %639, align 4, !tbaa !5
  %4202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4203 = load i32, ptr @test_count, align 4, !tbaa !5
  %4204 = load i32, ptr %585, align 4, !tbaa !5
  %4205 = call ptr @s2n_strerror(i32 noundef %4204, ptr noundef nonnull @.str.4) #12
  %4206 = load i32, ptr %585, align 4, !tbaa !5
  %4207 = call ptr @s2n_strerror_debug(i32 noundef %4206, ptr noundef nonnull @.str.4) #12
  %4208 = load i32, ptr %639, align 4, !tbaa !5
  %4209 = call ptr @strerror(i32 noundef %4208) #12
  %4210 = load i32, ptr %639, align 4, !tbaa !5
  %4211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4202, ptr noundef nonnull %.str.5.sink3077, i32 noundef %4203, ptr noundef nonnull @.str.68, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %4205, ptr noundef %4207, ptr noundef %4209, i32 noundef %4210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4212:                                             ; preds = %4185
  %4213 = load i32, ptr @test_count, align 4, !tbaa !5
  %4214 = add nsw i32 %4213, 1
  store i32 %4214, ptr @test_count, align 4, !tbaa !5
  %4215 = load i32, ptr %585, align 4, !tbaa !5
  %4216 = icmp eq i32 %4215, 201326594
  br i1 %4216, label %4239, label %4217

4217:                                             ; preds = %4212
  %4218 = load i32, ptr %639, align 4, !tbaa !5
  %4219 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4220 = call i32 @s2n_print_stacktrace(ptr noundef %4219) #12
  %4221 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4222 = trunc nuw i8 %4221 to i1
  br i1 %4222, label %4223, label %4227

4223:                                             ; preds = %4217
  %4224 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4225 = call i32 @fileno(ptr noundef %4224) #12
  %4226 = call i32 @isatty(i32 noundef %4225) #12
  %.not1255 = icmp eq i32 %4226, 0
  br i1 %.not1255, label %4227, label %4228

4227:                                             ; preds = %4223, %4217
  br label %4228

4228:                                             ; preds = %4223, %4227
  %.str.5.sink3086 = phi ptr [ @.str.5, %4227 ], [ @.str.2, %4223 ]
  store i32 %4218, ptr %639, align 4, !tbaa !5
  %4229 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4230 = load i32, ptr @test_count, align 4, !tbaa !5
  %4231 = load i32, ptr %585, align 4, !tbaa !5
  %4232 = call ptr @s2n_strerror(i32 noundef %4231, ptr noundef nonnull @.str.4) #12
  %4233 = load i32, ptr %585, align 4, !tbaa !5
  %4234 = call ptr @s2n_strerror_debug(i32 noundef %4233, ptr noundef nonnull @.str.4) #12
  %4235 = load i32, ptr %639, align 4, !tbaa !5
  %4236 = call ptr @strerror(i32 noundef %4235) #12
  %4237 = load i32, ptr %639, align 4, !tbaa !5
  %4238 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4229, ptr noundef nonnull %.str.5.sink3086, i32 noundef %4230, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %4232, ptr noundef %4234, ptr noundef %4236, i32 noundef %4237) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4239:                                             ; preds = %4212
  %4240 = add nsw i32 %4213, 2
  store i32 %4240, ptr @test_count, align 4, !tbaa !5
  %4241 = call ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %4242 = icmp eq ptr %4241, null
  br i1 %4242, label %4243, label %4265

4243:                                             ; preds = %4239
  %4244 = load i32, ptr %639, align 4, !tbaa !5
  %4245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4246 = call i32 @s2n_print_stacktrace(ptr noundef %4245) #12
  %4247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4248 = trunc nuw i8 %4247 to i1
  br i1 %4248, label %4249, label %4253

4249:                                             ; preds = %4243
  %4250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4251 = call i32 @fileno(ptr noundef %4250) #12
  %4252 = call i32 @isatty(i32 noundef %4251) #12
  %.not1612 = icmp eq i32 %4252, 0
  br i1 %.not1612, label %4253, label %4254

4253:                                             ; preds = %4249, %4243
  br label %4254

4254:                                             ; preds = %4249, %4253
  %.str.5.sink3095 = phi ptr [ @.str.5, %4253 ], [ @.str.2, %4249 ]
  store i32 %4244, ptr %639, align 4, !tbaa !5
  %4255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4256 = load i32, ptr @test_count, align 4, !tbaa !5
  %4257 = load i32, ptr %585, align 4, !tbaa !5
  %4258 = call ptr @s2n_strerror(i32 noundef %4257, ptr noundef nonnull @.str.4) #12
  %4259 = load i32, ptr %585, align 4, !tbaa !5
  %4260 = call ptr @s2n_strerror_debug(i32 noundef %4259, ptr noundef nonnull @.str.4) #12
  %4261 = load i32, ptr %639, align 4, !tbaa !5
  %4262 = call ptr @strerror(i32 noundef %4261) #12
  %4263 = load i32, ptr %639, align 4, !tbaa !5
  %4264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4255, ptr noundef nonnull %.str.5.sink3095, i32 noundef %4256, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 362, ptr noundef %4258, ptr noundef %4260, ptr noundef %4262, i32 noundef %4263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4265:                                             ; preds = %4239
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %4266 = load i32, ptr @test_count, align 4, !tbaa !5
  %4267 = add nsw i32 %4266, 1
  store i32 %4267, ptr @test_count, align 4, !tbaa !5
  %4268 = load i32, ptr %52, align 4, !tbaa !5
  %4269 = icmp eq i32 %4268, 4
  br i1 %4269, label %4292, label %4270

4270:                                             ; preds = %4265
  %4271 = load i32, ptr %639, align 4, !tbaa !5
  %4272 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4273 = call i32 @s2n_print_stacktrace(ptr noundef %4272) #12
  %4274 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4275 = trunc nuw i8 %4274 to i1
  br i1 %4275, label %4276, label %4280

4276:                                             ; preds = %4270
  %4277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4278 = call i32 @fileno(ptr noundef %4277) #12
  %4279 = call i32 @isatty(i32 noundef %4278) #12
  %.not1256 = icmp eq i32 %4279, 0
  br i1 %.not1256, label %4280, label %4281

4280:                                             ; preds = %4276, %4270
  br label %4281

4281:                                             ; preds = %4276, %4280
  %.str.5.sink3104 = phi ptr [ @.str.5, %4280 ], [ @.str.2, %4276 ]
  store i32 %4271, ptr %639, align 4, !tbaa !5
  %4282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4283 = load i32, ptr @test_count, align 4, !tbaa !5
  %4284 = load i32, ptr %585, align 4, !tbaa !5
  %4285 = call ptr @s2n_strerror(i32 noundef %4284, ptr noundef nonnull @.str.4) #12
  %4286 = load i32, ptr %585, align 4, !tbaa !5
  %4287 = call ptr @s2n_strerror_debug(i32 noundef %4286, ptr noundef nonnull @.str.4) #12
  %4288 = load i32, ptr %639, align 4, !tbaa !5
  %4289 = call ptr @strerror(i32 noundef %4288) #12
  %4290 = load i32, ptr %639, align 4, !tbaa !5
  %4291 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4282, ptr noundef nonnull %.str.5.sink3104, i32 noundef %4283, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %4285, ptr noundef %4287, ptr noundef %4289, i32 noundef %4290) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4292:                                             ; preds = %4265
  %4293 = add nsw i32 %4266, 2
  store i32 %4293, ptr @test_count, align 4, !tbaa !5
  %4294 = load ptr, ptr %49, align 8, !tbaa !9
  %4295 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4294) #12
  %4296 = icmp eq i32 %4295, 19
  br i1 %4296, label %4319, label %4297

4297:                                             ; preds = %4292
  %4298 = load i32, ptr %639, align 4, !tbaa !5
  %4299 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4300 = call i32 @s2n_print_stacktrace(ptr noundef %4299) #12
  %4301 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4302 = trunc nuw i8 %4301 to i1
  br i1 %4302, label %4303, label %4307

4303:                                             ; preds = %4297
  %4304 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4305 = call i32 @fileno(ptr noundef %4304) #12
  %4306 = call i32 @isatty(i32 noundef %4305) #12
  %.not1257 = icmp eq i32 %4306, 0
  br i1 %.not1257, label %4307, label %4308

4307:                                             ; preds = %4303, %4297
  br label %4308

4308:                                             ; preds = %4303, %4307
  %.str.5.sink3113 = phi ptr [ @.str.5, %4307 ], [ @.str.2, %4303 ]
  store i32 %4298, ptr %639, align 4, !tbaa !5
  %4309 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4310 = load i32, ptr @test_count, align 4, !tbaa !5
  %4311 = load i32, ptr %585, align 4, !tbaa !5
  %4312 = call ptr @s2n_strerror(i32 noundef %4311, ptr noundef nonnull @.str.4) #12
  %4313 = load i32, ptr %585, align 4, !tbaa !5
  %4314 = call ptr @s2n_strerror_debug(i32 noundef %4313, ptr noundef nonnull @.str.4) #12
  %4315 = load i32, ptr %639, align 4, !tbaa !5
  %4316 = call ptr @strerror(i32 noundef %4315) #12
  %4317 = load i32, ptr %639, align 4, !tbaa !5
  %4318 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4309, ptr noundef nonnull %.str.5.sink3113, i32 noundef %4310, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 363, ptr noundef %4312, ptr noundef %4314, ptr noundef %4316, i32 noundef %4317) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4319:                                             ; preds = %4292
  %4320 = load i32, ptr @test_count, align 4, !tbaa !5
  %4321 = add nsw i32 %4320, 1
  store i32 %4321, ptr @test_count, align 4, !tbaa !5
  %4322 = load i64, ptr %53, align 8, !tbaa !42
  %4323 = icmp eq i64 %4322, 0
  br i1 %4323, label %4346, label %4324

4324:                                             ; preds = %4319
  %4325 = load i32, ptr %639, align 4, !tbaa !5
  %4326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4327 = call i32 @s2n_print_stacktrace(ptr noundef %4326) #12
  %4328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4329 = trunc nuw i8 %4328 to i1
  br i1 %4329, label %4330, label %4334

4330:                                             ; preds = %4324
  %4331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4332 = call i32 @fileno(ptr noundef %4331) #12
  %4333 = call i32 @isatty(i32 noundef %4332) #12
  %.not1258 = icmp eq i32 %4333, 0
  br i1 %.not1258, label %4334, label %4335

4334:                                             ; preds = %4330, %4324
  br label %4335

4335:                                             ; preds = %4330, %4334
  %.str.5.sink3122 = phi ptr [ @.str.5, %4334 ], [ @.str.2, %4330 ]
  store i32 %4325, ptr %639, align 4, !tbaa !5
  %4336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4337 = load i32, ptr @test_count, align 4, !tbaa !5
  %4338 = load i32, ptr %585, align 4, !tbaa !5
  %4339 = call ptr @s2n_strerror(i32 noundef %4338, ptr noundef nonnull @.str.4) #12
  %4340 = load i32, ptr %585, align 4, !tbaa !5
  %4341 = call ptr @s2n_strerror_debug(i32 noundef %4340, ptr noundef nonnull @.str.4) #12
  %4342 = load i32, ptr %639, align 4, !tbaa !5
  %4343 = call ptr @strerror(i32 noundef %4342) #12
  %4344 = load i32, ptr %639, align 4, !tbaa !5
  %4345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4336, ptr noundef nonnull %.str.5.sink3122, i32 noundef %4337, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 364, ptr noundef %4339, ptr noundef %4341, ptr noundef %4343, i32 noundef %4344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4346:                                             ; preds = %4319
  %4347 = add nsw i32 %4320, 2
  store i32 %4347, ptr @test_count, align 4, !tbaa !5
  %4348 = load ptr, ptr %49, align 8, !tbaa !9
  %4349 = call i32 @s2n_recv_early_data(ptr noundef %4348, ptr noundef nonnull %51, i64 noundef 1, ptr noundef nonnull %53, ptr noundef nonnull %52) #12
  %4350 = icmp eq i32 %4349, -1
  br i1 %4350, label %4373, label %4351

4351:                                             ; preds = %4346
  %4352 = load i32, ptr %639, 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
  %.not1259 = icmp eq i32 %4360, 0
  br i1 %.not1259, label %4361, label %4362

4361:                                             ; preds = %4357, %4351
  br label %4362

4362:                                             ; preds = %4357, %4361
  %.str.5.sink3131 = phi ptr [ @.str.5, %4361 ], [ @.str.2, %4357 ]
  store i32 %4352, ptr %639, 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 %585, align 4, !tbaa !5
  %4366 = call ptr @s2n_strerror(i32 noundef %4365, ptr noundef nonnull @.str.4) #12
  %4367 = load i32, ptr %585, align 4, !tbaa !5
  %4368 = call ptr @s2n_strerror_debug(i32 noundef %4367, ptr noundef nonnull @.str.4) #12
  %4369 = load i32, ptr %639, align 4, !tbaa !5
  %4370 = call ptr @strerror(i32 noundef %4369) #12
  %4371 = load i32, ptr %639, align 4, !tbaa !5
  %4372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4363, ptr noundef nonnull %.str.5.sink3131, i32 noundef %4364, ptr noundef nonnull @.str.77, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %4366, ptr noundef %4368, ptr noundef %4370, i32 noundef %4371) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4373:                                             ; preds = %4346
  %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 i32, ptr %585, align 4, !tbaa !5
  %4377 = icmp eq i32 %4376, 201326594
  br i1 %4377, label %4400, label %4378

4378:                                             ; preds = %4373
  %4379 = load i32, ptr %639, 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
  %.not1260 = icmp eq i32 %4387, 0
  br i1 %.not1260, label %4388, label %4389

4388:                                             ; preds = %4384, %4378
  br label %4389

4389:                                             ; preds = %4384, %4388
  %.str.5.sink3140 = phi ptr [ @.str.5, %4388 ], [ @.str.2, %4384 ]
  store i32 %4379, ptr %639, 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 %585, align 4, !tbaa !5
  %4393 = call ptr @s2n_strerror(i32 noundef %4392, ptr noundef nonnull @.str.4) #12
  %4394 = load i32, ptr %585, align 4, !tbaa !5
  %4395 = call ptr @s2n_strerror_debug(i32 noundef %4394, ptr noundef nonnull @.str.4) #12
  %4396 = load i32, ptr %639, align 4, !tbaa !5
  %4397 = call ptr @strerror(i32 noundef %4396) #12
  %4398 = load i32, ptr %639, align 4, !tbaa !5
  %4399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4390, ptr noundef nonnull %.str.5.sink3140, i32 noundef %4391, ptr noundef nonnull @.str.75, ptr noundef nonnull @.str.1, i32 noundef 366, 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 ptr @s2n_strerror_debug(i32 noundef 201326594, ptr noundef nonnull @.str.4) #12
  %4403 = icmp eq ptr %4402, null
  br i1 %4403, label %4404, label %4426

4404:                                             ; preds = %4400
  %4405 = load i32, ptr %639, 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
  %.not1611 = icmp eq i32 %4413, 0
  br i1 %.not1611, label %4414, label %4415

4414:                                             ; preds = %4410, %4404
  br label %4415

4415:                                             ; preds = %4410, %4414
  %.str.5.sink3149 = phi ptr [ @.str.5, %4414 ], [ @.str.2, %4410 ]
  store i32 %4405, ptr %639, 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 %585, align 4, !tbaa !5
  %4419 = call ptr @s2n_strerror(i32 noundef %4418, ptr noundef nonnull @.str.4) #12
  %4420 = load i32, ptr %585, align 4, !tbaa !5
  %4421 = call ptr @s2n_strerror_debug(i32 noundef %4420, ptr noundef nonnull @.str.4) #12
  %4422 = load i32, ptr %639, align 4, !tbaa !5
  %4423 = call ptr @strerror(i32 noundef %4422) #12
  %4424 = load i32, ptr %639, align 4, !tbaa !5
  %4425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4416, ptr noundef nonnull %.str.5.sink3149, i32 noundef %4417, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 366, ptr noundef %4419, ptr noundef %4421, ptr noundef %4423, i32 noundef %4424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4426:                                             ; preds = %4400
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %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 = load i32, ptr %52, align 4, !tbaa !5
  %4430 = icmp eq i32 %4429, 4
  br i1 %4430, label %4453, label %4431

4431:                                             ; preds = %4426
  %4432 = load i32, ptr %639, 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
  %.not1261 = icmp eq i32 %4440, 0
  br i1 %.not1261, label %4441, label %4442

4441:                                             ; preds = %4437, %4431
  br label %4442

4442:                                             ; preds = %4437, %4441
  %.str.5.sink3158 = phi ptr [ @.str.5, %4441 ], [ @.str.2, %4437 ]
  store i32 %4432, ptr %639, 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 %585, align 4, !tbaa !5
  %4446 = call ptr @s2n_strerror(i32 noundef %4445, ptr noundef nonnull @.str.4) #12
  %4447 = load i32, ptr %585, align 4, !tbaa !5
  %4448 = call ptr @s2n_strerror_debug(i32 noundef %4447, ptr noundef nonnull @.str.4) #12
  %4449 = load i32, ptr %639, align 4, !tbaa !5
  %4450 = call ptr @strerror(i32 noundef %4449) #12
  %4451 = load i32, ptr %639, align 4, !tbaa !5
  %4452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4443, ptr noundef nonnull %.str.5.sink3158, i32 noundef %4444, ptr noundef nonnull @.str.76, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %4446, ptr noundef %4448, ptr noundef %4450, i32 noundef %4451) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4453:                                             ; preds = %4426
  %4454 = add nsw i32 %4427, 2
  store i32 %4454, ptr @test_count, align 4, !tbaa !5
  %4455 = load ptr, ptr %49, align 8, !tbaa !9
  %4456 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4455) #12
  %4457 = icmp eq i32 %4456, 19
  br i1 %4457, label %4480, label %4458

4458:                                             ; preds = %4453
  %4459 = load i32, ptr %639, align 4, !tbaa !5
  %4460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4461 = call i32 @s2n_print_stacktrace(ptr noundef %4460) #12
  %4462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4463 = trunc nuw i8 %4462 to i1
  br i1 %4463, label %4464, label %4468

4464:                                             ; preds = %4458
  %4465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4466 = call i32 @fileno(ptr noundef %4465) #12
  %4467 = call i32 @isatty(i32 noundef %4466) #12
  %.not1262 = icmp eq i32 %4467, 0
  br i1 %.not1262, label %4468, label %4469

4468:                                             ; preds = %4464, %4458
  br label %4469

4469:                                             ; preds = %4464, %4468
  %.str.5.sink3167 = phi ptr [ @.str.5, %4468 ], [ @.str.2, %4464 ]
  store i32 %4459, ptr %639, align 4, !tbaa !5
  %4470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4471 = load i32, ptr @test_count, align 4, !tbaa !5
  %4472 = load i32, ptr %585, align 4, !tbaa !5
  %4473 = call ptr @s2n_strerror(i32 noundef %4472, ptr noundef nonnull @.str.4) #12
  %4474 = load i32, ptr %585, align 4, !tbaa !5
  %4475 = call ptr @s2n_strerror_debug(i32 noundef %4474, ptr noundef nonnull @.str.4) #12
  %4476 = load i32, ptr %639, align 4, !tbaa !5
  %4477 = call ptr @strerror(i32 noundef %4476) #12
  %4478 = load i32, ptr %639, align 4, !tbaa !5
  %4479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4470, ptr noundef nonnull %.str.5.sink3167, i32 noundef %4471, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 367, ptr noundef %4473, ptr noundef %4475, ptr noundef %4477, i32 noundef %4478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4480:                                             ; preds = %4453
  %4481 = load i32, ptr @test_count, align 4, !tbaa !5
  %4482 = add nsw i32 %4481, 1
  store i32 %4482, ptr @test_count, align 4, !tbaa !5
  %4483 = load i64, ptr %53, align 8, !tbaa !42
  %4484 = icmp eq i64 %4483, 1
  br i1 %4484, label %4507, label %4485

4485:                                             ; preds = %4480
  %4486 = load i32, ptr %639, align 4, !tbaa !5
  %4487 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4488 = call i32 @s2n_print_stacktrace(ptr noundef %4487) #12
  %4489 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4490 = trunc nuw i8 %4489 to i1
  br i1 %4490, label %4491, label %4495

4491:                                             ; preds = %4485
  %4492 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4493 = call i32 @fileno(ptr noundef %4492) #12
  %4494 = call i32 @isatty(i32 noundef %4493) #12
  %.not1263 = icmp eq i32 %4494, 0
  br i1 %.not1263, label %4495, label %4496

4495:                                             ; preds = %4491, %4485
  br label %4496

4496:                                             ; preds = %4491, %4495
  %.str.5.sink3176 = phi ptr [ @.str.5, %4495 ], [ @.str.2, %4491 ]
  store i32 %4486, ptr %639, align 4, !tbaa !5
  %4497 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4498 = load i32, ptr @test_count, align 4, !tbaa !5
  %4499 = load i32, ptr %585, align 4, !tbaa !5
  %4500 = call ptr @s2n_strerror(i32 noundef %4499, ptr noundef nonnull @.str.4) #12
  %4501 = load i32, ptr %585, align 4, !tbaa !5
  %4502 = call ptr @s2n_strerror_debug(i32 noundef %4501, ptr noundef nonnull @.str.4) #12
  %4503 = load i32, ptr %639, align 4, !tbaa !5
  %4504 = call ptr @strerror(i32 noundef %4503) #12
  %4505 = load i32, ptr %639, align 4, !tbaa !5
  %4506 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4497, ptr noundef nonnull %.str.5.sink3176, i32 noundef %4498, ptr noundef nonnull @.str.78, ptr noundef nonnull @.str.1, i32 noundef 368, ptr noundef %4500, ptr noundef %4502, ptr noundef %4504, i32 noundef %4505) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4507:                                             ; preds = %4480
  %4508 = add nsw i32 %4481, 2
  store i32 %4508, ptr @test_count, align 4, !tbaa !5
  %lhsc = load i8, ptr %51, align 16
  %rhsc = load i8, ptr %3, align 1
  %4509 = icmp eq i8 %lhsc, %rhsc
  br i1 %4509, label %4532, label %4510

4510:                                             ; preds = %4507
  %4511 = load i32, ptr %639, align 4, !tbaa !5
  %4512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4513 = call i32 @s2n_print_stacktrace(ptr noundef %4512) #12
  %4514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4515 = trunc nuw i8 %4514 to i1
  br i1 %4515, label %4516, label %4520

4516:                                             ; preds = %4510
  %4517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4518 = call i32 @fileno(ptr noundef %4517) #12
  %4519 = call i32 @isatty(i32 noundef %4518) #12
  %.not1264 = icmp eq i32 %4519, 0
  br i1 %.not1264, label %4520, label %4521

4520:                                             ; preds = %4516, %4510
  br label %4521

4521:                                             ; preds = %4516, %4520
  %.str.5.sink3185 = phi ptr [ @.str.5, %4520 ], [ @.str.2, %4516 ]
  store i32 %4511, ptr %639, align 4, !tbaa !5
  %4522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4523 = load i32, ptr @test_count, align 4, !tbaa !5
  %4524 = load i32, ptr %585, align 4, !tbaa !5
  %4525 = call ptr @s2n_strerror(i32 noundef %4524, ptr noundef nonnull @.str.4) #12
  %4526 = load i32, ptr %585, align 4, !tbaa !5
  %4527 = call ptr @s2n_strerror_debug(i32 noundef %4526, ptr noundef nonnull @.str.4) #12
  %4528 = load i32, ptr %639, align 4, !tbaa !5
  %4529 = call ptr @strerror(i32 noundef %4528) #12
  %4530 = load i32, ptr %639, align 4, !tbaa !5
  %4531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4522, ptr noundef nonnull %.str.5.sink3185, i32 noundef %4523, ptr noundef nonnull @.str.79, ptr noundef nonnull @.str.1, i32 noundef 369, ptr noundef %4525, ptr noundef %4527, ptr noundef %4529, i32 noundef %4530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4532:                                             ; preds = %4507
  %4533 = add nsw i32 %4481, 3
  store i32 %4533, ptr @test_count, align 4, !tbaa !5
  %4534 = load ptr, ptr %49, align 8, !tbaa !9
  %4535 = load ptr, ptr %48, align 8, !tbaa !9
  %4536 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4534, ptr noundef %4535) #12
  %4537 = icmp eq i32 %4536, -1
  br i1 %4537, label %4560, label %4538

4538:                                             ; preds = %4532
  %4539 = load i32, ptr %639, align 4, !tbaa !5
  %4540 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4541 = call i32 @s2n_print_stacktrace(ptr noundef %4540) #12
  %4542 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4543 = trunc nuw i8 %4542 to i1
  br i1 %4543, label %4544, label %4548

4544:                                             ; preds = %4538
  %4545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4546 = call i32 @fileno(ptr noundef %4545) #12
  %4547 = call i32 @isatty(i32 noundef %4546) #12
  %.not1265 = icmp eq i32 %4547, 0
  br i1 %.not1265, label %4548, label %4549

4548:                                             ; preds = %4544, %4538
  br label %4549

4549:                                             ; preds = %4544, %4548
  %.str.5.sink3194 = phi ptr [ @.str.5, %4548 ], [ @.str.2, %4544 ]
  store i32 %4539, ptr %639, align 4, !tbaa !5
  %4550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4551 = load i32, ptr @test_count, align 4, !tbaa !5
  %4552 = load i32, ptr %585, align 4, !tbaa !5
  %4553 = call ptr @s2n_strerror(i32 noundef %4552, ptr noundef nonnull @.str.4) #12
  %4554 = load i32, ptr %585, align 4, !tbaa !5
  %4555 = call ptr @s2n_strerror_debug(i32 noundef %4554, ptr noundef nonnull @.str.4) #12
  %4556 = load i32, ptr %639, align 4, !tbaa !5
  %4557 = call ptr @strerror(i32 noundef %4556) #12
  %4558 = load i32, ptr %639, align 4, !tbaa !5
  %4559 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4550, ptr noundef nonnull %.str.5.sink3194, i32 noundef %4551, ptr noundef nonnull @.str.80, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4553, ptr noundef %4555, ptr noundef %4557, i32 noundef %4558) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4560:                                             ; preds = %4532
  %4561 = load i32, ptr @test_count, align 4, !tbaa !5
  %4562 = add nsw i32 %4561, 1
  store i32 %4562, ptr @test_count, align 4, !tbaa !5
  %4563 = load i32, ptr %585, align 4, !tbaa !5
  %4564 = icmp eq i32 %4563, 335544322
  br i1 %4564, label %4587, label %4565

4565:                                             ; preds = %4560
  %4566 = load i32, ptr %639, align 4, !tbaa !5
  %4567 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4568 = call i32 @s2n_print_stacktrace(ptr noundef %4567) #12
  %4569 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4570 = trunc nuw i8 %4569 to i1
  br i1 %4570, label %4571, label %4575

4571:                                             ; preds = %4565
  %4572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4573 = call i32 @fileno(ptr noundef %4572) #12
  %4574 = call i32 @isatty(i32 noundef %4573) #12
  %.not1266 = icmp eq i32 %4574, 0
  br i1 %.not1266, label %4575, label %4576

4575:                                             ; preds = %4571, %4565
  br label %4576

4576:                                             ; preds = %4571, %4575
  %.str.5.sink3203 = phi ptr [ @.str.5, %4575 ], [ @.str.2, %4571 ]
  store i32 %4566, ptr %639, align 4, !tbaa !5
  %4577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4578 = load i32, ptr @test_count, align 4, !tbaa !5
  %4579 = load i32, ptr %585, align 4, !tbaa !5
  %4580 = call ptr @s2n_strerror(i32 noundef %4579, ptr noundef nonnull @.str.4) #12
  %4581 = load i32, ptr %585, align 4, !tbaa !5
  %4582 = call ptr @s2n_strerror_debug(i32 noundef %4581, ptr noundef nonnull @.str.4) #12
  %4583 = load i32, ptr %639, align 4, !tbaa !5
  %4584 = call ptr @strerror(i32 noundef %4583) #12
  %4585 = load i32, ptr %639, align 4, !tbaa !5
  %4586 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4577, ptr noundef nonnull %.str.5.sink3203, i32 noundef %4578, ptr noundef nonnull @.str.39, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4580, ptr noundef %4582, ptr noundef %4584, i32 noundef %4585) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4587:                                             ; preds = %4560
  %4588 = add nsw i32 %4561, 2
  store i32 %4588, ptr @test_count, align 4, !tbaa !5
  %4589 = call ptr @s2n_strerror_debug(i32 noundef 335544322, ptr noundef nonnull @.str.4) #12
  %4590 = icmp eq ptr %4589, null
  br i1 %4590, label %4591, label %4613

4591:                                             ; preds = %4587
  %4592 = load i32, ptr %639, align 4, !tbaa !5
  %4593 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4594 = call i32 @s2n_print_stacktrace(ptr noundef %4593) #12
  %4595 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4596 = trunc nuw i8 %4595 to i1
  br i1 %4596, label %4597, label %4601

4597:                                             ; preds = %4591
  %4598 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4599 = call i32 @fileno(ptr noundef %4598) #12
  %4600 = call i32 @isatty(i32 noundef %4599) #12
  %.not1610 = icmp eq i32 %4600, 0
  br i1 %.not1610, label %4601, label %4602

4601:                                             ; preds = %4597, %4591
  br label %4602

4602:                                             ; preds = %4597, %4601
  %.str.5.sink3212 = phi ptr [ @.str.5, %4601 ], [ @.str.2, %4597 ]
  store i32 %4592, ptr %639, align 4, !tbaa !5
  %4603 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4604 = load i32, ptr @test_count, align 4, !tbaa !5
  %4605 = load i32, ptr %585, align 4, !tbaa !5
  %4606 = call ptr @s2n_strerror(i32 noundef %4605, ptr noundef nonnull @.str.4) #12
  %4607 = load i32, ptr %585, align 4, !tbaa !5
  %4608 = call ptr @s2n_strerror_debug(i32 noundef %4607, ptr noundef nonnull @.str.4) #12
  %4609 = load i32, ptr %639, align 4, !tbaa !5
  %4610 = call ptr @strerror(i32 noundef %4609) #12
  %4611 = load i32, ptr %639, align 4, !tbaa !5
  %4612 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4603, ptr noundef nonnull %.str.5.sink3212, i32 noundef %4604, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 376, ptr noundef %4606, ptr noundef %4608, ptr noundef %4610, i32 noundef %4611) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4613:                                             ; preds = %4587
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %4614 = load ptr, ptr %49, align 8, !tbaa !9
  %4615 = getelementptr inbounds i8, ptr %4614, i64 2268
  call void @s2n_atomic_flag_clear(ptr noundef nonnull %4615) #12
  %4616 = load ptr, ptr %48, align 8, !tbaa !9
  %4617 = getelementptr inbounds i8, ptr %4616, i64 2268
  call void @s2n_atomic_flag_clear(ptr noundef nonnull %4617) #12
  %4618 = load i32, ptr @test_count, align 4, !tbaa !5
  %4619 = add nsw i32 %4618, 1
  store i32 %4619, ptr @test_count, align 4, !tbaa !5
  %4620 = load ptr, ptr %49, align 8, !tbaa !9
  %4621 = call i32 @s2n_recv_early_data(ptr noundef %4620, ptr noundef nonnull %51, i64 noundef 100, ptr noundef nonnull %53, ptr noundef nonnull %52) #12
  %4622 = icmp eq i32 %4621, -1
  br i1 %4622, label %4623, label %4645

4623:                                             ; preds = %4613
  %4624 = load i32, ptr %639, align 4, !tbaa !5
  %4625 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4626 = call i32 @s2n_print_stacktrace(ptr noundef %4625) #12
  %4627 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4628 = trunc nuw i8 %4627 to i1
  br i1 %4628, label %4629, label %4633

4629:                                             ; preds = %4623
  %4630 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4631 = call i32 @fileno(ptr noundef %4630) #12
  %4632 = call i32 @isatty(i32 noundef %4631) #12
  %.not1609 = icmp eq i32 %4632, 0
  br i1 %.not1609, label %4633, label %4634

4633:                                             ; preds = %4629, %4623
  br label %4634

4634:                                             ; preds = %4629, %4633
  %.str.5.sink3221 = phi ptr [ @.str.5, %4633 ], [ @.str.2, %4629 ]
  store i32 %4624, ptr %639, align 4, !tbaa !5
  %4635 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4636 = load i32, ptr @test_count, align 4, !tbaa !5
  %4637 = load i32, ptr %585, align 4, !tbaa !5
  %4638 = call ptr @s2n_strerror(i32 noundef %4637, ptr noundef nonnull @.str.4) #12
  %4639 = load i32, ptr %585, align 4, !tbaa !5
  %4640 = call ptr @s2n_strerror_debug(i32 noundef %4639, ptr noundef nonnull @.str.4) #12
  %4641 = load i32, ptr %639, align 4, !tbaa !5
  %4642 = call ptr @strerror(i32 noundef %4641) #12
  %4643 = load i32, ptr %639, align 4, !tbaa !5
  %4644 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4635, ptr noundef nonnull %.str.5.sink3221, i32 noundef %4636, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 385, ptr noundef %4638, ptr noundef %4640, ptr noundef %4642, i32 noundef %4643) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4645:                                             ; preds = %4613
  %4646 = load i32, ptr @test_count, align 4, !tbaa !5
  %4647 = add nsw i32 %4646, 1
  store i32 %4647, ptr @test_count, align 4, !tbaa !5
  %4648 = load i32, ptr %52, align 4, !tbaa !5
  %4649 = icmp eq i32 %4648, 0
  br i1 %4649, label %4672, label %4650

4650:                                             ; preds = %4645
  %4651 = load i32, ptr %639, align 4, !tbaa !5
  %4652 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4653 = call i32 @s2n_print_stacktrace(ptr noundef %4652) #12
  %4654 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4655 = trunc nuw i8 %4654 to i1
  br i1 %4655, label %4656, label %4660

4656:                                             ; preds = %4650
  %4657 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4658 = call i32 @fileno(ptr noundef %4657) #12
  %4659 = call i32 @isatty(i32 noundef %4658) #12
  %.not1267 = icmp eq i32 %4659, 0
  br i1 %.not1267, label %4660, label %4661

4660:                                             ; preds = %4656, %4650
  br label %4661

4661:                                             ; preds = %4656, %4660
  %.str.5.sink3230 = phi ptr [ @.str.5, %4660 ], [ @.str.2, %4656 ]
  store i32 %4651, ptr %639, align 4, !tbaa !5
  %4662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4663 = load i32, ptr @test_count, align 4, !tbaa !5
  %4664 = load i32, ptr %585, align 4, !tbaa !5
  %4665 = call ptr @s2n_strerror(i32 noundef %4664, ptr noundef nonnull @.str.4) #12
  %4666 = load i32, ptr %585, align 4, !tbaa !5
  %4667 = call ptr @s2n_strerror_debug(i32 noundef %4666, ptr noundef nonnull @.str.4) #12
  %4668 = load i32, ptr %639, align 4, !tbaa !5
  %4669 = call ptr @strerror(i32 noundef %4668) #12
  %4670 = load i32, ptr %639, align 4, !tbaa !5
  %4671 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4662, ptr noundef nonnull %.str.5.sink3230, i32 noundef %4663, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %4665, ptr noundef %4667, ptr noundef %4669, i32 noundef %4670) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4672:                                             ; preds = %4645
  %4673 = add nsw i32 %4646, 2
  store i32 %4673, ptr @test_count, align 4, !tbaa !5
  %4674 = load ptr, ptr %49, align 8, !tbaa !9
  %4675 = call i32 @s2n_conn_get_current_message_type(ptr noundef %4674) #12
  %4676 = icmp eq i32 %4675, 20
  br i1 %4676, label %4699, label %4677

4677:                                             ; preds = %4672
  %4678 = load i32, ptr %639, align 4, !tbaa !5
  %4679 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4680 = call i32 @s2n_print_stacktrace(ptr noundef %4679) #12
  %4681 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4682 = trunc nuw i8 %4681 to i1
  br i1 %4682, label %4683, label %4687

4683:                                             ; preds = %4677
  %4684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4685 = call i32 @fileno(ptr noundef %4684) #12
  %4686 = call i32 @isatty(i32 noundef %4685) #12
  %.not1268 = icmp eq i32 %4686, 0
  br i1 %.not1268, label %4687, label %4688

4687:                                             ; preds = %4683, %4677
  br label %4688

4688:                                             ; preds = %4683, %4687
  %.str.5.sink3239 = phi ptr [ @.str.5, %4687 ], [ @.str.2, %4683 ]
  store i32 %4678, ptr %639, align 4, !tbaa !5
  %4689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4690 = load i32, ptr @test_count, align 4, !tbaa !5
  %4691 = load i32, ptr %585, align 4, !tbaa !5
  %4692 = call ptr @s2n_strerror(i32 noundef %4691, ptr noundef nonnull @.str.4) #12
  %4693 = load i32, ptr %585, align 4, !tbaa !5
  %4694 = call ptr @s2n_strerror_debug(i32 noundef %4693, ptr noundef nonnull @.str.4) #12
  %4695 = load i32, ptr %639, align 4, !tbaa !5
  %4696 = call ptr @strerror(i32 noundef %4695) #12
  %4697 = load i32, ptr %639, align 4, !tbaa !5
  %4698 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4689, ptr noundef nonnull %.str.5.sink3239, i32 noundef %4690, ptr noundef nonnull @.str.83, ptr noundef nonnull @.str.1, i32 noundef 387, ptr noundef %4692, ptr noundef %4694, ptr noundef %4696, i32 noundef %4697) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4699:                                             ; preds = %4672
  %4700 = load i32, ptr @test_count, align 4, !tbaa !5
  %4701 = add nsw i32 %4700, 1
  store i32 %4701, ptr @test_count, align 4, !tbaa !5
  %4702 = load i64, ptr %53, align 8, !tbaa !42
  %4703 = icmp eq i64 %4702, 11
  br i1 %4703, label %4726, label %4704

4704:                                             ; preds = %4699
  %4705 = load i32, ptr %639, align 4, !tbaa !5
  %4706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4707 = call i32 @s2n_print_stacktrace(ptr noundef %4706) #12
  %4708 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4709 = trunc nuw i8 %4708 to i1
  br i1 %4709, label %4710, label %4714

4710:                                             ; preds = %4704
  %4711 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4712 = call i32 @fileno(ptr noundef %4711) #12
  %4713 = call i32 @isatty(i32 noundef %4712) #12
  %.not1269 = icmp eq i32 %4713, 0
  br i1 %.not1269, label %4714, label %4715

4714:                                             ; preds = %4710, %4704
  br label %4715

4715:                                             ; preds = %4710, %4714
  %.str.5.sink3248 = phi ptr [ @.str.5, %4714 ], [ @.str.2, %4710 ]
  store i32 %4705, ptr %639, align 4, !tbaa !5
  %4716 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4717 = load i32, ptr @test_count, align 4, !tbaa !5
  %4718 = load i32, ptr %585, align 4, !tbaa !5
  %4719 = call ptr @s2n_strerror(i32 noundef %4718, ptr noundef nonnull @.str.4) #12
  %4720 = load i32, ptr %585, align 4, !tbaa !5
  %4721 = call ptr @s2n_strerror_debug(i32 noundef %4720, ptr noundef nonnull @.str.4) #12
  %4722 = load i32, ptr %639, align 4, !tbaa !5
  %4723 = call ptr @strerror(i32 noundef %4722) #12
  %4724 = load i32, ptr %639, align 4, !tbaa !5
  %4725 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4716, ptr noundef nonnull %.str.5.sink3248, i32 noundef %4717, ptr noundef nonnull @.str.84, ptr noundef nonnull @.str.1, i32 noundef 388, ptr noundef %4719, ptr noundef %4721, ptr noundef %4723, i32 noundef %4724) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4726:                                             ; preds = %4699
  %4727 = add nsw i32 %4700, 2
  store i32 %4727, ptr @test_count, align 4, !tbaa !5
  %4728 = getelementptr inbounds i8, ptr %3, i64 1
  %bcmp1270 = call i32 @bcmp(ptr noundef nonnull dereferenceable(11) %51, ptr noundef nonnull dereferenceable(11) %4728, i64 11)
  %4729 = icmp eq i32 %bcmp1270, 0
  br i1 %4729, label %4752, label %4730

4730:                                             ; preds = %4726
  %4731 = load i32, ptr %639, align 4, !tbaa !5
  %4732 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4733 = call i32 @s2n_print_stacktrace(ptr noundef %4732) #12
  %4734 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4735 = trunc nuw i8 %4734 to i1
  br i1 %4735, label %4736, label %4740

4736:                                             ; preds = %4730
  %4737 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4738 = call i32 @fileno(ptr noundef %4737) #12
  %4739 = call i32 @isatty(i32 noundef %4738) #12
  %.not1271 = icmp eq i32 %4739, 0
  br i1 %.not1271, label %4740, label %4741

4740:                                             ; preds = %4736, %4730
  br label %4741

4741:                                             ; preds = %4736, %4740
  %.str.5.sink3257 = phi ptr [ @.str.5, %4740 ], [ @.str.2, %4736 ]
  store i32 %4731, ptr %639, align 4, !tbaa !5
  %4742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4743 = load i32, ptr @test_count, align 4, !tbaa !5
  %4744 = load i32, ptr %585, align 4, !tbaa !5
  %4745 = call ptr @s2n_strerror(i32 noundef %4744, ptr noundef nonnull @.str.4) #12
  %4746 = load i32, ptr %585, align 4, !tbaa !5
  %4747 = call ptr @s2n_strerror_debug(i32 noundef %4746, ptr noundef nonnull @.str.4) #12
  %4748 = load i32, ptr %639, align 4, !tbaa !5
  %4749 = call ptr @strerror(i32 noundef %4748) #12
  %4750 = load i32, ptr %639, align 4, !tbaa !5
  %4751 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4742, ptr noundef nonnull %.str.5.sink3257, i32 noundef %4743, ptr noundef nonnull @.str.85, ptr noundef nonnull @.str.1, i32 noundef 389, ptr noundef %4745, ptr noundef %4747, ptr noundef %4749, i32 noundef %4750) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4752:                                             ; preds = %4726
  %4753 = add nsw i32 %4700, 3
  store i32 %4753, ptr @test_count, align 4, !tbaa !5
  %4754 = load ptr, ptr %49, align 8, !tbaa !9
  %4755 = load ptr, ptr %48, align 8, !tbaa !9
  %4756 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %4754, ptr noundef %4755) #12
  %4757 = icmp eq i32 %4756, -1
  br i1 %4757, label %4758, label %4780

4758:                                             ; preds = %4752
  %4759 = load i32, ptr %639, align 4, !tbaa !5
  %4760 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4761 = call i32 @s2n_print_stacktrace(ptr noundef %4760) #12
  %4762 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4763 = trunc nuw i8 %4762 to i1
  br i1 %4763, label %4764, label %4768

4764:                                             ; preds = %4758
  %4765 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4766 = call i32 @fileno(ptr noundef %4765) #12
  %4767 = call i32 @isatty(i32 noundef %4766) #12
  %.not1608 = icmp eq i32 %4767, 0
  br i1 %.not1608, label %4768, label %4769

4768:                                             ; preds = %4764, %4758
  br label %4769

4769:                                             ; preds = %4764, %4768
  %.str.5.sink3266 = phi ptr [ @.str.5, %4768 ], [ @.str.2, %4764 ]
  store i32 %4759, ptr %639, align 4, !tbaa !5
  %4770 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4771 = load i32, ptr @test_count, align 4, !tbaa !5
  %4772 = load i32, ptr %585, align 4, !tbaa !5
  %4773 = call ptr @s2n_strerror(i32 noundef %4772, ptr noundef nonnull @.str.4) #12
  %4774 = load i32, ptr %585, align 4, !tbaa !5
  %4775 = call ptr @s2n_strerror_debug(i32 noundef %4774, ptr noundef nonnull @.str.4) #12
  %4776 = load i32, ptr %639, align 4, !tbaa !5
  %4777 = call ptr @strerror(i32 noundef %4776) #12
  %4778 = load i32, ptr %639, align 4, !tbaa !5
  %4779 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4770, ptr noundef nonnull %.str.5.sink3266, i32 noundef %4771, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 391, ptr noundef %4773, ptr noundef %4775, ptr noundef %4777, i32 noundef %4778) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4780:                                             ; preds = %4752
  %4781 = load i32, ptr @test_count, align 4, !tbaa !5
  %4782 = add nsw i32 %4781, 1
  store i32 %4782, ptr @test_count, align 4, !tbaa !5
  %4783 = load ptr, ptr %48, align 8, !tbaa !9
  %4784 = call i32 @s2n_connection_free(ptr noundef %4783) #12
  %4785 = icmp eq i32 %4784, -1
  br i1 %4785, label %4786, label %4808

4786:                                             ; preds = %4780
  %4787 = load i32, ptr %639, align 4, !tbaa !5
  %4788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4789 = call i32 @s2n_print_stacktrace(ptr noundef %4788) #12
  %4790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4791 = trunc nuw i8 %4790 to i1
  br i1 %4791, label %4792, label %4796

4792:                                             ; preds = %4786
  %4793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4794 = call i32 @fileno(ptr noundef %4793) #12
  %4795 = call i32 @isatty(i32 noundef %4794) #12
  %.not1607 = icmp eq i32 %4795, 0
  br i1 %.not1607, label %4796, label %4797

4796:                                             ; preds = %4792, %4786
  br label %4797

4797:                                             ; preds = %4792, %4796
  %.str.5.sink3275 = phi ptr [ @.str.5, %4796 ], [ @.str.2, %4792 ]
  store i32 %4787, ptr %639, align 4, !tbaa !5
  %4798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4799 = load i32, ptr @test_count, align 4, !tbaa !5
  %4800 = load i32, ptr %585, align 4, !tbaa !5
  %4801 = call ptr @s2n_strerror(i32 noundef %4800, ptr noundef nonnull @.str.4) #12
  %4802 = load i32, ptr %585, align 4, !tbaa !5
  %4803 = call ptr @s2n_strerror_debug(i32 noundef %4802, ptr noundef nonnull @.str.4) #12
  %4804 = load i32, ptr %639, align 4, !tbaa !5
  %4805 = call ptr @strerror(i32 noundef %4804) #12
  %4806 = load i32, ptr %639, align 4, !tbaa !5
  %4807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4798, ptr noundef nonnull %.str.5.sink3275, i32 noundef %4799, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 393, ptr noundef %4801, ptr noundef %4803, ptr noundef %4805, i32 noundef %4806) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4808:                                             ; preds = %4780
  %4809 = load i32, ptr @test_count, align 4, !tbaa !5
  %4810 = add nsw i32 %4809, 1
  store i32 %4810, ptr @test_count, align 4, !tbaa !5
  %4811 = load ptr, ptr %49, align 8, !tbaa !9
  %4812 = call i32 @s2n_connection_free(ptr noundef %4811) #12
  %4813 = icmp eq i32 %4812, -1
  br i1 %4813, label %4814, label %4836

4814:                                             ; preds = %4808
  %4815 = load i32, ptr %639, align 4, !tbaa !5
  %4816 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4817 = call i32 @s2n_print_stacktrace(ptr noundef %4816) #12
  %4818 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4819 = trunc nuw i8 %4818 to i1
  br i1 %4819, label %4820, label %4824

4820:                                             ; preds = %4814
  %4821 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4822 = call i32 @fileno(ptr noundef %4821) #12
  %4823 = call i32 @isatty(i32 noundef %4822) #12
  %.not1606 = icmp eq i32 %4823, 0
  br i1 %.not1606, label %4824, label %4825

4824:                                             ; preds = %4820, %4814
  br label %4825

4825:                                             ; preds = %4820, %4824
  %.str.5.sink3284 = phi ptr [ @.str.5, %4824 ], [ @.str.2, %4820 ]
  store i32 %4815, ptr %639, align 4, !tbaa !5
  %4826 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4827 = load i32, ptr @test_count, align 4, !tbaa !5
  %4828 = load i32, ptr %585, align 4, !tbaa !5
  %4829 = call ptr @s2n_strerror(i32 noundef %4828, ptr noundef nonnull @.str.4) #12
  %4830 = load i32, ptr %585, align 4, !tbaa !5
  %4831 = call ptr @s2n_strerror_debug(i32 noundef %4830, ptr noundef nonnull @.str.4) #12
  %4832 = load i32, ptr %639, align 4, !tbaa !5
  %4833 = call ptr @strerror(i32 noundef %4832) #12
  %4834 = load i32, ptr %639, align 4, !tbaa !5
  %4835 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4826, ptr noundef nonnull %.str.5.sink3284, i32 noundef %4827, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 394, ptr noundef %4829, ptr noundef %4831, ptr noundef %4833, i32 noundef %4834) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4836:                                             ; preds = %4808
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %53) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %52) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %51) #12
  %4837 = call i32 @s2n_io_pair_close(ptr noundef nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %50) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %49) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %48) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %54) #12
  store ptr null, ptr %54, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %55) #12
  store ptr null, ptr %55, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %56) #12
  store i64 0, ptr %56, align 8
  %4838 = load i32, ptr @test_count, align 4, !tbaa !5
  %4839 = add nsw i32 %4838, 1
  store i32 %4839, ptr @test_count, align 4, !tbaa !5
  %4840 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %54, ptr noundef nonnull %55, ptr noundef nonnull %56)
  %4841 = call zeroext i1 @s2n_result_is_ok(i32 %4840)
  br i1 %4841, label %4864, label %4842

4842:                                             ; preds = %4836
  %4843 = load i32, ptr %639, align 4, !tbaa !5
  %4844 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4845 = call i32 @s2n_print_stacktrace(ptr noundef %4844) #12
  %4846 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4847 = trunc nuw i8 %4846 to i1
  br i1 %4847, label %4848, label %4852

4848:                                             ; preds = %4842
  %4849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4850 = call i32 @fileno(ptr noundef %4849) #12
  %4851 = call i32 @isatty(i32 noundef %4850) #12
  %.not1272 = icmp eq i32 %4851, 0
  br i1 %.not1272, label %4852, label %4853

4852:                                             ; preds = %4848, %4842
  br label %4853

4853:                                             ; preds = %4848, %4852
  %.str.5.sink3293 = phi ptr [ @.str.5, %4852 ], [ @.str.2, %4848 ]
  store i32 %4843, ptr %639, align 4, !tbaa !5
  %4854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4855 = load i32, ptr @test_count, align 4, !tbaa !5
  %4856 = load i32, ptr %585, align 4, !tbaa !5
  %4857 = call ptr @s2n_strerror(i32 noundef %4856, ptr noundef nonnull @.str.4) #12
  %4858 = load i32, ptr %585, align 4, !tbaa !5
  %4859 = call ptr @s2n_strerror_debug(i32 noundef %4858, ptr noundef nonnull @.str.4) #12
  %4860 = load i32, ptr %639, align 4, !tbaa !5
  %4861 = call ptr @strerror(i32 noundef %4860) #12
  %4862 = load i32, ptr %639, align 4, !tbaa !5
  %4863 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4854, ptr noundef nonnull %.str.5.sink3293, i32 noundef %4855, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 401, ptr noundef %4857, ptr noundef %4859, ptr noundef %4861, i32 noundef %4862) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4864:                                             ; preds = %4836
  %4865 = load i32, ptr @test_count, align 4, !tbaa !5
  %4866 = add nsw i32 %4865, 1
  store i32 %4866, ptr @test_count, align 4, !tbaa !5
  %4867 = load ptr, ptr %54, align 8, !tbaa !9
  %4868 = call i32 @s2n_connection_append_psk(ptr noundef %4867, ptr noundef %289) #12
  %4869 = icmp eq i32 %4868, -1
  br i1 %4869, label %4870, label %4892

4870:                                             ; preds = %4864
  %4871 = load i32, ptr %639, align 4, !tbaa !5
  %4872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4873 = call i32 @s2n_print_stacktrace(ptr noundef %4872) #12
  %4874 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4875 = trunc nuw i8 %4874 to i1
  br i1 %4875, label %4876, label %4880

4876:                                             ; preds = %4870
  %4877 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4878 = call i32 @fileno(ptr noundef %4877) #12
  %4879 = call i32 @isatty(i32 noundef %4878) #12
  %.not1605 = icmp eq i32 %4879, 0
  br i1 %.not1605, label %4880, label %4881

4880:                                             ; preds = %4876, %4870
  br label %4881

4881:                                             ; preds = %4876, %4880
  %.str.5.sink3302 = phi ptr [ @.str.5, %4880 ], [ @.str.2, %4876 ]
  store i32 %4871, ptr %639, align 4, !tbaa !5
  %4882 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4883 = load i32, ptr @test_count, align 4, !tbaa !5
  %4884 = load i32, ptr %585, align 4, !tbaa !5
  %4885 = call ptr @s2n_strerror(i32 noundef %4884, ptr noundef nonnull @.str.4) #12
  %4886 = load i32, ptr %585, align 4, !tbaa !5
  %4887 = call ptr @s2n_strerror_debug(i32 noundef %4886, ptr noundef nonnull @.str.4) #12
  %4888 = load i32, ptr %639, align 4, !tbaa !5
  %4889 = call ptr @strerror(i32 noundef %4888) #12
  %4890 = load i32, ptr %639, align 4, !tbaa !5
  %4891 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4882, ptr noundef nonnull %.str.5.sink3302, i32 noundef %4883, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 403, ptr noundef %4885, ptr noundef %4887, ptr noundef %4889, i32 noundef %4890) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4892:                                             ; preds = %4864
  %4893 = load i32, ptr @test_count, align 4, !tbaa !5
  %4894 = add nsw i32 %4893, 1
  store i32 %4894, ptr @test_count, align 4, !tbaa !5
  %4895 = load ptr, ptr %55, align 8, !tbaa !9
  %4896 = call i32 @s2n_connection_append_psk(ptr noundef %4895, ptr noundef %289) #12
  %4897 = icmp eq i32 %4896, -1
  br i1 %4897, label %4898, label %4920

4898:                                             ; preds = %4892
  %4899 = load i32, ptr %639, align 4, !tbaa !5
  %4900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4901 = call i32 @s2n_print_stacktrace(ptr noundef %4900) #12
  %4902 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4903 = trunc nuw i8 %4902 to i1
  br i1 %4903, label %4904, label %4908

4904:                                             ; preds = %4898
  %4905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4906 = call i32 @fileno(ptr noundef %4905) #12
  %4907 = call i32 @isatty(i32 noundef %4906) #12
  %.not1604 = icmp eq i32 %4907, 0
  br i1 %.not1604, label %4908, label %4909

4908:                                             ; preds = %4904, %4898
  br label %4909

4909:                                             ; preds = %4904, %4908
  %.str.5.sink3311 = phi ptr [ @.str.5, %4908 ], [ @.str.2, %4904 ]
  store i32 %4899, ptr %639, align 4, !tbaa !5
  %4910 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4911 = load i32, ptr @test_count, align 4, !tbaa !5
  %4912 = load i32, ptr %585, align 4, !tbaa !5
  %4913 = call ptr @s2n_strerror(i32 noundef %4912, ptr noundef nonnull @.str.4) #12
  %4914 = load i32, ptr %585, align 4, !tbaa !5
  %4915 = call ptr @s2n_strerror_debug(i32 noundef %4914, ptr noundef nonnull @.str.4) #12
  %4916 = load i32, ptr %639, align 4, !tbaa !5
  %4917 = call ptr @strerror(i32 noundef %4916) #12
  %4918 = load i32, ptr %639, align 4, !tbaa !5
  %4919 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4910, ptr noundef nonnull %.str.5.sink3311, i32 noundef %4911, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 404, ptr noundef %4913, ptr noundef %4915, ptr noundef %4917, i32 noundef %4918) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4920:                                             ; preds = %4892
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %57) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %57, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %58) #12
  store i32 0, ptr %58, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %59) #12
  store i64 0, ptr %59, align 8, !tbaa !42
  %4921 = load i32, ptr @test_count, align 4, !tbaa !5
  %4922 = add nsw i32 %4921, 1
  store i32 %4922, ptr @test_count, align 4, !tbaa !5
  %4923 = load ptr, ptr %54, align 8, !tbaa !9
  %4924 = call i32 @s2n_send_early_data(ptr noundef %4923, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %59, ptr noundef nonnull %58) #12
  %4925 = icmp eq i32 %4924, -1
  br i1 %4925, label %4948, label %4926

4926:                                             ; preds = %4920
  %4927 = load i32, ptr %639, align 4, !tbaa !5
  %4928 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4929 = call i32 @s2n_print_stacktrace(ptr noundef %4928) #12
  %4930 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4931 = trunc nuw i8 %4930 to i1
  br i1 %4931, label %4932, label %4936

4932:                                             ; preds = %4926
  %4933 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4934 = call i32 @fileno(ptr noundef %4933) #12
  %4935 = call i32 @isatty(i32 noundef %4934) #12
  %.not1273 = icmp eq i32 %4935, 0
  br i1 %.not1273, label %4936, label %4937

4936:                                             ; preds = %4932, %4926
  br label %4937

4937:                                             ; preds = %4932, %4936
  %.str.5.sink3320 = phi ptr [ @.str.5, %4936 ], [ @.str.2, %4932 ]
  store i32 %4927, ptr %639, align 4, !tbaa !5
  %4938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4939 = load i32, ptr @test_count, align 4, !tbaa !5
  %4940 = load i32, ptr %585, align 4, !tbaa !5
  %4941 = call ptr @s2n_strerror(i32 noundef %4940, ptr noundef nonnull @.str.4) #12
  %4942 = load i32, ptr %585, align 4, !tbaa !5
  %4943 = call ptr @s2n_strerror_debug(i32 noundef %4942, ptr noundef nonnull @.str.4) #12
  %4944 = load i32, ptr %639, align 4, !tbaa !5
  %4945 = call ptr @strerror(i32 noundef %4944) #12
  %4946 = load i32, ptr %639, align 4, !tbaa !5
  %4947 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4938, ptr noundef nonnull %.str.5.sink3320, i32 noundef %4939, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %4941, ptr noundef %4943, ptr noundef %4945, i32 noundef %4946) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4948:                                             ; preds = %4920
  %4949 = load i32, ptr @test_count, align 4, !tbaa !5
  %4950 = add nsw i32 %4949, 1
  store i32 %4950, ptr @test_count, align 4, !tbaa !5
  %4951 = load i32, ptr %585, align 4, !tbaa !5
  %4952 = icmp eq i32 %4951, 201326592
  br i1 %4952, label %4975, label %4953

4953:                                             ; preds = %4948
  %4954 = load i32, ptr %639, align 4, !tbaa !5
  %4955 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4956 = call i32 @s2n_print_stacktrace(ptr noundef %4955) #12
  %4957 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4958 = trunc nuw i8 %4957 to i1
  br i1 %4958, label %4959, label %4963

4959:                                             ; preds = %4953
  %4960 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4961 = call i32 @fileno(ptr noundef %4960) #12
  %4962 = call i32 @isatty(i32 noundef %4961) #12
  %.not1274 = icmp eq i32 %4962, 0
  br i1 %.not1274, label %4963, label %4964

4963:                                             ; preds = %4959, %4953
  br label %4964

4964:                                             ; preds = %4959, %4963
  %.str.5.sink3329 = phi ptr [ @.str.5, %4963 ], [ @.str.2, %4959 ]
  store i32 %4954, ptr %639, align 4, !tbaa !5
  %4965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4966 = load i32, ptr @test_count, align 4, !tbaa !5
  %4967 = load i32, ptr %585, align 4, !tbaa !5
  %4968 = call ptr @s2n_strerror(i32 noundef %4967, ptr noundef nonnull @.str.4) #12
  %4969 = load i32, ptr %585, align 4, !tbaa !5
  %4970 = call ptr @s2n_strerror_debug(i32 noundef %4969, ptr noundef nonnull @.str.4) #12
  %4971 = load i32, ptr %639, align 4, !tbaa !5
  %4972 = call ptr @strerror(i32 noundef %4971) #12
  %4973 = load i32, ptr %639, align 4, !tbaa !5
  %4974 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4965, ptr noundef nonnull %.str.5.sink3329, i32 noundef %4966, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %4968, ptr noundef %4970, ptr noundef %4972, i32 noundef %4973) #14
  call void @exit(i32 noundef 1) #15
  unreachable

4975:                                             ; preds = %4948
  %4976 = add nsw i32 %4949, 2
  store i32 %4976, ptr @test_count, align 4, !tbaa !5
  %4977 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %4978 = icmp eq ptr %4977, null
  br i1 %4978, label %4979, label %5001

4979:                                             ; preds = %4975
  %4980 = load i32, ptr %639, align 4, !tbaa !5
  %4981 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4982 = call i32 @s2n_print_stacktrace(ptr noundef %4981) #12
  %4983 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %4984 = trunc nuw i8 %4983 to i1
  br i1 %4984, label %4985, label %4989

4985:                                             ; preds = %4979
  %4986 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4987 = call i32 @fileno(ptr noundef %4986) #12
  %4988 = call i32 @isatty(i32 noundef %4987) #12
  %.not1603 = icmp eq i32 %4988, 0
  br i1 %.not1603, label %4989, label %4990

4989:                                             ; preds = %4985, %4979
  br label %4990

4990:                                             ; preds = %4985, %4989
  %.str.5.sink3338 = phi ptr [ @.str.5, %4989 ], [ @.str.2, %4985 ]
  store i32 %4980, ptr %639, align 4, !tbaa !5
  %4991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %4992 = load i32, ptr @test_count, align 4, !tbaa !5
  %4993 = load i32, ptr %585, align 4, !tbaa !5
  %4994 = call ptr @s2n_strerror(i32 noundef %4993, ptr noundef nonnull @.str.4) #12
  %4995 = load i32, ptr %585, align 4, !tbaa !5
  %4996 = call ptr @s2n_strerror_debug(i32 noundef %4995, ptr noundef nonnull @.str.4) #12
  %4997 = load i32, ptr %639, align 4, !tbaa !5
  %4998 = call ptr @strerror(i32 noundef %4997) #12
  %4999 = load i32, ptr %639, align 4, !tbaa !5
  %5000 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %4991, ptr noundef nonnull %.str.5.sink3338, i32 noundef %4992, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 410, ptr noundef %4994, ptr noundef %4996, ptr noundef %4998, i32 noundef %4999) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5001:                                             ; preds = %4975
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5002 = load i32, ptr @test_count, align 4, !tbaa !5
  %5003 = add nsw i32 %5002, 1
  store i32 %5003, ptr @test_count, align 4, !tbaa !5
  %5004 = load i32, ptr %58, align 4, !tbaa !5
  %5005 = icmp eq i32 %5004, 1
  br i1 %5005, label %5028, label %5006

5006:                                             ; preds = %5001
  %5007 = load i32, ptr %639, align 4, !tbaa !5
  %5008 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5009 = call i32 @s2n_print_stacktrace(ptr noundef %5008) #12
  %5010 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5011 = trunc nuw i8 %5010 to i1
  br i1 %5011, label %5012, label %5016

5012:                                             ; preds = %5006
  %5013 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5014 = call i32 @fileno(ptr noundef %5013) #12
  %5015 = call i32 @isatty(i32 noundef %5014) #12
  %.not1275 = icmp eq i32 %5015, 0
  br i1 %.not1275, label %5016, label %5017

5016:                                             ; preds = %5012, %5006
  br label %5017

5017:                                             ; preds = %5012, %5016
  %.str.5.sink3347 = phi ptr [ @.str.5, %5016 ], [ @.str.2, %5012 ]
  store i32 %5007, ptr %639, align 4, !tbaa !5
  %5018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5019 = load i32, ptr @test_count, align 4, !tbaa !5
  %5020 = load i32, ptr %585, align 4, !tbaa !5
  %5021 = call ptr @s2n_strerror(i32 noundef %5020, ptr noundef nonnull @.str.4) #12
  %5022 = load i32, ptr %585, align 4, !tbaa !5
  %5023 = call ptr @s2n_strerror_debug(i32 noundef %5022, ptr noundef nonnull @.str.4) #12
  %5024 = load i32, ptr %639, align 4, !tbaa !5
  %5025 = call ptr @strerror(i32 noundef %5024) #12
  %5026 = load i32, ptr %639, align 4, !tbaa !5
  %5027 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5018, ptr noundef nonnull %.str.5.sink3347, i32 noundef %5019, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %5021, ptr noundef %5023, ptr noundef %5025, i32 noundef %5026) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5028:                                             ; preds = %5001
  %5029 = add nsw i32 %5002, 2
  store i32 %5029, ptr @test_count, align 4, !tbaa !5
  %5030 = load ptr, ptr %54, align 8, !tbaa !9
  %5031 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5030) #12
  %5032 = icmp eq i32 %5031, 1
  br i1 %5032, label %5055, label %5033

5033:                                             ; preds = %5028
  %5034 = load i32, ptr %639, align 4, !tbaa !5
  %5035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5036 = call i32 @s2n_print_stacktrace(ptr noundef %5035) #12
  %5037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5038 = trunc nuw i8 %5037 to i1
  br i1 %5038, label %5039, label %5043

5039:                                             ; preds = %5033
  %5040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5041 = call i32 @fileno(ptr noundef %5040) #12
  %5042 = call i32 @isatty(i32 noundef %5041) #12
  %.not1276 = icmp eq i32 %5042, 0
  br i1 %.not1276, label %5043, label %5044

5043:                                             ; preds = %5039, %5033
  br label %5044

5044:                                             ; preds = %5039, %5043
  %.str.5.sink3356 = phi ptr [ @.str.5, %5043 ], [ @.str.2, %5039 ]
  store i32 %5034, ptr %639, align 4, !tbaa !5
  %5045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5046 = load i32, ptr @test_count, align 4, !tbaa !5
  %5047 = load i32, ptr %585, align 4, !tbaa !5
  %5048 = call ptr @s2n_strerror(i32 noundef %5047, ptr noundef nonnull @.str.4) #12
  %5049 = load i32, ptr %585, align 4, !tbaa !5
  %5050 = call ptr @s2n_strerror_debug(i32 noundef %5049, ptr noundef nonnull @.str.4) #12
  %5051 = load i32, ptr %639, align 4, !tbaa !5
  %5052 = call ptr @strerror(i32 noundef %5051) #12
  %5053 = load i32, ptr %639, align 4, !tbaa !5
  %5054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5045, ptr noundef nonnull %.str.5.sink3356, i32 noundef %5046, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 411, ptr noundef %5048, ptr noundef %5050, ptr noundef %5052, i32 noundef %5053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5055:                                             ; preds = %5028
  %5056 = load i32, ptr @test_count, align 4, !tbaa !5
  %5057 = add nsw i32 %5056, 1
  store i32 %5057, ptr @test_count, align 4, !tbaa !5
  %5058 = load i64, ptr %59, align 8, !tbaa !42
  %5059 = icmp eq i64 %5058, 12
  br i1 %5059, label %5082, label %5060

5060:                                             ; preds = %5055
  %5061 = load i32, ptr %639, align 4, !tbaa !5
  %5062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5063 = call i32 @s2n_print_stacktrace(ptr noundef %5062) #12
  %5064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5065 = trunc nuw i8 %5064 to i1
  br i1 %5065, label %5066, label %5070

5066:                                             ; preds = %5060
  %5067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5068 = call i32 @fileno(ptr noundef %5067) #12
  %5069 = call i32 @isatty(i32 noundef %5068) #12
  %.not1277 = icmp eq i32 %5069, 0
  br i1 %.not1277, label %5070, label %5071

5070:                                             ; preds = %5066, %5060
  br label %5071

5071:                                             ; preds = %5066, %5070
  %.str.5.sink3365 = phi ptr [ @.str.5, %5070 ], [ @.str.2, %5066 ]
  store i32 %5061, ptr %639, align 4, !tbaa !5
  %5072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5073 = load i32, ptr @test_count, align 4, !tbaa !5
  %5074 = load i32, ptr %585, align 4, !tbaa !5
  %5075 = call ptr @s2n_strerror(i32 noundef %5074, ptr noundef nonnull @.str.4) #12
  %5076 = load i32, ptr %585, align 4, !tbaa !5
  %5077 = call ptr @s2n_strerror_debug(i32 noundef %5076, ptr noundef nonnull @.str.4) #12
  %5078 = load i32, ptr %639, align 4, !tbaa !5
  %5079 = call ptr @strerror(i32 noundef %5078) #12
  %5080 = load i32, ptr %639, align 4, !tbaa !5
  %5081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5072, ptr noundef nonnull %.str.5.sink3365, i32 noundef %5073, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 412, ptr noundef %5075, ptr noundef %5077, ptr noundef %5079, i32 noundef %5080) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5082:                                             ; preds = %5055
  %5083 = add nsw i32 %5056, 2
  store i32 %5083, ptr @test_count, align 4, !tbaa !5
  %5084 = load ptr, ptr %55, align 8, !tbaa !9
  %5085 = call i32 @s2n_recv_early_data(ptr noundef %5084, ptr noundef nonnull %57, i64 noundef 100, ptr noundef nonnull %59, ptr noundef nonnull %58) #12
  %5086 = icmp eq i32 %5085, -1
  br i1 %5086, label %5109, label %5087

5087:                                             ; preds = %5082
  %5088 = load i32, ptr %639, align 4, !tbaa !5
  %5089 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5090 = call i32 @s2n_print_stacktrace(ptr noundef %5089) #12
  %5091 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5092 = trunc nuw i8 %5091 to i1
  br i1 %5092, label %5093, label %5097

5093:                                             ; preds = %5087
  %5094 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5095 = call i32 @fileno(ptr noundef %5094) #12
  %5096 = call i32 @isatty(i32 noundef %5095) #12
  %.not1278 = icmp eq i32 %5096, 0
  br i1 %.not1278, label %5097, label %5098

5097:                                             ; preds = %5093, %5087
  br label %5098

5098:                                             ; preds = %5093, %5097
  %.str.5.sink3374 = phi ptr [ @.str.5, %5097 ], [ @.str.2, %5093 ]
  store i32 %5088, ptr %639, align 4, !tbaa !5
  %5099 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5100 = load i32, ptr @test_count, align 4, !tbaa !5
  %5101 = load i32, ptr %585, align 4, !tbaa !5
  %5102 = call ptr @s2n_strerror(i32 noundef %5101, ptr noundef nonnull @.str.4) #12
  %5103 = load i32, ptr %585, align 4, !tbaa !5
  %5104 = call ptr @s2n_strerror_debug(i32 noundef %5103, ptr noundef nonnull @.str.4) #12
  %5105 = load i32, ptr %639, align 4, !tbaa !5
  %5106 = call ptr @strerror(i32 noundef %5105) #12
  %5107 = load i32, ptr %639, align 4, !tbaa !5
  %5108 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5099, ptr noundef nonnull %.str.5.sink3374, i32 noundef %5100, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %5102, ptr noundef %5104, ptr noundef %5106, i32 noundef %5107) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5109:                                             ; preds = %5082
  %5110 = load i32, ptr @test_count, align 4, !tbaa !5
  %5111 = add nsw i32 %5110, 1
  store i32 %5111, ptr @test_count, align 4, !tbaa !5
  %5112 = load i32, ptr %585, align 4, !tbaa !5
  %5113 = icmp eq i32 %5112, 201326592
  br i1 %5113, label %5136, label %5114

5114:                                             ; preds = %5109
  %5115 = load i32, ptr %639, align 4, !tbaa !5
  %5116 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5117 = call i32 @s2n_print_stacktrace(ptr noundef %5116) #12
  %5118 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5119 = trunc nuw i8 %5118 to i1
  br i1 %5119, label %5120, label %5124

5120:                                             ; preds = %5114
  %5121 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5122 = call i32 @fileno(ptr noundef %5121) #12
  %5123 = call i32 @isatty(i32 noundef %5122) #12
  %.not1279 = icmp eq i32 %5123, 0
  br i1 %.not1279, label %5124, label %5125

5124:                                             ; preds = %5120, %5114
  br label %5125

5125:                                             ; preds = %5120, %5124
  %.str.5.sink3383 = phi ptr [ @.str.5, %5124 ], [ @.str.2, %5120 ]
  store i32 %5115, ptr %639, align 4, !tbaa !5
  %5126 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5127 = load i32, ptr @test_count, align 4, !tbaa !5
  %5128 = load i32, ptr %585, align 4, !tbaa !5
  %5129 = call ptr @s2n_strerror(i32 noundef %5128, ptr noundef nonnull @.str.4) #12
  %5130 = load i32, ptr %585, align 4, !tbaa !5
  %5131 = call ptr @s2n_strerror_debug(i32 noundef %5130, ptr noundef nonnull @.str.4) #12
  %5132 = load i32, ptr %639, align 4, !tbaa !5
  %5133 = call ptr @strerror(i32 noundef %5132) #12
  %5134 = load i32, ptr %639, align 4, !tbaa !5
  %5135 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5126, ptr noundef nonnull %.str.5.sink3383, i32 noundef %5127, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %5129, ptr noundef %5131, ptr noundef %5133, i32 noundef %5134) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5136:                                             ; preds = %5109
  %5137 = add nsw i32 %5110, 2
  store i32 %5137, ptr @test_count, align 4, !tbaa !5
  %5138 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5139 = icmp eq ptr %5138, null
  br i1 %5139, label %5140, label %5162

5140:                                             ; preds = %5136
  %5141 = load i32, ptr %639, align 4, !tbaa !5
  %5142 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5143 = call i32 @s2n_print_stacktrace(ptr noundef %5142) #12
  %5144 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5145 = trunc nuw i8 %5144 to i1
  br i1 %5145, label %5146, label %5150

5146:                                             ; preds = %5140
  %5147 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5148 = call i32 @fileno(ptr noundef %5147) #12
  %5149 = call i32 @isatty(i32 noundef %5148) #12
  %.not1602 = icmp eq i32 %5149, 0
  br i1 %.not1602, label %5150, label %5151

5150:                                             ; preds = %5146, %5140
  br label %5151

5151:                                             ; preds = %5146, %5150
  %.str.5.sink3392 = phi ptr [ @.str.5, %5150 ], [ @.str.2, %5146 ]
  store i32 %5141, ptr %639, align 4, !tbaa !5
  %5152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5153 = load i32, ptr @test_count, align 4, !tbaa !5
  %5154 = load i32, ptr %585, align 4, !tbaa !5
  %5155 = call ptr @s2n_strerror(i32 noundef %5154, ptr noundef nonnull @.str.4) #12
  %5156 = load i32, ptr %585, align 4, !tbaa !5
  %5157 = call ptr @s2n_strerror_debug(i32 noundef %5156, ptr noundef nonnull @.str.4) #12
  %5158 = load i32, ptr %639, align 4, !tbaa !5
  %5159 = call ptr @strerror(i32 noundef %5158) #12
  %5160 = load i32, ptr %639, align 4, !tbaa !5
  %5161 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5152, ptr noundef nonnull %.str.5.sink3392, i32 noundef %5153, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 414, ptr noundef %5155, ptr noundef %5157, ptr noundef %5159, i32 noundef %5160) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5162:                                             ; preds = %5136
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %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 i32, ptr %58, align 4, !tbaa !5
  %5166 = icmp eq i32 %5165, 1
  br i1 %5166, label %5189, label %5167

5167:                                             ; preds = %5162
  %5168 = load i32, ptr %639, align 4, !tbaa !5
  %5169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5170 = call i32 @s2n_print_stacktrace(ptr noundef %5169) #12
  %5171 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5172 = trunc nuw i8 %5171 to i1
  br i1 %5172, label %5173, label %5177

5173:                                             ; preds = %5167
  %5174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5175 = call i32 @fileno(ptr noundef %5174) #12
  %5176 = call i32 @isatty(i32 noundef %5175) #12
  %.not1280 = icmp eq i32 %5176, 0
  br i1 %.not1280, label %5177, label %5178

5177:                                             ; preds = %5173, %5167
  br label %5178

5178:                                             ; preds = %5173, %5177
  %.str.5.sink3401 = phi ptr [ @.str.5, %5177 ], [ @.str.2, %5173 ]
  store i32 %5168, ptr %639, align 4, !tbaa !5
  %5179 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5180 = load i32, ptr @test_count, align 4, !tbaa !5
  %5181 = load i32, ptr %585, align 4, !tbaa !5
  %5182 = call ptr @s2n_strerror(i32 noundef %5181, ptr noundef nonnull @.str.4) #12
  %5183 = load i32, ptr %585, align 4, !tbaa !5
  %5184 = call ptr @s2n_strerror_debug(i32 noundef %5183, ptr noundef nonnull @.str.4) #12
  %5185 = load i32, ptr %639, align 4, !tbaa !5
  %5186 = call ptr @strerror(i32 noundef %5185) #12
  %5187 = load i32, ptr %639, align 4, !tbaa !5
  %5188 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5179, ptr noundef nonnull %.str.5.sink3401, i32 noundef %5180, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %5182, ptr noundef %5184, ptr noundef %5186, i32 noundef %5187) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5189:                                             ; preds = %5162
  %5190 = add nsw i32 %5163, 2
  store i32 %5190, ptr @test_count, align 4, !tbaa !5
  %5191 = load ptr, ptr %55, align 8, !tbaa !9
  %5192 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5191) #12
  %5193 = icmp eq i32 %5192, 19
  br i1 %5193, label %5216, label %5194

5194:                                             ; preds = %5189
  %5195 = load i32, ptr %639, align 4, !tbaa !5
  %5196 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5197 = call i32 @s2n_print_stacktrace(ptr noundef %5196) #12
  %5198 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5199 = trunc nuw i8 %5198 to i1
  br i1 %5199, label %5200, label %5204

5200:                                             ; preds = %5194
  %5201 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5202 = call i32 @fileno(ptr noundef %5201) #12
  %5203 = call i32 @isatty(i32 noundef %5202) #12
  %.not1281 = icmp eq i32 %5203, 0
  br i1 %.not1281, label %5204, label %5205

5204:                                             ; preds = %5200, %5194
  br label %5205

5205:                                             ; preds = %5200, %5204
  %.str.5.sink3410 = phi ptr [ @.str.5, %5204 ], [ @.str.2, %5200 ]
  store i32 %5195, ptr %639, align 4, !tbaa !5
  %5206 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5207 = load i32, ptr @test_count, align 4, !tbaa !5
  %5208 = load i32, ptr %585, align 4, !tbaa !5
  %5209 = call ptr @s2n_strerror(i32 noundef %5208, ptr noundef nonnull @.str.4) #12
  %5210 = load i32, ptr %585, align 4, !tbaa !5
  %5211 = call ptr @s2n_strerror_debug(i32 noundef %5210, ptr noundef nonnull @.str.4) #12
  %5212 = load i32, ptr %639, align 4, !tbaa !5
  %5213 = call ptr @strerror(i32 noundef %5212) #12
  %5214 = load i32, ptr %639, align 4, !tbaa !5
  %5215 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5206, ptr noundef nonnull %.str.5.sink3410, i32 noundef %5207, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 415, ptr noundef %5209, ptr noundef %5211, ptr noundef %5213, i32 noundef %5214) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5216:                                             ; preds = %5189
  %5217 = load i32, ptr @test_count, align 4, !tbaa !5
  %5218 = add nsw i32 %5217, 1
  store i32 %5218, ptr @test_count, align 4, !tbaa !5
  %5219 = load i64, ptr %59, align 8, !tbaa !42
  %5220 = icmp eq i64 %5219, 12
  br i1 %5220, label %5243, label %5221

5221:                                             ; preds = %5216
  %5222 = load i32, ptr %639, align 4, !tbaa !5
  %5223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5224 = call i32 @s2n_print_stacktrace(ptr noundef %5223) #12
  %5225 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5226 = trunc nuw i8 %5225 to i1
  br i1 %5226, label %5227, label %5231

5227:                                             ; preds = %5221
  %5228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5229 = call i32 @fileno(ptr noundef %5228) #12
  %5230 = call i32 @isatty(i32 noundef %5229) #12
  %.not1282 = icmp eq i32 %5230, 0
  br i1 %.not1282, label %5231, label %5232

5231:                                             ; preds = %5227, %5221
  br label %5232

5232:                                             ; preds = %5227, %5231
  %.str.5.sink3419 = phi ptr [ @.str.5, %5231 ], [ @.str.2, %5227 ]
  store i32 %5222, ptr %639, align 4, !tbaa !5
  %5233 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5234 = load i32, ptr @test_count, align 4, !tbaa !5
  %5235 = load i32, ptr %585, align 4, !tbaa !5
  %5236 = call ptr @s2n_strerror(i32 noundef %5235, ptr noundef nonnull @.str.4) #12
  %5237 = load i32, ptr %585, align 4, !tbaa !5
  %5238 = call ptr @s2n_strerror_debug(i32 noundef %5237, ptr noundef nonnull @.str.4) #12
  %5239 = load i32, ptr %639, align 4, !tbaa !5
  %5240 = call ptr @strerror(i32 noundef %5239) #12
  %5241 = load i32, ptr %639, align 4, !tbaa !5
  %5242 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5233, ptr noundef nonnull %.str.5.sink3419, i32 noundef %5234, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 416, ptr noundef %5236, ptr noundef %5238, ptr noundef %5240, i32 noundef %5241) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5243:                                             ; preds = %5216
  %5244 = add nsw i32 %5217, 2
  store i32 %5244, ptr @test_count, align 4, !tbaa !5
  %bcmp1283 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %57, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %5245 = icmp eq i32 %bcmp1283, 0
  br i1 %5245, label %.preheader1692, label %5246

5246:                                             ; preds = %5243
  %5247 = load i32, ptr %639, align 4, !tbaa !5
  %5248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5249 = call i32 @s2n_print_stacktrace(ptr noundef %5248) #12
  %5250 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5251 = trunc nuw i8 %5250 to i1
  br i1 %5251, label %5252, label %5256

5252:                                             ; preds = %5246
  %5253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5254 = call i32 @fileno(ptr noundef %5253) #12
  %5255 = call i32 @isatty(i32 noundef %5254) #12
  %.not1284 = icmp eq i32 %5255, 0
  br i1 %.not1284, label %5256, label %5257

5256:                                             ; preds = %5252, %5246
  br label %5257

5257:                                             ; preds = %5252, %5256
  %.str.5.sink3428 = phi ptr [ @.str.5, %5256 ], [ @.str.2, %5252 ]
  store i32 %5247, ptr %639, align 4, !tbaa !5
  %5258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5259 = load i32, ptr @test_count, align 4, !tbaa !5
  %5260 = load i32, ptr %585, align 4, !tbaa !5
  %5261 = call ptr @s2n_strerror(i32 noundef %5260, ptr noundef nonnull @.str.4) #12
  %5262 = load i32, ptr %585, align 4, !tbaa !5
  %5263 = call ptr @s2n_strerror_debug(i32 noundef %5262, ptr noundef nonnull @.str.4) #12
  %5264 = load i32, ptr %639, align 4, !tbaa !5
  %5265 = call ptr @strerror(i32 noundef %5264) #12
  %5266 = load i32, ptr %639, align 4, !tbaa !5
  %5267 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5258, ptr noundef nonnull %.str.5.sink3428, i32 noundef %5259, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 417, ptr noundef %5261, ptr noundef %5263, ptr noundef %5265, i32 noundef %5266) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5268:                                             ; preds = %5545
  %5269 = add nuw nsw i64 %.011511693, 1
  %exitcond.not = icmp eq i64 %5269, 10
  br i1 %exitcond.not, label %5270, label %.preheader1692, !llvm.loop !46

5270:                                             ; preds = %5268
  %5271 = add nsw i32 %5519, 3
  store i32 %5271, ptr @test_count, align 4, !tbaa !5
  %5272 = load ptr, ptr %55, align 8, !tbaa !9
  %5273 = load ptr, ptr %54, align 8, !tbaa !9
  %5274 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %5272, ptr noundef %5273) #12
  %5275 = icmp eq i32 %5274, -1
  br i1 %5275, label %5570, label %5592

.preheader1692:                                   ; preds = %5243, %5268
  %5276 = phi i32 [ %5546, %5268 ], [ %5244, %5243 ]
  %.011511693 = phi i64 [ %5269, %5268 ], [ 0, %5243 ]
  %5277 = add nsw i32 %5276, 1
  store i32 %5277, ptr @test_count, align 4, !tbaa !5
  %5278 = load ptr, ptr %54, align 8, !tbaa !9
  %5279 = call i32 @s2n_send_early_data(ptr noundef %5278, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %59, ptr noundef nonnull %58) #12
  %5280 = icmp eq i32 %5279, -1
  br i1 %5280, label %5281, label %5303

5281:                                             ; preds = %.preheader1692
  %5282 = load i32, ptr %639, align 4, !tbaa !5
  %5283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5284 = call i32 @s2n_print_stacktrace(ptr noundef %5283) #12
  %5285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5286 = trunc nuw i8 %5285 to i1
  br i1 %5286, label %5287, label %5291

5287:                                             ; preds = %5281
  %5288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5289 = call i32 @fileno(ptr noundef %5288) #12
  %5290 = call i32 @isatty(i32 noundef %5289) #12
  %.not1601 = icmp eq i32 %5290, 0
  br i1 %.not1601, label %5291, label %5292

5291:                                             ; preds = %5287, %5281
  br label %5292

5292:                                             ; preds = %5287, %5291
  %.str.5.sink3437 = phi ptr [ @.str.5, %5291 ], [ @.str.2, %5287 ]
  store i32 %5282, ptr %639, align 4, !tbaa !5
  %5293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5294 = load i32, ptr @test_count, align 4, !tbaa !5
  %5295 = load i32, ptr %585, align 4, !tbaa !5
  %5296 = call ptr @s2n_strerror(i32 noundef %5295, ptr noundef nonnull @.str.4) #12
  %5297 = load i32, ptr %585, align 4, !tbaa !5
  %5298 = call ptr @s2n_strerror_debug(i32 noundef %5297, ptr noundef nonnull @.str.4) #12
  %5299 = load i32, ptr %639, align 4, !tbaa !5
  %5300 = call ptr @strerror(i32 noundef %5299) #12
  %5301 = load i32, ptr %639, align 4, !tbaa !5
  %5302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5293, ptr noundef nonnull %.str.5.sink3437, i32 noundef %5294, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 421, ptr noundef %5296, ptr noundef %5298, ptr noundef %5300, i32 noundef %5301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5303:                                             ; preds = %.preheader1692
  %5304 = load i32, ptr @test_count, align 4, !tbaa !5
  %5305 = add nsw i32 %5304, 1
  store i32 %5305, ptr @test_count, align 4, !tbaa !5
  %5306 = load i32, ptr %58, align 4, !tbaa !5
  %5307 = icmp eq i32 %5306, 0
  br i1 %5307, label %5330, label %5308

5308:                                             ; preds = %5303
  %5309 = load i32, ptr %639, align 4, !tbaa !5
  %5310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5311 = call i32 @s2n_print_stacktrace(ptr noundef %5310) #12
  %5312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5313 = trunc nuw i8 %5312 to i1
  br i1 %5313, label %5314, label %5318

5314:                                             ; preds = %5308
  %5315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5316 = call i32 @fileno(ptr noundef %5315) #12
  %5317 = call i32 @isatty(i32 noundef %5316) #12
  %.not1590 = icmp eq i32 %5317, 0
  br i1 %.not1590, label %5318, label %5319

5318:                                             ; preds = %5314, %5308
  br label %5319

5319:                                             ; preds = %5314, %5318
  %.str.5.sink3446 = phi ptr [ @.str.5, %5318 ], [ @.str.2, %5314 ]
  store i32 %5309, ptr %639, align 4, !tbaa !5
  %5320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5321 = load i32, ptr @test_count, align 4, !tbaa !5
  %5322 = load i32, ptr %585, align 4, !tbaa !5
  %5323 = call ptr @s2n_strerror(i32 noundef %5322, ptr noundef nonnull @.str.4) #12
  %5324 = load i32, ptr %585, align 4, !tbaa !5
  %5325 = call ptr @s2n_strerror_debug(i32 noundef %5324, ptr noundef nonnull @.str.4) #12
  %5326 = load i32, ptr %639, align 4, !tbaa !5
  %5327 = call ptr @strerror(i32 noundef %5326) #12
  %5328 = load i32, ptr %639, align 4, !tbaa !5
  %5329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5320, ptr noundef nonnull %.str.5.sink3446, i32 noundef %5321, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %5323, ptr noundef %5325, ptr noundef %5327, i32 noundef %5328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5330:                                             ; preds = %5303
  %5331 = add nsw i32 %5304, 2
  store i32 %5331, ptr @test_count, align 4, !tbaa !5
  %5332 = load ptr, ptr %54, align 8, !tbaa !9
  %5333 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5332) #12
  %5334 = icmp eq i32 %5333, 19
  br i1 %5334, label %5357, label %5335

5335:                                             ; preds = %5330
  %5336 = load i32, ptr %639, align 4, !tbaa !5
  %5337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5338 = call i32 @s2n_print_stacktrace(ptr noundef %5337) #12
  %5339 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5340 = trunc nuw i8 %5339 to i1
  br i1 %5340, label %5341, label %5345

5341:                                             ; preds = %5335
  %5342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5343 = call i32 @fileno(ptr noundef %5342) #12
  %5344 = call i32 @isatty(i32 noundef %5343) #12
  %.not1591 = icmp eq i32 %5344, 0
  br i1 %.not1591, label %5345, label %5346

5345:                                             ; preds = %5341, %5335
  br label %5346

5346:                                             ; preds = %5341, %5345
  %.str.5.sink3455 = phi ptr [ @.str.5, %5345 ], [ @.str.2, %5341 ]
  store i32 %5336, ptr %639, align 4, !tbaa !5
  %5347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5348 = load i32, ptr @test_count, align 4, !tbaa !5
  %5349 = load i32, ptr %585, align 4, !tbaa !5
  %5350 = call ptr @s2n_strerror(i32 noundef %5349, ptr noundef nonnull @.str.4) #12
  %5351 = load i32, ptr %585, align 4, !tbaa !5
  %5352 = call ptr @s2n_strerror_debug(i32 noundef %5351, ptr noundef nonnull @.str.4) #12
  %5353 = load i32, ptr %639, align 4, !tbaa !5
  %5354 = call ptr @strerror(i32 noundef %5353) #12
  %5355 = load i32, ptr %639, align 4, !tbaa !5
  %5356 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5347, ptr noundef nonnull %.str.5.sink3455, i32 noundef %5348, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 422, ptr noundef %5350, ptr noundef %5352, ptr noundef %5354, i32 noundef %5355) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5357:                                             ; preds = %5330
  %5358 = load i32, ptr @test_count, align 4, !tbaa !5
  %5359 = add nsw i32 %5358, 1
  store i32 %5359, ptr @test_count, align 4, !tbaa !5
  %5360 = load i64, ptr %59, align 8, !tbaa !42
  %5361 = icmp eq i64 %5360, 12
  br i1 %5361, label %5384, label %5362

5362:                                             ; preds = %5357
  %5363 = load i32, ptr %639, align 4, !tbaa !5
  %5364 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5365 = call i32 @s2n_print_stacktrace(ptr noundef %5364) #12
  %5366 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5367 = trunc nuw i8 %5366 to i1
  br i1 %5367, label %5368, label %5372

5368:                                             ; preds = %5362
  %5369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5370 = call i32 @fileno(ptr noundef %5369) #12
  %5371 = call i32 @isatty(i32 noundef %5370) #12
  %.not1592 = icmp eq i32 %5371, 0
  br i1 %.not1592, label %5372, label %5373

5372:                                             ; preds = %5368, %5362
  br label %5373

5373:                                             ; preds = %5368, %5372
  %.str.5.sink3464 = phi ptr [ @.str.5, %5372 ], [ @.str.2, %5368 ]
  store i32 %5363, ptr %639, align 4, !tbaa !5
  %5374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5375 = load i32, ptr @test_count, align 4, !tbaa !5
  %5376 = load i32, ptr %585, align 4, !tbaa !5
  %5377 = call ptr @s2n_strerror(i32 noundef %5376, ptr noundef nonnull @.str.4) #12
  %5378 = load i32, ptr %585, align 4, !tbaa !5
  %5379 = call ptr @s2n_strerror_debug(i32 noundef %5378, ptr noundef nonnull @.str.4) #12
  %5380 = load i32, ptr %639, align 4, !tbaa !5
  %5381 = call ptr @strerror(i32 noundef %5380) #12
  %5382 = load i32, ptr %639, align 4, !tbaa !5
  %5383 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5374, ptr noundef nonnull %.str.5.sink3464, i32 noundef %5375, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 423, ptr noundef %5377, ptr noundef %5379, ptr noundef %5381, i32 noundef %5382) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5384:                                             ; preds = %5357
  %5385 = add nsw i32 %5358, 2
  store i32 %5385, ptr @test_count, align 4, !tbaa !5
  %5386 = load ptr, ptr %55, align 8, !tbaa !9
  %5387 = call i32 @s2n_recv_early_data(ptr noundef %5386, ptr noundef nonnull %57, i64 noundef 100, ptr noundef nonnull %59, ptr noundef nonnull %58) #12
  %5388 = icmp eq i32 %5387, -1
  br i1 %5388, label %5411, label %5389

5389:                                             ; preds = %5384
  %5390 = load i32, ptr %639, align 4, !tbaa !5
  %5391 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5392 = call i32 @s2n_print_stacktrace(ptr noundef %5391) #12
  %5393 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5394 = trunc nuw i8 %5393 to i1
  br i1 %5394, label %5395, label %5399

5395:                                             ; preds = %5389
  %5396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5397 = call i32 @fileno(ptr noundef %5396) #12
  %5398 = call i32 @isatty(i32 noundef %5397) #12
  %.not1593 = icmp eq i32 %5398, 0
  br i1 %.not1593, label %5399, label %5400

5399:                                             ; preds = %5395, %5389
  br label %5400

5400:                                             ; preds = %5395, %5399
  %.str.5.sink3473 = phi ptr [ @.str.5, %5399 ], [ @.str.2, %5395 ]
  store i32 %5390, ptr %639, align 4, !tbaa !5
  %5401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5402 = load i32, ptr @test_count, align 4, !tbaa !5
  %5403 = load i32, ptr %585, align 4, !tbaa !5
  %5404 = call ptr @s2n_strerror(i32 noundef %5403, ptr noundef nonnull @.str.4) #12
  %5405 = load i32, ptr %585, align 4, !tbaa !5
  %5406 = call ptr @s2n_strerror_debug(i32 noundef %5405, ptr noundef nonnull @.str.4) #12
  %5407 = load i32, ptr %639, align 4, !tbaa !5
  %5408 = call ptr @strerror(i32 noundef %5407) #12
  %5409 = load i32, ptr %639, align 4, !tbaa !5
  %5410 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5401, ptr noundef nonnull %.str.5.sink3473, i32 noundef %5402, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %5404, ptr noundef %5406, ptr noundef %5408, i32 noundef %5409) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5411:                                             ; preds = %5384
  %5412 = load i32, ptr @test_count, align 4, !tbaa !5
  %5413 = add nsw i32 %5412, 1
  store i32 %5413, ptr @test_count, align 4, !tbaa !5
  %5414 = load i32, ptr %585, align 4, !tbaa !5
  %5415 = icmp eq i32 %5414, 201326592
  br i1 %5415, label %5438, label %5416

5416:                                             ; preds = %5411
  %5417 = load i32, ptr %639, align 4, !tbaa !5
  %5418 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5419 = call i32 @s2n_print_stacktrace(ptr noundef %5418) #12
  %5420 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5421 = trunc nuw i8 %5420 to i1
  br i1 %5421, label %5422, label %5426

5422:                                             ; preds = %5416
  %5423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5424 = call i32 @fileno(ptr noundef %5423) #12
  %5425 = call i32 @isatty(i32 noundef %5424) #12
  %.not1594 = icmp eq i32 %5425, 0
  br i1 %.not1594, label %5426, label %5427

5426:                                             ; preds = %5422, %5416
  br label %5427

5427:                                             ; preds = %5422, %5426
  %.str.5.sink3482 = phi ptr [ @.str.5, %5426 ], [ @.str.2, %5422 ]
  store i32 %5417, ptr %639, align 4, !tbaa !5
  %5428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5429 = load i32, ptr @test_count, align 4, !tbaa !5
  %5430 = load i32, ptr %585, align 4, !tbaa !5
  %5431 = call ptr @s2n_strerror(i32 noundef %5430, ptr noundef nonnull @.str.4) #12
  %5432 = load i32, ptr %585, align 4, !tbaa !5
  %5433 = call ptr @s2n_strerror_debug(i32 noundef %5432, ptr noundef nonnull @.str.4) #12
  %5434 = load i32, ptr %639, align 4, !tbaa !5
  %5435 = call ptr @strerror(i32 noundef %5434) #12
  %5436 = load i32, ptr %639, align 4, !tbaa !5
  %5437 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5428, ptr noundef nonnull %.str.5.sink3482, i32 noundef %5429, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %5431, ptr noundef %5433, ptr noundef %5435, i32 noundef %5436) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5438:                                             ; preds = %5411
  %5439 = add nsw i32 %5412, 2
  store i32 %5439, ptr @test_count, align 4, !tbaa !5
  %5440 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5441 = icmp eq ptr %5440, null
  br i1 %5441, label %5442, label %5464

5442:                                             ; preds = %5438
  %5443 = load i32, ptr %639, align 4, !tbaa !5
  %5444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5445 = call i32 @s2n_print_stacktrace(ptr noundef %5444) #12
  %5446 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5447 = trunc nuw i8 %5446 to i1
  br i1 %5447, label %5448, label %5452

5448:                                             ; preds = %5442
  %5449 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5450 = call i32 @fileno(ptr noundef %5449) #12
  %5451 = call i32 @isatty(i32 noundef %5450) #12
  %.not1600 = icmp eq i32 %5451, 0
  br i1 %.not1600, label %5452, label %5453

5452:                                             ; preds = %5448, %5442
  br label %5453

5453:                                             ; preds = %5448, %5452
  %.str.5.sink3491 = phi ptr [ @.str.5, %5452 ], [ @.str.2, %5448 ]
  store i32 %5443, ptr %639, align 4, !tbaa !5
  %5454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5455 = load i32, ptr @test_count, align 4, !tbaa !5
  %5456 = load i32, ptr %585, align 4, !tbaa !5
  %5457 = call ptr @s2n_strerror(i32 noundef %5456, ptr noundef nonnull @.str.4) #12
  %5458 = load i32, ptr %585, align 4, !tbaa !5
  %5459 = call ptr @s2n_strerror_debug(i32 noundef %5458, ptr noundef nonnull @.str.4) #12
  %5460 = load i32, ptr %639, align 4, !tbaa !5
  %5461 = call ptr @strerror(i32 noundef %5460) #12
  %5462 = load i32, ptr %639, align 4, !tbaa !5
  %5463 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5454, ptr noundef nonnull %.str.5.sink3491, i32 noundef %5455, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 425, ptr noundef %5457, ptr noundef %5459, ptr noundef %5461, i32 noundef %5462) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5464:                                             ; preds = %5438
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5465 = load i32, ptr @test_count, align 4, !tbaa !5
  %5466 = add nsw i32 %5465, 1
  store i32 %5466, ptr @test_count, align 4, !tbaa !5
  %5467 = load i32, ptr %58, align 4, !tbaa !5
  %5468 = icmp eq i32 %5467, 1
  br i1 %5468, label %5491, label %5469

5469:                                             ; preds = %5464
  %5470 = load i32, ptr %639, align 4, !tbaa !5
  %5471 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5472 = call i32 @s2n_print_stacktrace(ptr noundef %5471) #12
  %5473 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5474 = trunc nuw i8 %5473 to i1
  br i1 %5474, label %5475, label %5479

5475:                                             ; preds = %5469
  %5476 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5477 = call i32 @fileno(ptr noundef %5476) #12
  %5478 = call i32 @isatty(i32 noundef %5477) #12
  %.not1595 = icmp eq i32 %5478, 0
  br i1 %.not1595, label %5479, label %5480

5479:                                             ; preds = %5475, %5469
  br label %5480

5480:                                             ; preds = %5475, %5479
  %.str.5.sink3500 = phi ptr [ @.str.5, %5479 ], [ @.str.2, %5475 ]
  store i32 %5470, ptr %639, align 4, !tbaa !5
  %5481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5482 = load i32, ptr @test_count, align 4, !tbaa !5
  %5483 = load i32, ptr %585, align 4, !tbaa !5
  %5484 = call ptr @s2n_strerror(i32 noundef %5483, ptr noundef nonnull @.str.4) #12
  %5485 = load i32, ptr %585, align 4, !tbaa !5
  %5486 = call ptr @s2n_strerror_debug(i32 noundef %5485, ptr noundef nonnull @.str.4) #12
  %5487 = load i32, ptr %639, align 4, !tbaa !5
  %5488 = call ptr @strerror(i32 noundef %5487) #12
  %5489 = load i32, ptr %639, align 4, !tbaa !5
  %5490 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5481, ptr noundef nonnull %.str.5.sink3500, i32 noundef %5482, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %5484, ptr noundef %5486, ptr noundef %5488, i32 noundef %5489) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5491:                                             ; preds = %5464
  %5492 = add nsw i32 %5465, 2
  store i32 %5492, ptr @test_count, align 4, !tbaa !5
  %5493 = load ptr, ptr %54, align 8, !tbaa !9
  %5494 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5493) #12
  %5495 = icmp eq i32 %5494, 19
  br i1 %5495, label %5518, label %5496

5496:                                             ; preds = %5491
  %5497 = load i32, ptr %639, align 4, !tbaa !5
  %5498 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5499 = call i32 @s2n_print_stacktrace(ptr noundef %5498) #12
  %5500 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5501 = trunc nuw i8 %5500 to i1
  br i1 %5501, label %5502, label %5506

5502:                                             ; preds = %5496
  %5503 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5504 = call i32 @fileno(ptr noundef %5503) #12
  %5505 = call i32 @isatty(i32 noundef %5504) #12
  %.not1596 = icmp eq i32 %5505, 0
  br i1 %.not1596, label %5506, label %5507

5506:                                             ; preds = %5502, %5496
  br label %5507

5507:                                             ; preds = %5502, %5506
  %.str.5.sink3509 = phi ptr [ @.str.5, %5506 ], [ @.str.2, %5502 ]
  store i32 %5497, ptr %639, align 4, !tbaa !5
  %5508 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5509 = load i32, ptr @test_count, align 4, !tbaa !5
  %5510 = load i32, ptr %585, align 4, !tbaa !5
  %5511 = call ptr @s2n_strerror(i32 noundef %5510, ptr noundef nonnull @.str.4) #12
  %5512 = load i32, ptr %585, align 4, !tbaa !5
  %5513 = call ptr @s2n_strerror_debug(i32 noundef %5512, ptr noundef nonnull @.str.4) #12
  %5514 = load i32, ptr %639, align 4, !tbaa !5
  %5515 = call ptr @strerror(i32 noundef %5514) #12
  %5516 = load i32, ptr %639, align 4, !tbaa !5
  %5517 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5508, ptr noundef nonnull %.str.5.sink3509, i32 noundef %5509, ptr noundef nonnull @.str.87, ptr noundef nonnull @.str.1, i32 noundef 426, ptr noundef %5511, ptr noundef %5513, ptr noundef %5515, i32 noundef %5516) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5518:                                             ; preds = %5491
  %5519 = load i32, ptr @test_count, align 4, !tbaa !5
  %5520 = add nsw i32 %5519, 1
  store i32 %5520, ptr @test_count, align 4, !tbaa !5
  %5521 = load i64, ptr %59, align 8, !tbaa !42
  %5522 = icmp eq i64 %5521, 12
  br i1 %5522, label %5545, label %5523

5523:                                             ; preds = %5518
  %5524 = load i32, ptr %639, align 4, !tbaa !5
  %5525 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5526 = call i32 @s2n_print_stacktrace(ptr noundef %5525) #12
  %5527 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5528 = trunc nuw i8 %5527 to i1
  br i1 %5528, label %5529, label %5533

5529:                                             ; preds = %5523
  %5530 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5531 = call i32 @fileno(ptr noundef %5530) #12
  %5532 = call i32 @isatty(i32 noundef %5531) #12
  %.not1597 = icmp eq i32 %5532, 0
  br i1 %.not1597, label %5533, label %5534

5533:                                             ; preds = %5529, %5523
  br label %5534

5534:                                             ; preds = %5529, %5533
  %.str.5.sink3518 = phi ptr [ @.str.5, %5533 ], [ @.str.2, %5529 ]
  store i32 %5524, ptr %639, align 4, !tbaa !5
  %5535 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5536 = load i32, ptr @test_count, align 4, !tbaa !5
  %5537 = load i32, ptr %585, align 4, !tbaa !5
  %5538 = call ptr @s2n_strerror(i32 noundef %5537, ptr noundef nonnull @.str.4) #12
  %5539 = load i32, ptr %585, align 4, !tbaa !5
  %5540 = call ptr @s2n_strerror_debug(i32 noundef %5539, ptr noundef nonnull @.str.4) #12
  %5541 = load i32, ptr %639, align 4, !tbaa !5
  %5542 = call ptr @strerror(i32 noundef %5541) #12
  %5543 = load i32, ptr %639, align 4, !tbaa !5
  %5544 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5535, ptr noundef nonnull %.str.5.sink3518, i32 noundef %5536, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 427, ptr noundef %5538, ptr noundef %5540, ptr noundef %5542, i32 noundef %5543) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5545:                                             ; preds = %5518
  %5546 = add nsw i32 %5519, 2
  store i32 %5546, ptr @test_count, align 4, !tbaa !5
  %bcmp1598 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %57, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %5547 = icmp eq i32 %bcmp1598, 0
  br i1 %5547, label %5268, label %5548

5548:                                             ; preds = %5545
  %5549 = load i32, ptr %639, align 4, !tbaa !5
  %5550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5551 = call i32 @s2n_print_stacktrace(ptr noundef %5550) #12
  %5552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5553 = trunc nuw i8 %5552 to i1
  br i1 %5553, label %5554, label %5558

5554:                                             ; preds = %5548
  %5555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5556 = call i32 @fileno(ptr noundef %5555) #12
  %5557 = call i32 @isatty(i32 noundef %5556) #12
  %.not1599 = icmp eq i32 %5557, 0
  br i1 %.not1599, label %5558, label %5559

5558:                                             ; preds = %5554, %5548
  br label %5559

5559:                                             ; preds = %5554, %5558
  %.str.5.sink3527 = phi ptr [ @.str.5, %5558 ], [ @.str.2, %5554 ]
  store i32 %5549, ptr %639, align 4, !tbaa !5
  %5560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5561 = load i32, ptr @test_count, align 4, !tbaa !5
  %5562 = load i32, ptr %585, align 4, !tbaa !5
  %5563 = call ptr @s2n_strerror(i32 noundef %5562, ptr noundef nonnull @.str.4) #12
  %5564 = load i32, ptr %585, align 4, !tbaa !5
  %5565 = call ptr @s2n_strerror_debug(i32 noundef %5564, ptr noundef nonnull @.str.4) #12
  %5566 = load i32, ptr %639, align 4, !tbaa !5
  %5567 = call ptr @strerror(i32 noundef %5566) #12
  %5568 = load i32, ptr %639, align 4, !tbaa !5
  %5569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5560, ptr noundef nonnull %.str.5.sink3527, i32 noundef %5561, ptr noundef nonnull @.str.74, ptr noundef nonnull @.str.1, i32 noundef 428, ptr noundef %5563, ptr noundef %5565, ptr noundef %5567, i32 noundef %5568) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5570:                                             ; preds = %5270
  %5571 = load i32, ptr %639, align 4, !tbaa !5
  %5572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5573 = call i32 @s2n_print_stacktrace(ptr noundef %5572) #12
  %5574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5575 = trunc nuw i8 %5574 to i1
  br i1 %5575, label %5576, label %5580

5576:                                             ; preds = %5570
  %5577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5578 = call i32 @fileno(ptr noundef %5577) #12
  %5579 = call i32 @isatty(i32 noundef %5578) #12
  %.not1589 = icmp eq i32 %5579, 0
  br i1 %.not1589, label %5580, label %5581

5580:                                             ; preds = %5576, %5570
  br label %5581

5581:                                             ; preds = %5576, %5580
  %.str.5.sink3536 = phi ptr [ @.str.5, %5580 ], [ @.str.2, %5576 ]
  store i32 %5571, ptr %639, align 4, !tbaa !5
  %5582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5583 = load i32, ptr @test_count, align 4, !tbaa !5
  %5584 = load i32, ptr %585, align 4, !tbaa !5
  %5585 = call ptr @s2n_strerror(i32 noundef %5584, ptr noundef nonnull @.str.4) #12
  %5586 = load i32, ptr %585, align 4, !tbaa !5
  %5587 = call ptr @s2n_strerror_debug(i32 noundef %5586, ptr noundef nonnull @.str.4) #12
  %5588 = load i32, ptr %639, align 4, !tbaa !5
  %5589 = call ptr @strerror(i32 noundef %5588) #12
  %5590 = load i32, ptr %639, align 4, !tbaa !5
  %5591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5582, ptr noundef nonnull %.str.5.sink3536, i32 noundef %5583, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 431, ptr noundef %5585, ptr noundef %5587, ptr noundef %5589, i32 noundef %5590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5592:                                             ; preds = %5270
  %5593 = load i32, ptr @test_count, align 4, !tbaa !5
  %5594 = add nsw i32 %5593, 1
  store i32 %5594, ptr @test_count, align 4, !tbaa !5
  %5595 = load ptr, ptr %54, align 8, !tbaa !9
  %5596 = call i32 @s2n_connection_free(ptr noundef %5595) #12
  %5597 = icmp eq i32 %5596, -1
  br i1 %5597, label %5598, label %5620

5598:                                             ; preds = %5592
  %5599 = load i32, ptr %639, align 4, !tbaa !5
  %5600 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5601 = call i32 @s2n_print_stacktrace(ptr noundef %5600) #12
  %5602 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5603 = trunc nuw i8 %5602 to i1
  br i1 %5603, label %5604, label %5608

5604:                                             ; preds = %5598
  %5605 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5606 = call i32 @fileno(ptr noundef %5605) #12
  %5607 = call i32 @isatty(i32 noundef %5606) #12
  %.not1588 = icmp eq i32 %5607, 0
  br i1 %.not1588, label %5608, label %5609

5608:                                             ; preds = %5604, %5598
  br label %5609

5609:                                             ; preds = %5604, %5608
  %.str.5.sink3545 = phi ptr [ @.str.5, %5608 ], [ @.str.2, %5604 ]
  store i32 %5599, ptr %639, align 4, !tbaa !5
  %5610 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5611 = load i32, ptr @test_count, align 4, !tbaa !5
  %5612 = load i32, ptr %585, align 4, !tbaa !5
  %5613 = call ptr @s2n_strerror(i32 noundef %5612, ptr noundef nonnull @.str.4) #12
  %5614 = load i32, ptr %585, align 4, !tbaa !5
  %5615 = call ptr @s2n_strerror_debug(i32 noundef %5614, ptr noundef nonnull @.str.4) #12
  %5616 = load i32, ptr %639, align 4, !tbaa !5
  %5617 = call ptr @strerror(i32 noundef %5616) #12
  %5618 = load i32, ptr %639, align 4, !tbaa !5
  %5619 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5610, ptr noundef nonnull %.str.5.sink3545, i32 noundef %5611, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 433, ptr noundef %5613, ptr noundef %5615, ptr noundef %5617, i32 noundef %5618) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5620:                                             ; preds = %5592
  %5621 = load i32, ptr @test_count, align 4, !tbaa !5
  %5622 = add nsw i32 %5621, 1
  store i32 %5622, ptr @test_count, align 4, !tbaa !5
  %5623 = load ptr, ptr %55, align 8, !tbaa !9
  %5624 = call i32 @s2n_connection_free(ptr noundef %5623) #12
  %5625 = icmp eq i32 %5624, -1
  br i1 %5625, label %5626, label %5648

5626:                                             ; preds = %5620
  %5627 = load i32, ptr %639, align 4, !tbaa !5
  %5628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5629 = call i32 @s2n_print_stacktrace(ptr noundef %5628) #12
  %5630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5631 = trunc nuw i8 %5630 to i1
  br i1 %5631, label %5632, label %5636

5632:                                             ; preds = %5626
  %5633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5634 = call i32 @fileno(ptr noundef %5633) #12
  %5635 = call i32 @isatty(i32 noundef %5634) #12
  %.not1587 = icmp eq i32 %5635, 0
  br i1 %.not1587, label %5636, label %5637

5636:                                             ; preds = %5632, %5626
  br label %5637

5637:                                             ; preds = %5632, %5636
  %.str.5.sink3554 = phi ptr [ @.str.5, %5636 ], [ @.str.2, %5632 ]
  store i32 %5627, ptr %639, align 4, !tbaa !5
  %5638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5639 = load i32, ptr @test_count, align 4, !tbaa !5
  %5640 = load i32, ptr %585, align 4, !tbaa !5
  %5641 = call ptr @s2n_strerror(i32 noundef %5640, ptr noundef nonnull @.str.4) #12
  %5642 = load i32, ptr %585, align 4, !tbaa !5
  %5643 = call ptr @s2n_strerror_debug(i32 noundef %5642, ptr noundef nonnull @.str.4) #12
  %5644 = load i32, ptr %639, align 4, !tbaa !5
  %5645 = call ptr @strerror(i32 noundef %5644) #12
  %5646 = load i32, ptr %639, align 4, !tbaa !5
  %5647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5638, ptr noundef nonnull %.str.5.sink3554, i32 noundef %5639, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 434, ptr noundef %5641, ptr noundef %5643, ptr noundef %5645, i32 noundef %5646) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5648:                                             ; preds = %5620
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %59) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %58) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %57) #12
  %5649 = call i32 @s2n_io_pair_close(ptr noundef nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %56) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %55) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %54) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %60) #12
  store ptr null, ptr %60, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %61) #12
  store ptr null, ptr %61, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %62) #12
  store i64 0, ptr %62, align 8
  %5650 = load i32, ptr @test_count, align 4, !tbaa !5
  %5651 = add nsw i32 %5650, 1
  store i32 %5651, ptr @test_count, align 4, !tbaa !5
  %5652 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %60, ptr noundef nonnull %61, ptr noundef nonnull %62)
  %5653 = call zeroext i1 @s2n_result_is_ok(i32 %5652)
  br i1 %5653, label %5676, label %5654

5654:                                             ; preds = %5648
  %5655 = load i32, ptr %639, align 4, !tbaa !5
  %5656 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5657 = call i32 @s2n_print_stacktrace(ptr noundef %5656) #12
  %5658 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5659 = trunc nuw i8 %5658 to i1
  br i1 %5659, label %5660, label %5664

5660:                                             ; preds = %5654
  %5661 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5662 = call i32 @fileno(ptr noundef %5661) #12
  %5663 = call i32 @isatty(i32 noundef %5662) #12
  %.not1285 = icmp eq i32 %5663, 0
  br i1 %.not1285, label %5664, label %5665

5664:                                             ; preds = %5660, %5654
  br label %5665

5665:                                             ; preds = %5660, %5664
  %.str.5.sink3563 = phi ptr [ @.str.5, %5664 ], [ @.str.2, %5660 ]
  store i32 %5655, ptr %639, align 4, !tbaa !5
  %5666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5667 = load i32, ptr @test_count, align 4, !tbaa !5
  %5668 = load i32, ptr %585, align 4, !tbaa !5
  %5669 = call ptr @s2n_strerror(i32 noundef %5668, ptr noundef nonnull @.str.4) #12
  %5670 = load i32, ptr %585, align 4, !tbaa !5
  %5671 = call ptr @s2n_strerror_debug(i32 noundef %5670, ptr noundef nonnull @.str.4) #12
  %5672 = load i32, ptr %639, align 4, !tbaa !5
  %5673 = call ptr @strerror(i32 noundef %5672) #12
  %5674 = load i32, ptr %639, align 4, !tbaa !5
  %5675 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5666, ptr noundef nonnull %.str.5.sink3563, i32 noundef %5667, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 441, ptr noundef %5669, ptr noundef %5671, ptr noundef %5673, i32 noundef %5674) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5676:                                             ; preds = %5648
  %5677 = load i32, ptr @test_count, align 4, !tbaa !5
  %5678 = add nsw i32 %5677, 1
  store i32 %5678, ptr @test_count, align 4, !tbaa !5
  %5679 = load ptr, ptr %60, align 8, !tbaa !9
  %5680 = call i32 @s2n_connection_append_psk(ptr noundef %5679, ptr noundef %289) #12
  %5681 = icmp eq i32 %5680, -1
  br i1 %5681, label %5682, label %5704

5682:                                             ; preds = %5676
  %5683 = load i32, ptr %639, align 4, !tbaa !5
  %5684 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5685 = call i32 @s2n_print_stacktrace(ptr noundef %5684) #12
  %5686 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5687 = trunc nuw i8 %5686 to i1
  br i1 %5687, label %5688, label %5692

5688:                                             ; preds = %5682
  %5689 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5690 = call i32 @fileno(ptr noundef %5689) #12
  %5691 = call i32 @isatty(i32 noundef %5690) #12
  %.not1586 = icmp eq i32 %5691, 0
  br i1 %.not1586, label %5692, label %5693

5692:                                             ; preds = %5688, %5682
  br label %5693

5693:                                             ; preds = %5688, %5692
  %.str.5.sink3572 = phi ptr [ @.str.5, %5692 ], [ @.str.2, %5688 ]
  store i32 %5683, ptr %639, align 4, !tbaa !5
  %5694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5695 = load i32, ptr @test_count, align 4, !tbaa !5
  %5696 = load i32, ptr %585, align 4, !tbaa !5
  %5697 = call ptr @s2n_strerror(i32 noundef %5696, ptr noundef nonnull @.str.4) #12
  %5698 = load i32, ptr %585, align 4, !tbaa !5
  %5699 = call ptr @s2n_strerror_debug(i32 noundef %5698, ptr noundef nonnull @.str.4) #12
  %5700 = load i32, ptr %639, align 4, !tbaa !5
  %5701 = call ptr @strerror(i32 noundef %5700) #12
  %5702 = load i32, ptr %639, align 4, !tbaa !5
  %5703 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5694, ptr noundef nonnull %.str.5.sink3572, i32 noundef %5695, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 443, ptr noundef %5697, ptr noundef %5699, ptr noundef %5701, i32 noundef %5702) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5704:                                             ; preds = %5676
  %5705 = load i32, ptr @test_count, align 4, !tbaa !5
  %5706 = add nsw i32 %5705, 1
  store i32 %5706, ptr @test_count, align 4, !tbaa !5
  %5707 = load ptr, ptr %61, align 8, !tbaa !9
  %5708 = load ptr, ptr %5, align 8, !tbaa !9
  %5709 = call i32 @s2n_connection_append_psk(ptr noundef %5707, ptr noundef %5708) #12
  %5710 = icmp eq i32 %5709, -1
  br i1 %5710, label %5711, label %5733

5711:                                             ; preds = %5704
  %5712 = load i32, ptr %639, align 4, !tbaa !5
  %5713 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5714 = call i32 @s2n_print_stacktrace(ptr noundef %5713) #12
  %5715 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5716 = trunc nuw i8 %5715 to i1
  br i1 %5716, label %5717, label %5721

5717:                                             ; preds = %5711
  %5718 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5719 = call i32 @fileno(ptr noundef %5718) #12
  %5720 = call i32 @isatty(i32 noundef %5719) #12
  %.not1585 = icmp eq i32 %5720, 0
  br i1 %.not1585, label %5721, label %5722

5721:                                             ; preds = %5717, %5711
  br label %5722

5722:                                             ; preds = %5717, %5721
  %.str.5.sink3581 = phi ptr [ @.str.5, %5721 ], [ @.str.2, %5717 ]
  store i32 %5712, ptr %639, align 4, !tbaa !5
  %5723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5724 = load i32, ptr @test_count, align 4, !tbaa !5
  %5725 = load i32, ptr %585, align 4, !tbaa !5
  %5726 = call ptr @s2n_strerror(i32 noundef %5725, ptr noundef nonnull @.str.4) #12
  %5727 = load i32, ptr %585, align 4, !tbaa !5
  %5728 = call ptr @s2n_strerror_debug(i32 noundef %5727, ptr noundef nonnull @.str.4) #12
  %5729 = load i32, ptr %639, align 4, !tbaa !5
  %5730 = call ptr @strerror(i32 noundef %5729) #12
  %5731 = load i32, ptr %639, align 4, !tbaa !5
  %5732 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5723, ptr noundef nonnull %.str.5.sink3581, i32 noundef %5724, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 444, ptr noundef %5726, ptr noundef %5728, ptr noundef %5730, i32 noundef %5731) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5733:                                             ; preds = %5704
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %63) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %63, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %64) #12
  store i32 0, ptr %64, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %65) #12
  store i64 0, ptr %65, align 8, !tbaa !42
  %5734 = load i32, ptr @test_count, align 4, !tbaa !5
  %5735 = add nsw i32 %5734, 1
  store i32 %5735, ptr @test_count, align 4, !tbaa !5
  %5736 = load ptr, ptr %60, align 8, !tbaa !9
  %5737 = call i32 @s2n_send_early_data(ptr noundef %5736, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %65, ptr noundef nonnull %64) #12
  %5738 = icmp eq i32 %5737, -1
  br i1 %5738, label %5882, label %5860

5739:                                             ; preds = %5989
  %5740 = add nsw i32 %5990, 2
  store i32 %5740, ptr @test_count, align 4, !tbaa !5
  %5741 = load ptr, ptr %60, align 8, !tbaa !9
  %5742 = call i32 @s2n_send_early_data(ptr noundef %5741, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %65, ptr noundef nonnull %64) #12
  %5743 = icmp eq i32 %5742, -1
  br i1 %5743, label %5744, label %5860

5744:                                             ; preds = %5739
  %5745 = load i32, ptr @test_count, align 4, !tbaa !5
  %5746 = add nsw i32 %5745, 1
  store i32 %5746, ptr @test_count, align 4, !tbaa !5
  %5747 = load i32, ptr %585, align 4, !tbaa !5
  %5748 = icmp eq i32 %5747, 201326592
  br i1 %5748, label %5749, label %5887

5749:                                             ; preds = %5744
  %5750 = add nsw i32 %5745, 2
  store i32 %5750, ptr @test_count, align 4, !tbaa !5
  %5751 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5752 = icmp eq ptr %5751, null
  br i1 %5752, label %5913, label %5753

5753:                                             ; preds = %5749
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5754 = load i32, ptr @test_count, align 4, !tbaa !5
  %5755 = add nsw i32 %5754, 1
  store i32 %5755, ptr @test_count, align 4, !tbaa !5
  %5756 = load i32, ptr %64, align 4, !tbaa !5
  %5757 = icmp eq i32 %5756, 1
  br i1 %5757, label %5758, label %5940

5758:                                             ; preds = %5753
  %5759 = add nsw i32 %5754, 2
  store i32 %5759, ptr @test_count, align 4, !tbaa !5
  %5760 = load ptr, ptr %60, align 8, !tbaa !9
  %5761 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5760) #12
  %5762 = icmp eq i32 %5761, 1
  br i1 %5762, label %5763, label %5967

5763:                                             ; preds = %5758
  %5764 = load i32, ptr @test_count, align 4, !tbaa !5
  %5765 = add nsw i32 %5764, 1
  store i32 %5765, ptr @test_count, align 4, !tbaa !5
  %5766 = load i64, ptr %65, align 8, !tbaa !42
  %5767 = icmp eq i64 %5766, 12
  br i1 %5767, label %5768, label %5994

5768:                                             ; preds = %5763
  %5769 = add nsw i32 %5764, 2
  store i32 %5769, ptr @test_count, align 4, !tbaa !5
  %5770 = load ptr, ptr %60, align 8, !tbaa !9
  %5771 = call i32 @s2n_send_early_data(ptr noundef %5770, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %65, ptr noundef nonnull %64) #12
  %5772 = icmp eq i32 %5771, -1
  br i1 %5772, label %5773, label %5860

5773:                                             ; preds = %5768
  %5774 = load i32, ptr @test_count, align 4, !tbaa !5
  %5775 = add nsw i32 %5774, 1
  store i32 %5775, ptr @test_count, align 4, !tbaa !5
  %5776 = load i32, ptr %585, align 4, !tbaa !5
  %5777 = icmp eq i32 %5776, 201326592
  br i1 %5777, label %5778, label %5887

5778:                                             ; preds = %5773
  %5779 = add nsw i32 %5774, 2
  store i32 %5779, ptr @test_count, align 4, !tbaa !5
  %5780 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5781 = icmp eq ptr %5780, null
  br i1 %5781, label %5913, label %5782

5782:                                             ; preds = %5778
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5783 = load i32, ptr @test_count, align 4, !tbaa !5
  %5784 = add nsw i32 %5783, 1
  store i32 %5784, ptr @test_count, align 4, !tbaa !5
  %5785 = load i32, ptr %64, align 4, !tbaa !5
  %5786 = icmp eq i32 %5785, 1
  br i1 %5786, label %5787, label %5940

5787:                                             ; preds = %5782
  %5788 = add nsw i32 %5783, 2
  store i32 %5788, ptr @test_count, align 4, !tbaa !5
  %5789 = load ptr, ptr %60, align 8, !tbaa !9
  %5790 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5789) #12
  %5791 = icmp eq i32 %5790, 1
  br i1 %5791, label %5792, label %5967

5792:                                             ; preds = %5787
  %5793 = load i32, ptr @test_count, align 4, !tbaa !5
  %5794 = add nsw i32 %5793, 1
  store i32 %5794, ptr @test_count, align 4, !tbaa !5
  %5795 = load i64, ptr %65, align 8, !tbaa !42
  %5796 = icmp eq i64 %5795, 12
  br i1 %5796, label %5797, label %5994

5797:                                             ; preds = %5792
  %5798 = add nsw i32 %5793, 2
  store i32 %5798, ptr @test_count, align 4, !tbaa !5
  %5799 = load ptr, ptr %60, align 8, !tbaa !9
  %5800 = call i32 @s2n_send_early_data(ptr noundef %5799, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %65, ptr noundef nonnull %64) #12
  %5801 = icmp eq i32 %5800, -1
  br i1 %5801, label %5802, label %5860

5802:                                             ; preds = %5797
  %5803 = load i32, ptr @test_count, align 4, !tbaa !5
  %5804 = add nsw i32 %5803, 1
  store i32 %5804, ptr @test_count, align 4, !tbaa !5
  %5805 = load i32, ptr %585, align 4, !tbaa !5
  %5806 = icmp eq i32 %5805, 201326592
  br i1 %5806, label %5807, label %5887

5807:                                             ; preds = %5802
  %5808 = add nsw i32 %5803, 2
  store i32 %5808, ptr @test_count, align 4, !tbaa !5
  %5809 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5810 = icmp eq ptr %5809, null
  br i1 %5810, label %5913, label %5811

5811:                                             ; preds = %5807
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5812 = load i32, ptr @test_count, align 4, !tbaa !5
  %5813 = add nsw i32 %5812, 1
  store i32 %5813, ptr @test_count, align 4, !tbaa !5
  %5814 = load i32, ptr %64, align 4, !tbaa !5
  %5815 = icmp eq i32 %5814, 1
  br i1 %5815, label %5816, label %5940

5816:                                             ; preds = %5811
  %5817 = add nsw i32 %5812, 2
  store i32 %5817, ptr @test_count, align 4, !tbaa !5
  %5818 = load ptr, ptr %60, align 8, !tbaa !9
  %5819 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5818) #12
  %5820 = icmp eq i32 %5819, 1
  br i1 %5820, label %5821, label %5967

5821:                                             ; preds = %5816
  %5822 = load i32, ptr @test_count, align 4, !tbaa !5
  %5823 = add nsw i32 %5822, 1
  store i32 %5823, ptr @test_count, align 4, !tbaa !5
  %5824 = load i64, ptr %65, align 8, !tbaa !42
  %5825 = icmp eq i64 %5824, 12
  br i1 %5825, label %5826, label %5994

5826:                                             ; preds = %5821
  %5827 = add nsw i32 %5822, 2
  store i32 %5827, ptr @test_count, align 4, !tbaa !5
  %5828 = load ptr, ptr %60, align 8, !tbaa !9
  %5829 = call i32 @s2n_send_early_data(ptr noundef %5828, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %65, ptr noundef nonnull %64) #12
  %5830 = icmp eq i32 %5829, -1
  br i1 %5830, label %5831, label %5860

5831:                                             ; preds = %5826
  %5832 = load i32, ptr @test_count, align 4, !tbaa !5
  %5833 = add nsw i32 %5832, 1
  store i32 %5833, ptr @test_count, align 4, !tbaa !5
  %5834 = load i32, ptr %585, align 4, !tbaa !5
  %5835 = icmp eq i32 %5834, 201326592
  br i1 %5835, label %5836, label %5887

5836:                                             ; preds = %5831
  %5837 = add nsw i32 %5832, 2
  store i32 %5837, ptr @test_count, align 4, !tbaa !5
  %5838 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5839 = icmp eq ptr %5838, null
  br i1 %5839, label %5913, label %5840

5840:                                             ; preds = %5836
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5841 = load i32, ptr @test_count, align 4, !tbaa !5
  %5842 = add nsw i32 %5841, 1
  store i32 %5842, ptr @test_count, align 4, !tbaa !5
  %5843 = load i32, ptr %64, align 4, !tbaa !5
  %5844 = icmp eq i32 %5843, 1
  br i1 %5844, label %5845, label %5940

5845:                                             ; preds = %5840
  %5846 = add nsw i32 %5841, 2
  store i32 %5846, ptr @test_count, align 4, !tbaa !5
  %5847 = load ptr, ptr %60, align 8, !tbaa !9
  %5848 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5847) #12
  %5849 = icmp eq i32 %5848, 1
  br i1 %5849, label %5850, label %5967

5850:                                             ; preds = %5845
  %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 i64, ptr %65, align 8, !tbaa !42
  %5854 = icmp eq i64 %5853, 12
  br i1 %5854, label %5855, label %5994

5855:                                             ; preds = %5850
  %5856 = add nsw i32 %5851, 2
  store i32 %5856, ptr @test_count, align 4, !tbaa !5
  %5857 = load ptr, ptr %61, align 8, !tbaa !9
  %5858 = call i32 @s2n_recv_early_data(ptr noundef %5857, ptr noundef nonnull %63, i64 noundef 100, ptr noundef nonnull %65, ptr noundef nonnull %64) #12
  %5859 = icmp eq i32 %5858, -1
  br i1 %5859, label %6038, label %6016

5860:                                             ; preds = %5826, %5797, %5768, %5739, %5733
  %5861 = load i32, ptr %639, align 4, !tbaa !5
  %5862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5863 = call i32 @s2n_print_stacktrace(ptr noundef %5862) #12
  %5864 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5865 = trunc nuw i8 %5864 to i1
  br i1 %5865, label %5866, label %5870

5866:                                             ; preds = %5860
  %5867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5868 = call i32 @fileno(ptr noundef %5867) #12
  %5869 = call i32 @isatty(i32 noundef %5868) #12
  %.not1579 = icmp eq i32 %5869, 0
  br i1 %.not1579, label %5870, label %5871

5870:                                             ; preds = %5866, %5860
  br label %5871

5871:                                             ; preds = %5866, %5870
  %.str.5.sink3590 = phi ptr [ @.str.5, %5870 ], [ @.str.2, %5866 ]
  store i32 %5861, ptr %639, align 4, !tbaa !5
  %5872 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5873 = load i32, ptr @test_count, align 4, !tbaa !5
  %5874 = load i32, ptr %585, align 4, !tbaa !5
  %5875 = call ptr @s2n_strerror(i32 noundef %5874, ptr noundef nonnull @.str.4) #12
  %5876 = load i32, ptr %585, align 4, !tbaa !5
  %5877 = call ptr @s2n_strerror_debug(i32 noundef %5876, ptr noundef nonnull @.str.4) #12
  %5878 = load i32, ptr %639, align 4, !tbaa !5
  %5879 = call ptr @strerror(i32 noundef %5878) #12
  %5880 = load i32, ptr %639, align 4, !tbaa !5
  %5881 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5872, ptr noundef nonnull %.str.5.sink3590, i32 noundef %5873, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %5875, ptr noundef %5877, ptr noundef %5879, i32 noundef %5880) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5882:                                             ; preds = %5733
  %5883 = load i32, ptr @test_count, align 4, !tbaa !5
  %5884 = add nsw i32 %5883, 1
  store i32 %5884, ptr @test_count, align 4, !tbaa !5
  %5885 = load i32, ptr %585, align 4, !tbaa !5
  %5886 = icmp eq i32 %5885, 201326592
  br i1 %5886, label %5909, label %5887

5887:                                             ; preds = %5831, %5802, %5773, %5744, %5882
  %5888 = load i32, ptr %639, align 4, !tbaa !5
  %5889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5890 = call i32 @s2n_print_stacktrace(ptr noundef %5889) #12
  %5891 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5892 = trunc nuw i8 %5891 to i1
  br i1 %5892, label %5893, label %5897

5893:                                             ; preds = %5887
  %5894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5895 = call i32 @fileno(ptr noundef %5894) #12
  %5896 = call i32 @isatty(i32 noundef %5895) #12
  %.not1580 = icmp eq i32 %5896, 0
  br i1 %.not1580, label %5897, label %5898

5897:                                             ; preds = %5893, %5887
  br label %5898

5898:                                             ; preds = %5893, %5897
  %.str.5.sink3599 = phi ptr [ @.str.5, %5897 ], [ @.str.2, %5893 ]
  store i32 %5888, ptr %639, align 4, !tbaa !5
  %5899 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5900 = load i32, ptr @test_count, align 4, !tbaa !5
  %5901 = load i32, ptr %585, align 4, !tbaa !5
  %5902 = call ptr @s2n_strerror(i32 noundef %5901, ptr noundef nonnull @.str.4) #12
  %5903 = load i32, ptr %585, align 4, !tbaa !5
  %5904 = call ptr @s2n_strerror_debug(i32 noundef %5903, ptr noundef nonnull @.str.4) #12
  %5905 = load i32, ptr %639, align 4, !tbaa !5
  %5906 = call ptr @strerror(i32 noundef %5905) #12
  %5907 = load i32, ptr %639, align 4, !tbaa !5
  %5908 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5899, ptr noundef nonnull %.str.5.sink3599, i32 noundef %5900, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %5902, ptr noundef %5904, ptr noundef %5906, i32 noundef %5907) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5909:                                             ; preds = %5882
  %5910 = add nsw i32 %5883, 2
  store i32 %5910, ptr @test_count, align 4, !tbaa !5
  %5911 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %5912 = icmp eq ptr %5911, null
  br i1 %5912, label %5913, label %5935

5913:                                             ; preds = %5836, %5807, %5778, %5749, %5909
  %5914 = load i32, ptr %639, align 4, !tbaa !5
  %5915 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5916 = call i32 @s2n_print_stacktrace(ptr noundef %5915) #12
  %5917 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5918 = trunc nuw i8 %5917 to i1
  br i1 %5918, label %5919, label %5923

5919:                                             ; preds = %5913
  %5920 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5921 = call i32 @fileno(ptr noundef %5920) #12
  %5922 = call i32 @isatty(i32 noundef %5921) #12
  %.not1584 = icmp eq i32 %5922, 0
  br i1 %.not1584, label %5923, label %5924

5923:                                             ; preds = %5919, %5913
  br label %5924

5924:                                             ; preds = %5919, %5923
  %.str.5.sink3608 = phi ptr [ @.str.5, %5923 ], [ @.str.2, %5919 ]
  store i32 %5914, ptr %639, align 4, !tbaa !5
  %5925 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5926 = load i32, ptr @test_count, align 4, !tbaa !5
  %5927 = load i32, ptr %585, align 4, !tbaa !5
  %5928 = call ptr @s2n_strerror(i32 noundef %5927, ptr noundef nonnull @.str.4) #12
  %5929 = load i32, ptr %585, align 4, !tbaa !5
  %5930 = call ptr @s2n_strerror_debug(i32 noundef %5929, ptr noundef nonnull @.str.4) #12
  %5931 = load i32, ptr %639, align 4, !tbaa !5
  %5932 = call ptr @strerror(i32 noundef %5931) #12
  %5933 = load i32, ptr %639, align 4, !tbaa !5
  %5934 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5925, ptr noundef nonnull %.str.5.sink3608, i32 noundef %5926, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 452, ptr noundef %5928, ptr noundef %5930, ptr noundef %5932, i32 noundef %5933) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5935:                                             ; preds = %5909
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %5936 = load i32, ptr @test_count, align 4, !tbaa !5
  %5937 = add nsw i32 %5936, 1
  store i32 %5937, ptr @test_count, align 4, !tbaa !5
  %5938 = load i32, ptr %64, align 4, !tbaa !5
  %5939 = icmp eq i32 %5938, 1
  br i1 %5939, label %5962, label %5940

5940:                                             ; preds = %5840, %5811, %5782, %5753, %5935
  %5941 = load i32, ptr %639, align 4, !tbaa !5
  %5942 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5943 = call i32 @s2n_print_stacktrace(ptr noundef %5942) #12
  %5944 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5945 = trunc nuw i8 %5944 to i1
  br i1 %5945, label %5946, label %5950

5946:                                             ; preds = %5940
  %5947 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5948 = call i32 @fileno(ptr noundef %5947) #12
  %5949 = call i32 @isatty(i32 noundef %5948) #12
  %.not1581 = icmp eq i32 %5949, 0
  br i1 %.not1581, label %5950, label %5951

5950:                                             ; preds = %5946, %5940
  br label %5951

5951:                                             ; preds = %5946, %5950
  %.str.5.sink3617 = phi ptr [ @.str.5, %5950 ], [ @.str.2, %5946 ]
  store i32 %5941, ptr %639, align 4, !tbaa !5
  %5952 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5953 = load i32, ptr @test_count, align 4, !tbaa !5
  %5954 = load i32, ptr %585, align 4, !tbaa !5
  %5955 = call ptr @s2n_strerror(i32 noundef %5954, ptr noundef nonnull @.str.4) #12
  %5956 = load i32, ptr %585, align 4, !tbaa !5
  %5957 = call ptr @s2n_strerror_debug(i32 noundef %5956, ptr noundef nonnull @.str.4) #12
  %5958 = load i32, ptr %639, align 4, !tbaa !5
  %5959 = call ptr @strerror(i32 noundef %5958) #12
  %5960 = load i32, ptr %639, align 4, !tbaa !5
  %5961 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5952, ptr noundef nonnull %.str.5.sink3617, i32 noundef %5953, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %5955, ptr noundef %5957, ptr noundef %5959, i32 noundef %5960) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5962:                                             ; preds = %5935
  %5963 = add nsw i32 %5936, 2
  store i32 %5963, ptr @test_count, align 4, !tbaa !5
  %5964 = load ptr, ptr %60, align 8, !tbaa !9
  %5965 = call i32 @s2n_conn_get_current_message_type(ptr noundef %5964) #12
  %5966 = icmp eq i32 %5965, 1
  br i1 %5966, label %5989, label %5967

5967:                                             ; preds = %5845, %5816, %5787, %5758, %5962
  %5968 = load i32, ptr %639, align 4, !tbaa !5
  %5969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5970 = call i32 @s2n_print_stacktrace(ptr noundef %5969) #12
  %5971 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5972 = trunc nuw i8 %5971 to i1
  br i1 %5972, label %5973, label %5977

5973:                                             ; preds = %5967
  %5974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5975 = call i32 @fileno(ptr noundef %5974) #12
  %5976 = call i32 @isatty(i32 noundef %5975) #12
  %.not1582 = icmp eq i32 %5976, 0
  br i1 %.not1582, label %5977, label %5978

5977:                                             ; preds = %5973, %5967
  br label %5978

5978:                                             ; preds = %5973, %5977
  %.str.5.sink3626 = phi ptr [ @.str.5, %5977 ], [ @.str.2, %5973 ]
  store i32 %5968, ptr %639, align 4, !tbaa !5
  %5979 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5980 = load i32, ptr @test_count, align 4, !tbaa !5
  %5981 = load i32, ptr %585, align 4, !tbaa !5
  %5982 = call ptr @s2n_strerror(i32 noundef %5981, ptr noundef nonnull @.str.4) #12
  %5983 = load i32, ptr %585, align 4, !tbaa !5
  %5984 = call ptr @s2n_strerror_debug(i32 noundef %5983, ptr noundef nonnull @.str.4) #12
  %5985 = load i32, ptr %639, align 4, !tbaa !5
  %5986 = call ptr @strerror(i32 noundef %5985) #12
  %5987 = load i32, ptr %639, align 4, !tbaa !5
  %5988 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %5979, ptr noundef nonnull %.str.5.sink3626, i32 noundef %5980, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 453, ptr noundef %5982, ptr noundef %5984, ptr noundef %5986, i32 noundef %5987) #14
  call void @exit(i32 noundef 1) #15
  unreachable

5989:                                             ; preds = %5962
  %5990 = load i32, ptr @test_count, align 4, !tbaa !5
  %5991 = add nsw i32 %5990, 1
  store i32 %5991, ptr @test_count, align 4, !tbaa !5
  %5992 = load i64, ptr %65, align 8, !tbaa !42
  %5993 = icmp eq i64 %5992, 12
  br i1 %5993, label %5739, label %5994

5994:                                             ; preds = %5850, %5821, %5792, %5763, %5989
  %5995 = load i32, ptr %639, align 4, !tbaa !5
  %5996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %5997 = call i32 @s2n_print_stacktrace(ptr noundef %5996) #12
  %5998 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %5999 = trunc nuw i8 %5998 to i1
  br i1 %5999, label %6000, label %6004

6000:                                             ; preds = %5994
  %6001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6002 = call i32 @fileno(ptr noundef %6001) #12
  %6003 = call i32 @isatty(i32 noundef %6002) #12
  %.not1583 = icmp eq i32 %6003, 0
  br i1 %.not1583, label %6004, label %6005

6004:                                             ; preds = %6000, %5994
  br label %6005

6005:                                             ; preds = %6000, %6004
  %.str.5.sink3635 = phi ptr [ @.str.5, %6004 ], [ @.str.2, %6000 ]
  store i32 %5995, ptr %639, align 4, !tbaa !5
  %6006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6007 = load i32, ptr @test_count, align 4, !tbaa !5
  %6008 = load i32, ptr %585, align 4, !tbaa !5
  %6009 = call ptr @s2n_strerror(i32 noundef %6008, ptr noundef nonnull @.str.4) #12
  %6010 = load i32, ptr %585, align 4, !tbaa !5
  %6011 = call ptr @s2n_strerror_debug(i32 noundef %6010, ptr noundef nonnull @.str.4) #12
  %6012 = load i32, ptr %639, align 4, !tbaa !5
  %6013 = call ptr @strerror(i32 noundef %6012) #12
  %6014 = load i32, ptr %639, align 4, !tbaa !5
  %6015 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6006, ptr noundef nonnull %.str.5.sink3635, i32 noundef %6007, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 454, ptr noundef %6009, ptr noundef %6011, ptr noundef %6013, i32 noundef %6014) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6016:                                             ; preds = %5855
  %6017 = load i32, ptr %639, align 4, !tbaa !5
  %6018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6019 = call i32 @s2n_print_stacktrace(ptr noundef %6018) #12
  %6020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6021 = trunc nuw i8 %6020 to i1
  br i1 %6021, label %6022, label %6026

6022:                                             ; preds = %6016
  %6023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6024 = call i32 @fileno(ptr noundef %6023) #12
  %6025 = call i32 @isatty(i32 noundef %6024) #12
  %.not1286 = icmp eq i32 %6025, 0
  br i1 %.not1286, label %6026, label %6027

6026:                                             ; preds = %6022, %6016
  br label %6027

6027:                                             ; preds = %6022, %6026
  %.str.5.sink3644 = phi ptr [ @.str.5, %6026 ], [ @.str.2, %6022 ]
  store i32 %6017, ptr %639, align 4, !tbaa !5
  %6028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6029 = load i32, ptr @test_count, align 4, !tbaa !5
  %6030 = load i32, ptr %585, align 4, !tbaa !5
  %6031 = call ptr @s2n_strerror(i32 noundef %6030, ptr noundef nonnull @.str.4) #12
  %6032 = load i32, ptr %585, align 4, !tbaa !5
  %6033 = call ptr @s2n_strerror_debug(i32 noundef %6032, ptr noundef nonnull @.str.4) #12
  %6034 = load i32, ptr %639, align 4, !tbaa !5
  %6035 = call ptr @strerror(i32 noundef %6034) #12
  %6036 = load i32, ptr %639, align 4, !tbaa !5
  %6037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6028, ptr noundef nonnull %.str.5.sink3644, i32 noundef %6029, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %6031, ptr noundef %6033, ptr noundef %6035, i32 noundef %6036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6038:                                             ; preds = %5855
  %6039 = load i32, ptr @test_count, align 4, !tbaa !5
  %6040 = add nsw i32 %6039, 1
  store i32 %6040, ptr @test_count, align 4, !tbaa !5
  %6041 = load i32, ptr %585, align 4, !tbaa !5
  %6042 = icmp eq i32 %6041, 201326592
  br i1 %6042, label %6065, label %6043

6043:                                             ; preds = %6038
  %6044 = load i32, ptr %639, align 4, !tbaa !5
  %6045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6046 = call i32 @s2n_print_stacktrace(ptr noundef %6045) #12
  %6047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6048 = trunc nuw i8 %6047 to i1
  br i1 %6048, label %6049, label %6053

6049:                                             ; preds = %6043
  %6050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6051 = call i32 @fileno(ptr noundef %6050) #12
  %6052 = call i32 @isatty(i32 noundef %6051) #12
  %.not1287 = icmp eq i32 %6052, 0
  br i1 %.not1287, label %6053, label %6054

6053:                                             ; preds = %6049, %6043
  br label %6054

6054:                                             ; preds = %6049, %6053
  %.str.5.sink3653 = phi ptr [ @.str.5, %6053 ], [ @.str.2, %6049 ]
  store i32 %6044, ptr %639, align 4, !tbaa !5
  %6055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6056 = load i32, ptr @test_count, align 4, !tbaa !5
  %6057 = load i32, ptr %585, align 4, !tbaa !5
  %6058 = call ptr @s2n_strerror(i32 noundef %6057, ptr noundef nonnull @.str.4) #12
  %6059 = load i32, ptr %585, align 4, !tbaa !5
  %6060 = call ptr @s2n_strerror_debug(i32 noundef %6059, ptr noundef nonnull @.str.4) #12
  %6061 = load i32, ptr %639, align 4, !tbaa !5
  %6062 = call ptr @strerror(i32 noundef %6061) #12
  %6063 = load i32, ptr %639, align 4, !tbaa !5
  %6064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6055, ptr noundef nonnull %.str.5.sink3653, i32 noundef %6056, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %6058, ptr noundef %6060, ptr noundef %6062, i32 noundef %6063) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6065:                                             ; preds = %6038
  %6066 = add nsw i32 %6039, 2
  store i32 %6066, ptr @test_count, align 4, !tbaa !5
  %6067 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %6068 = icmp eq ptr %6067, null
  br i1 %6068, label %6069, label %6091

6069:                                             ; preds = %6065
  %6070 = load i32, ptr %639, align 4, !tbaa !5
  %6071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6072 = call i32 @s2n_print_stacktrace(ptr noundef %6071) #12
  %6073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6074 = trunc nuw i8 %6073 to i1
  br i1 %6074, label %6075, label %6079

6075:                                             ; preds = %6069
  %6076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6077 = call i32 @fileno(ptr noundef %6076) #12
  %6078 = call i32 @isatty(i32 noundef %6077) #12
  %.not1578 = icmp eq i32 %6078, 0
  br i1 %.not1578, label %6079, label %6080

6079:                                             ; preds = %6075, %6069
  br label %6080

6080:                                             ; preds = %6075, %6079
  %.str.5.sink3662 = phi ptr [ @.str.5, %6079 ], [ @.str.2, %6075 ]
  store i32 %6070, ptr %639, align 4, !tbaa !5
  %6081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6082 = load i32, ptr @test_count, align 4, !tbaa !5
  %6083 = load i32, ptr %585, align 4, !tbaa !5
  %6084 = call ptr @s2n_strerror(i32 noundef %6083, ptr noundef nonnull @.str.4) #12
  %6085 = load i32, ptr %585, align 4, !tbaa !5
  %6086 = call ptr @s2n_strerror_debug(i32 noundef %6085, ptr noundef nonnull @.str.4) #12
  %6087 = load i32, ptr %639, align 4, !tbaa !5
  %6088 = call ptr @strerror(i32 noundef %6087) #12
  %6089 = load i32, ptr %639, align 4, !tbaa !5
  %6090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6081, ptr noundef nonnull %.str.5.sink3662, i32 noundef %6082, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 457, ptr noundef %6084, ptr noundef %6086, ptr noundef %6088, i32 noundef %6089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6091:                                             ; preds = %6065
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %6092 = load i32, ptr @test_count, align 4, !tbaa !5
  %6093 = add nsw i32 %6092, 1
  store i32 %6093, ptr @test_count, align 4, !tbaa !5
  %6094 = load i32, ptr %64, align 4, !tbaa !5
  %6095 = icmp eq i32 %6094, 1
  br i1 %6095, label %6118, label %6096

6096:                                             ; preds = %6091
  %6097 = load i32, ptr %639, align 4, !tbaa !5
  %6098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6099 = call i32 @s2n_print_stacktrace(ptr noundef %6098) #12
  %6100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6101 = trunc nuw i8 %6100 to i1
  br i1 %6101, label %6102, label %6106

6102:                                             ; preds = %6096
  %6103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6104 = call i32 @fileno(ptr noundef %6103) #12
  %6105 = call i32 @isatty(i32 noundef %6104) #12
  %.not1288 = icmp eq i32 %6105, 0
  br i1 %.not1288, label %6106, label %6107

6106:                                             ; preds = %6102, %6096
  br label %6107

6107:                                             ; preds = %6102, %6106
  %.str.5.sink3671 = phi ptr [ @.str.5, %6106 ], [ @.str.2, %6102 ]
  store i32 %6097, ptr %639, align 4, !tbaa !5
  %6108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6109 = load i32, ptr @test_count, align 4, !tbaa !5
  %6110 = load i32, ptr %585, align 4, !tbaa !5
  %6111 = call ptr @s2n_strerror(i32 noundef %6110, ptr noundef nonnull @.str.4) #12
  %6112 = load i32, ptr %585, align 4, !tbaa !5
  %6113 = call ptr @s2n_strerror_debug(i32 noundef %6112, ptr noundef nonnull @.str.4) #12
  %6114 = load i32, ptr %639, align 4, !tbaa !5
  %6115 = call ptr @strerror(i32 noundef %6114) #12
  %6116 = load i32, ptr %639, align 4, !tbaa !5
  %6117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6108, ptr noundef nonnull %.str.5.sink3671, i32 noundef %6109, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %6111, ptr noundef %6113, ptr noundef %6115, i32 noundef %6116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6118:                                             ; preds = %6091
  %6119 = add nsw i32 %6092, 2
  store i32 %6119, ptr @test_count, align 4, !tbaa !5
  %6120 = load ptr, ptr %61, align 8, !tbaa !9
  %6121 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6120) #12
  %6122 = icmp eq i32 %6121, 19
  br i1 %6122, label %6145, label %6123

6123:                                             ; preds = %6118
  %6124 = load i32, ptr %639, align 4, !tbaa !5
  %6125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6126 = call i32 @s2n_print_stacktrace(ptr noundef %6125) #12
  %6127 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6128 = trunc nuw i8 %6127 to i1
  br i1 %6128, label %6129, label %6133

6129:                                             ; preds = %6123
  %6130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6131 = call i32 @fileno(ptr noundef %6130) #12
  %6132 = call i32 @isatty(i32 noundef %6131) #12
  %.not1289 = icmp eq i32 %6132, 0
  br i1 %.not1289, label %6133, label %6134

6133:                                             ; preds = %6129, %6123
  br label %6134

6134:                                             ; preds = %6129, %6133
  %.str.5.sink3680 = phi ptr [ @.str.5, %6133 ], [ @.str.2, %6129 ]
  store i32 %6124, ptr %639, align 4, !tbaa !5
  %6135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6136 = load i32, ptr @test_count, align 4, !tbaa !5
  %6137 = load i32, ptr %585, align 4, !tbaa !5
  %6138 = call ptr @s2n_strerror(i32 noundef %6137, ptr noundef nonnull @.str.4) #12
  %6139 = load i32, ptr %585, align 4, !tbaa !5
  %6140 = call ptr @s2n_strerror_debug(i32 noundef %6139, ptr noundef nonnull @.str.4) #12
  %6141 = load i32, ptr %639, align 4, !tbaa !5
  %6142 = call ptr @strerror(i32 noundef %6141) #12
  %6143 = load i32, ptr %639, align 4, !tbaa !5
  %6144 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6135, ptr noundef nonnull %.str.5.sink3680, i32 noundef %6136, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 458, ptr noundef %6138, ptr noundef %6140, ptr noundef %6142, i32 noundef %6143) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6145:                                             ; preds = %6118
  %6146 = load i32, ptr @test_count, align 4, !tbaa !5
  %6147 = add nsw i32 %6146, 1
  store i32 %6147, ptr @test_count, align 4, !tbaa !5
  %6148 = load i64, ptr %65, align 8, !tbaa !42
  %6149 = icmp eq i64 %6148, 60
  br i1 %6149, label %6172, label %6150

6150:                                             ; preds = %6145
  %6151 = load i32, ptr %639, align 4, !tbaa !5
  %6152 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6153 = call i32 @s2n_print_stacktrace(ptr noundef %6152) #12
  %6154 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6155 = trunc nuw i8 %6154 to i1
  br i1 %6155, label %6156, label %6160

6156:                                             ; preds = %6150
  %6157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6158 = call i32 @fileno(ptr noundef %6157) #12
  %6159 = call i32 @isatty(i32 noundef %6158) #12
  %.not1290 = icmp eq i32 %6159, 0
  br i1 %.not1290, label %6160, label %6161

6160:                                             ; preds = %6156, %6150
  br label %6161

6161:                                             ; preds = %6156, %6160
  %.str.5.sink3689 = phi ptr [ @.str.5, %6160 ], [ @.str.2, %6156 ]
  store i32 %6151, ptr %639, align 4, !tbaa !5
  %6162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6163 = load i32, ptr @test_count, align 4, !tbaa !5
  %6164 = load i32, ptr %585, align 4, !tbaa !5
  %6165 = call ptr @s2n_strerror(i32 noundef %6164, ptr noundef nonnull @.str.4) #12
  %6166 = load i32, ptr %585, align 4, !tbaa !5
  %6167 = call ptr @s2n_strerror_debug(i32 noundef %6166, ptr noundef nonnull @.str.4) #12
  %6168 = load i32, ptr %639, align 4, !tbaa !5
  %6169 = call ptr @strerror(i32 noundef %6168) #12
  %6170 = load i32, ptr %639, align 4, !tbaa !5
  %6171 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6162, ptr noundef nonnull %.str.5.sink3689, i32 noundef %6163, ptr noundef nonnull @.str.88, ptr noundef nonnull @.str.1, i32 noundef 459, ptr noundef %6165, ptr noundef %6167, ptr noundef %6169, i32 noundef %6170) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6172:                                             ; preds = %6145
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %66) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %66, i8 0, i64 24, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %67) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %67, i8 0, i64 40, i1 false)
  %6173 = add nsw i32 %6146, 2
  store i32 %6173, ptr @test_count, align 4, !tbaa !5
  %6174 = call i32 @s2n_blob_init(ptr noundef nonnull %66, ptr noundef nonnull %63, i32 noundef 100) #12
  %6175 = icmp eq i32 %6174, -1
  br i1 %6175, label %6176, label %6198

6176:                                             ; preds = %6172
  %6177 = load i32, ptr %639, align 4, !tbaa !5
  %6178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6179 = call i32 @s2n_print_stacktrace(ptr noundef %6178) #12
  %6180 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6181 = trunc nuw i8 %6180 to i1
  br i1 %6181, label %6182, label %6186

6182:                                             ; preds = %6176
  %6183 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6184 = call i32 @fileno(ptr noundef %6183) #12
  %6185 = call i32 @isatty(i32 noundef %6184) #12
  %.not1577 = icmp eq i32 %6185, 0
  br i1 %.not1577, label %6186, label %6187

6186:                                             ; preds = %6182, %6176
  br label %6187

6187:                                             ; preds = %6182, %6186
  %.str.5.sink3698 = phi ptr [ @.str.5, %6186 ], [ @.str.2, %6182 ]
  store i32 %6177, ptr %639, align 4, !tbaa !5
  %6188 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6189 = load i32, ptr @test_count, align 4, !tbaa !5
  %6190 = load i32, ptr %585, align 4, !tbaa !5
  %6191 = call ptr @s2n_strerror(i32 noundef %6190, ptr noundef nonnull @.str.4) #12
  %6192 = load i32, ptr %585, align 4, !tbaa !5
  %6193 = call ptr @s2n_strerror_debug(i32 noundef %6192, ptr noundef nonnull @.str.4) #12
  %6194 = load i32, ptr %639, align 4, !tbaa !5
  %6195 = call ptr @strerror(i32 noundef %6194) #12
  %6196 = load i32, ptr %639, align 4, !tbaa !5
  %6197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6188, ptr noundef nonnull %.str.5.sink3698, i32 noundef %6189, ptr noundef nonnull @.str.89, ptr noundef nonnull @.str.1, i32 noundef 463, ptr noundef %6191, ptr noundef %6193, ptr noundef %6195, i32 noundef %6196) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6198:                                             ; preds = %6172
  %6199 = load i32, ptr @test_count, align 4, !tbaa !5
  %6200 = add nsw i32 %6199, 1
  store i32 %6200, ptr @test_count, align 4, !tbaa !5
  %6201 = call i32 @s2n_stuffer_init(ptr noundef nonnull %67, ptr noundef nonnull %66) #12
  %6202 = icmp eq i32 %6201, -1
  br i1 %6202, label %6203, label %6225

6203:                                             ; preds = %6198
  %6204 = load i32, ptr %639, align 4, !tbaa !5
  %6205 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6206 = call i32 @s2n_print_stacktrace(ptr noundef %6205) #12
  %6207 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6208 = trunc nuw i8 %6207 to i1
  br i1 %6208, label %6209, label %6213

6209:                                             ; preds = %6203
  %6210 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6211 = call i32 @fileno(ptr noundef %6210) #12
  %6212 = call i32 @isatty(i32 noundef %6211) #12
  %.not1576 = icmp eq i32 %6212, 0
  br i1 %.not1576, label %6213, label %6214

6213:                                             ; preds = %6209, %6203
  br label %6214

6214:                                             ; preds = %6209, %6213
  %.str.5.sink3707 = phi ptr [ @.str.5, %6213 ], [ @.str.2, %6209 ]
  store i32 %6204, ptr %639, align 4, !tbaa !5
  %6215 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6216 = load i32, ptr @test_count, align 4, !tbaa !5
  %6217 = load i32, ptr %585, align 4, !tbaa !5
  %6218 = call ptr @s2n_strerror(i32 noundef %6217, ptr noundef nonnull @.str.4) #12
  %6219 = load i32, ptr %585, align 4, !tbaa !5
  %6220 = call ptr @s2n_strerror_debug(i32 noundef %6219, ptr noundef nonnull @.str.4) #12
  %6221 = load i32, ptr %639, align 4, !tbaa !5
  %6222 = call ptr @strerror(i32 noundef %6221) #12
  %6223 = load i32, ptr %639, align 4, !tbaa !5
  %6224 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6215, ptr noundef nonnull %.str.5.sink3707, i32 noundef %6216, ptr noundef nonnull @.str.90, ptr noundef nonnull @.str.1, i32 noundef 464, ptr noundef %6218, ptr noundef %6220, ptr noundef %6222, i32 noundef %6223) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6225:                                             ; preds = %6198
  %6226 = load i32, ptr @test_count, align 4, !tbaa !5
  %6227 = add nsw i32 %6226, 1
  store i32 %6227, ptr @test_count, align 4, !tbaa !5
  %6228 = load i64, ptr %65, align 8, !tbaa !42
  %6229 = trunc i64 %6228 to i32
  %6230 = call i32 @s2n_stuffer_skip_write(ptr noundef nonnull %67, i32 noundef %6229) #12
  %6231 = icmp eq i32 %6230, -1
  br i1 %6231, label %6232, label %6254

6232:                                             ; preds = %6225
  %6233 = load i32, ptr %639, align 4, !tbaa !5
  %6234 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6235 = call i32 @s2n_print_stacktrace(ptr noundef %6234) #12
  %6236 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6237 = trunc nuw i8 %6236 to i1
  br i1 %6237, label %6238, label %6242

6238:                                             ; preds = %6232
  %6239 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6240 = call i32 @fileno(ptr noundef %6239) #12
  %6241 = call i32 @isatty(i32 noundef %6240) #12
  %.not1575 = icmp eq i32 %6241, 0
  br i1 %.not1575, label %6242, label %6243

6242:                                             ; preds = %6238, %6232
  br label %6243

6243:                                             ; preds = %6238, %6242
  %.str.5.sink3716 = phi ptr [ @.str.5, %6242 ], [ @.str.2, %6238 ]
  store i32 %6233, ptr %639, align 4, !tbaa !5
  %6244 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6245 = load i32, ptr @test_count, align 4, !tbaa !5
  %6246 = load i32, ptr %585, align 4, !tbaa !5
  %6247 = call ptr @s2n_strerror(i32 noundef %6246, ptr noundef nonnull @.str.4) #12
  %6248 = load i32, ptr %585, align 4, !tbaa !5
  %6249 = call ptr @s2n_strerror_debug(i32 noundef %6248, ptr noundef nonnull @.str.4) #12
  %6250 = load i32, ptr %639, align 4, !tbaa !5
  %6251 = call ptr @strerror(i32 noundef %6250) #12
  %6252 = load i32, ptr %639, align 4, !tbaa !5
  %6253 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6244, ptr noundef nonnull %.str.5.sink3716, i32 noundef %6245, ptr noundef nonnull @.str.91, ptr noundef nonnull @.str.1, i32 noundef 465, ptr noundef %6247, ptr noundef %6249, ptr noundef %6251, i32 noundef %6252) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6254:                                             ; preds = %6225
  call void @llvm.lifetime.start.p0(i64 12, ptr nonnull %68) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 1 dereferenceable(12) %68, i8 0, i64 12, i1 false)
  %6255 = load i32, ptr @test_count, align 4, !tbaa !5
  %6256 = add nsw i32 %6255, 1
  store i32 %6256, ptr @test_count, align 4, !tbaa !5
  %6257 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %67, ptr noundef nonnull %68, i32 noundef 12) #12
  %6258 = icmp eq i32 %6257, -1
  br i1 %6258, label %6298, label %6320

6259:                                             ; preds = %6320
  %6260 = add nsw i32 %6321, 2
  store i32 %6260, ptr @test_count, align 4, !tbaa !5
  %6261 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %67, ptr noundef nonnull %68, i32 noundef 12) #12
  %6262 = icmp eq i32 %6261, -1
  br i1 %6262, label %6298, label %6263

6263:                                             ; preds = %6259
  %6264 = load i32, ptr @test_count, align 4, !tbaa !5
  %6265 = add nsw i32 %6264, 1
  store i32 %6265, ptr @test_count, align 4, !tbaa !5
  %bcmp1572.1 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %68, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %6266 = icmp eq i32 %bcmp1572.1, 0
  br i1 %6266, label %6267, label %6324

6267:                                             ; preds = %6263
  %6268 = add nsw i32 %6264, 2
  store i32 %6268, ptr @test_count, align 4, !tbaa !5
  %6269 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %67, ptr noundef nonnull %68, i32 noundef 12) #12
  %6270 = icmp eq i32 %6269, -1
  br i1 %6270, label %6298, label %6271

6271:                                             ; preds = %6267
  %6272 = load i32, ptr @test_count, align 4, !tbaa !5
  %6273 = add nsw i32 %6272, 1
  store i32 %6273, ptr @test_count, align 4, !tbaa !5
  %bcmp1572.2 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %68, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %6274 = icmp eq i32 %bcmp1572.2, 0
  br i1 %6274, label %6275, label %6324

6275:                                             ; preds = %6271
  %6276 = add nsw i32 %6272, 2
  store i32 %6276, ptr @test_count, align 4, !tbaa !5
  %6277 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %67, ptr noundef nonnull %68, i32 noundef 12) #12
  %6278 = icmp eq i32 %6277, -1
  br i1 %6278, label %6298, label %6279

6279:                                             ; preds = %6275
  %6280 = load i32, ptr @test_count, align 4, !tbaa !5
  %6281 = add nsw i32 %6280, 1
  store i32 %6281, ptr @test_count, align 4, !tbaa !5
  %bcmp1572.3 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %68, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %6282 = icmp eq i32 %bcmp1572.3, 0
  br i1 %6282, label %6283, label %6324

6283:                                             ; preds = %6279
  %6284 = add nsw i32 %6280, 2
  store i32 %6284, ptr @test_count, align 4, !tbaa !5
  %6285 = call i32 @s2n_stuffer_read_bytes(ptr noundef nonnull %67, ptr noundef nonnull %68, i32 noundef 12) #12
  %6286 = icmp eq i32 %6285, -1
  br i1 %6286, label %6298, label %6287

6287:                                             ; preds = %6283
  %6288 = load i32, ptr @test_count, align 4, !tbaa !5
  %6289 = add nsw i32 %6288, 1
  store i32 %6289, ptr @test_count, align 4, !tbaa !5
  %bcmp1572.4 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %68, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %6290 = icmp eq i32 %bcmp1572.4, 0
  br i1 %6290, label %6291, label %6324

6291:                                             ; preds = %6287
  %6292 = add nsw i32 %6288, 2
  store i32 %6292, ptr @test_count, align 4, !tbaa !5
  %6293 = getelementptr inbounds i8, ptr %67, i64 28
  %6294 = load i32, ptr %6293, align 4, !tbaa !48
  %6295 = getelementptr inbounds i8, ptr %67, i64 24
  %6296 = load i32, ptr %6295, align 8, !tbaa !49
  %6297 = icmp eq i32 %6294, %6296
  br i1 %6297, label %6368, label %6346

6298:                                             ; preds = %6283, %6275, %6267, %6259, %6254
  %6299 = load i32, ptr %639, align 4, !tbaa !5
  %6300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6301 = call i32 @s2n_print_stacktrace(ptr noundef %6300) #12
  %6302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6303 = trunc nuw i8 %6302 to i1
  br i1 %6303, label %6304, label %6308

6304:                                             ; preds = %6298
  %6305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6306 = call i32 @fileno(ptr noundef %6305) #12
  %6307 = call i32 @isatty(i32 noundef %6306) #12
  %.not1574 = icmp eq i32 %6307, 0
  br i1 %.not1574, label %6308, label %6309

6308:                                             ; preds = %6304, %6298
  br label %6309

6309:                                             ; preds = %6304, %6308
  %.str.5.sink3725 = phi ptr [ @.str.5, %6308 ], [ @.str.2, %6304 ]
  store i32 %6299, ptr %639, align 4, !tbaa !5
  %6310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6311 = load i32, ptr @test_count, align 4, !tbaa !5
  %6312 = load i32, ptr %585, align 4, !tbaa !5
  %6313 = call ptr @s2n_strerror(i32 noundef %6312, ptr noundef nonnull @.str.4) #12
  %6314 = load i32, ptr %585, align 4, !tbaa !5
  %6315 = call ptr @s2n_strerror_debug(i32 noundef %6314, ptr noundef nonnull @.str.4) #12
  %6316 = load i32, ptr %639, align 4, !tbaa !5
  %6317 = call ptr @strerror(i32 noundef %6316) #12
  %6318 = load i32, ptr %639, align 4, !tbaa !5
  %6319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6310, ptr noundef nonnull %.str.5.sink3725, i32 noundef %6311, ptr noundef nonnull @.str.92, ptr noundef nonnull @.str.1, i32 noundef 469, ptr noundef %6313, ptr noundef %6315, ptr noundef %6317, i32 noundef %6318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6320:                                             ; preds = %6254
  %6321 = load i32, ptr @test_count, align 4, !tbaa !5
  %6322 = add nsw i32 %6321, 1
  store i32 %6322, ptr @test_count, align 4, !tbaa !5
  %bcmp1572 = call i32 @bcmp(ptr noundef nonnull dereferenceable(12) %68, ptr noundef nonnull dereferenceable(12) %3, i64 12)
  %6323 = icmp eq i32 %bcmp1572, 0
  br i1 %6323, label %6259, label %6324

6324:                                             ; preds = %6287, %6279, %6271, %6263, %6320
  %6325 = load i32, ptr %639, align 4, !tbaa !5
  %6326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6327 = call i32 @s2n_print_stacktrace(ptr noundef %6326) #12
  %6328 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6329 = trunc nuw i8 %6328 to i1
  br i1 %6329, label %6330, label %6334

6330:                                             ; preds = %6324
  %6331 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6332 = call i32 @fileno(ptr noundef %6331) #12
  %6333 = call i32 @isatty(i32 noundef %6332) #12
  %.not1573 = icmp eq i32 %6333, 0
  br i1 %.not1573, label %6334, label %6335

6334:                                             ; preds = %6330, %6324
  br label %6335

6335:                                             ; preds = %6330, %6334
  %.str.5.sink3734 = phi ptr [ @.str.5, %6334 ], [ @.str.2, %6330 ]
  store i32 %6325, ptr %639, align 4, !tbaa !5
  %6336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6337 = load i32, ptr @test_count, align 4, !tbaa !5
  %6338 = load i32, ptr %585, align 4, !tbaa !5
  %6339 = call ptr @s2n_strerror(i32 noundef %6338, ptr noundef nonnull @.str.4) #12
  %6340 = load i32, ptr %585, align 4, !tbaa !5
  %6341 = call ptr @s2n_strerror_debug(i32 noundef %6340, ptr noundef nonnull @.str.4) #12
  %6342 = load i32, ptr %639, align 4, !tbaa !5
  %6343 = call ptr @strerror(i32 noundef %6342) #12
  %6344 = load i32, ptr %639, align 4, !tbaa !5
  %6345 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6336, ptr noundef nonnull %.str.5.sink3734, i32 noundef %6337, ptr noundef nonnull @.str.93, ptr noundef nonnull @.str.1, i32 noundef 470, ptr noundef %6339, ptr noundef %6341, ptr noundef %6343, i32 noundef %6344) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6346:                                             ; preds = %6291
  %6347 = load i32, ptr %639, align 4, !tbaa !5
  %6348 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6349 = call i32 @s2n_print_stacktrace(ptr noundef %6348) #12
  %6350 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6351 = trunc nuw i8 %6350 to i1
  br i1 %6351, label %6352, label %6356

6352:                                             ; preds = %6346
  %6353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6354 = call i32 @fileno(ptr noundef %6353) #12
  %6355 = call i32 @isatty(i32 noundef %6354) #12
  %.not1291 = icmp eq i32 %6355, 0
  br i1 %.not1291, label %6356, label %6357

6356:                                             ; preds = %6352, %6346
  br label %6357

6357:                                             ; preds = %6352, %6356
  %.str.5.sink3743 = phi ptr [ @.str.5, %6356 ], [ @.str.2, %6352 ]
  store i32 %6347, ptr %639, align 4, !tbaa !5
  %6358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6359 = load i32, ptr @test_count, align 4, !tbaa !5
  %6360 = load i32, ptr %585, align 4, !tbaa !5
  %6361 = call ptr @s2n_strerror(i32 noundef %6360, ptr noundef nonnull @.str.4) #12
  %6362 = load i32, ptr %585, align 4, !tbaa !5
  %6363 = call ptr @s2n_strerror_debug(i32 noundef %6362, ptr noundef nonnull @.str.4) #12
  %6364 = load i32, ptr %639, align 4, !tbaa !5
  %6365 = call ptr @strerror(i32 noundef %6364) #12
  %6366 = load i32, ptr %639, align 4, !tbaa !5
  %6367 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6358, ptr noundef nonnull %.str.5.sink3743, i32 noundef %6359, ptr noundef nonnull @.str.94, ptr noundef nonnull @.str.1, i32 noundef 472, ptr noundef %6361, ptr noundef %6363, ptr noundef %6365, i32 noundef %6366) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6368:                                             ; preds = %6291
  %6369 = add nsw i32 %6288, 3
  store i32 %6369, ptr @test_count, align 4, !tbaa !5
  %6370 = load ptr, ptr %61, align 8, !tbaa !9
  %6371 = load ptr, ptr %60, align 8, !tbaa !9
  %6372 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6370, ptr noundef %6371) #12
  %6373 = icmp eq i32 %6372, -1
  br i1 %6373, label %6374, label %6396

6374:                                             ; preds = %6368
  %6375 = load i32, ptr %639, align 4, !tbaa !5
  %6376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6377 = call i32 @s2n_print_stacktrace(ptr noundef %6376) #12
  %6378 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6379 = trunc nuw i8 %6378 to i1
  br i1 %6379, label %6380, label %6384

6380:                                             ; preds = %6374
  %6381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6382 = call i32 @fileno(ptr noundef %6381) #12
  %6383 = call i32 @isatty(i32 noundef %6382) #12
  %.not1571 = icmp eq i32 %6383, 0
  br i1 %.not1571, label %6384, label %6385

6384:                                             ; preds = %6380, %6374
  br label %6385

6385:                                             ; preds = %6380, %6384
  %.str.5.sink3752 = phi ptr [ @.str.5, %6384 ], [ @.str.2, %6380 ]
  store i32 %6375, ptr %639, align 4, !tbaa !5
  %6386 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6387 = load i32, ptr @test_count, align 4, !tbaa !5
  %6388 = load i32, ptr %585, align 4, !tbaa !5
  %6389 = call ptr @s2n_strerror(i32 noundef %6388, ptr noundef nonnull @.str.4) #12
  %6390 = load i32, ptr %585, align 4, !tbaa !5
  %6391 = call ptr @s2n_strerror_debug(i32 noundef %6390, ptr noundef nonnull @.str.4) #12
  %6392 = load i32, ptr %639, align 4, !tbaa !5
  %6393 = call ptr @strerror(i32 noundef %6392) #12
  %6394 = load i32, ptr %639, align 4, !tbaa !5
  %6395 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6386, ptr noundef nonnull %.str.5.sink3752, i32 noundef %6387, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 474, ptr noundef %6389, ptr noundef %6391, ptr noundef %6393, i32 noundef %6394) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6396:                                             ; preds = %6368
  %6397 = load i32, ptr @test_count, align 4, !tbaa !5
  %6398 = add nsw i32 %6397, 1
  store i32 %6398, ptr @test_count, align 4, !tbaa !5
  %6399 = load ptr, ptr %60, align 8, !tbaa !9
  %6400 = call i32 @s2n_connection_free(ptr noundef %6399) #12
  %6401 = icmp eq i32 %6400, -1
  br i1 %6401, label %6402, label %6424

6402:                                             ; preds = %6396
  %6403 = load i32, ptr %639, align 4, !tbaa !5
  %6404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6405 = call i32 @s2n_print_stacktrace(ptr noundef %6404) #12
  %6406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6407 = trunc nuw i8 %6406 to i1
  br i1 %6407, label %6408, label %6412

6408:                                             ; preds = %6402
  %6409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6410 = call i32 @fileno(ptr noundef %6409) #12
  %6411 = call i32 @isatty(i32 noundef %6410) #12
  %.not1570 = icmp eq i32 %6411, 0
  br i1 %.not1570, label %6412, label %6413

6412:                                             ; preds = %6408, %6402
  br label %6413

6413:                                             ; preds = %6408, %6412
  %.str.5.sink3761 = phi ptr [ @.str.5, %6412 ], [ @.str.2, %6408 ]
  store i32 %6403, ptr %639, align 4, !tbaa !5
  %6414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6415 = load i32, ptr @test_count, align 4, !tbaa !5
  %6416 = load i32, ptr %585, align 4, !tbaa !5
  %6417 = call ptr @s2n_strerror(i32 noundef %6416, ptr noundef nonnull @.str.4) #12
  %6418 = load i32, ptr %585, align 4, !tbaa !5
  %6419 = call ptr @s2n_strerror_debug(i32 noundef %6418, ptr noundef nonnull @.str.4) #12
  %6420 = load i32, ptr %639, align 4, !tbaa !5
  %6421 = call ptr @strerror(i32 noundef %6420) #12
  %6422 = load i32, ptr %639, align 4, !tbaa !5
  %6423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6414, ptr noundef nonnull %.str.5.sink3761, i32 noundef %6415, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 476, ptr noundef %6417, ptr noundef %6419, ptr noundef %6421, i32 noundef %6422) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6424:                                             ; preds = %6396
  %6425 = load i32, ptr @test_count, align 4, !tbaa !5
  %6426 = add nsw i32 %6425, 1
  store i32 %6426, ptr @test_count, align 4, !tbaa !5
  %6427 = load ptr, ptr %61, align 8, !tbaa !9
  %6428 = call i32 @s2n_connection_free(ptr noundef %6427) #12
  %6429 = icmp eq i32 %6428, -1
  br i1 %6429, label %6430, label %6452

6430:                                             ; preds = %6424
  %6431 = load i32, ptr %639, align 4, !tbaa !5
  %6432 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6433 = call i32 @s2n_print_stacktrace(ptr noundef %6432) #12
  %6434 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6435 = trunc nuw i8 %6434 to i1
  br i1 %6435, label %6436, label %6440

6436:                                             ; preds = %6430
  %6437 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6438 = call i32 @fileno(ptr noundef %6437) #12
  %6439 = call i32 @isatty(i32 noundef %6438) #12
  %.not1569 = icmp eq i32 %6439, 0
  br i1 %.not1569, label %6440, label %6441

6440:                                             ; preds = %6436, %6430
  br label %6441

6441:                                             ; preds = %6436, %6440
  %.str.5.sink3770 = phi ptr [ @.str.5, %6440 ], [ @.str.2, %6436 ]
  store i32 %6431, ptr %639, align 4, !tbaa !5
  %6442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6443 = load i32, ptr @test_count, align 4, !tbaa !5
  %6444 = load i32, ptr %585, align 4, !tbaa !5
  %6445 = call ptr @s2n_strerror(i32 noundef %6444, ptr noundef nonnull @.str.4) #12
  %6446 = load i32, ptr %585, align 4, !tbaa !5
  %6447 = call ptr @s2n_strerror_debug(i32 noundef %6446, ptr noundef nonnull @.str.4) #12
  %6448 = load i32, ptr %639, align 4, !tbaa !5
  %6449 = call ptr @strerror(i32 noundef %6448) #12
  %6450 = load i32, ptr %639, align 4, !tbaa !5
  %6451 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6442, ptr noundef nonnull %.str.5.sink3770, i32 noundef %6443, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 477, ptr noundef %6445, ptr noundef %6447, ptr noundef %6449, i32 noundef %6450) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6452:                                             ; preds = %6424
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %68) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %67) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %66) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %65) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %64) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %63) #12
  %6453 = call i32 @s2n_io_pair_close(ptr noundef nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %62) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %61) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %60) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %69) #12
  store ptr null, ptr %69, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %70) #12
  store ptr null, ptr %70, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %71) #12
  store i64 0, ptr %71, align 8
  %6454 = load i32, ptr @test_count, align 4, !tbaa !5
  %6455 = add nsw i32 %6454, 1
  store i32 %6455, ptr @test_count, align 4, !tbaa !5
  %6456 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %69, ptr noundef nonnull %70, ptr noundef nonnull %71)
  %6457 = call zeroext i1 @s2n_result_is_ok(i32 %6456)
  br i1 %6457, label %6480, label %6458

6458:                                             ; preds = %6452
  %6459 = load i32, ptr %639, align 4, !tbaa !5
  %6460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6461 = call i32 @s2n_print_stacktrace(ptr noundef %6460) #12
  %6462 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6463 = trunc nuw i8 %6462 to i1
  br i1 %6463, label %6464, label %6468

6464:                                             ; preds = %6458
  %6465 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6466 = call i32 @fileno(ptr noundef %6465) #12
  %6467 = call i32 @isatty(i32 noundef %6466) #12
  %.not1292 = icmp eq i32 %6467, 0
  br i1 %.not1292, label %6468, label %6469

6468:                                             ; preds = %6464, %6458
  br label %6469

6469:                                             ; preds = %6464, %6468
  %.str.5.sink3779 = phi ptr [ @.str.5, %6468 ], [ @.str.2, %6464 ]
  store i32 %6459, ptr %639, align 4, !tbaa !5
  %6470 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6471 = load i32, ptr @test_count, align 4, !tbaa !5
  %6472 = load i32, ptr %585, align 4, !tbaa !5
  %6473 = call ptr @s2n_strerror(i32 noundef %6472, ptr noundef nonnull @.str.4) #12
  %6474 = load i32, ptr %585, align 4, !tbaa !5
  %6475 = call ptr @s2n_strerror_debug(i32 noundef %6474, ptr noundef nonnull @.str.4) #12
  %6476 = load i32, ptr %639, align 4, !tbaa !5
  %6477 = call ptr @strerror(i32 noundef %6476) #12
  %6478 = load i32, ptr %639, align 4, !tbaa !5
  %6479 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6470, ptr noundef nonnull %.str.5.sink3779, i32 noundef %6471, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 484, ptr noundef %6473, ptr noundef %6475, ptr noundef %6477, i32 noundef %6478) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6480:                                             ; preds = %6452
  %6481 = load i32, ptr @test_count, align 4, !tbaa !5
  %6482 = add nsw i32 %6481, 1
  store i32 %6482, ptr @test_count, align 4, !tbaa !5
  %6483 = load ptr, ptr %69, align 8, !tbaa !9
  %6484 = load ptr, ptr %7, align 8, !tbaa !9
  %6485 = call i32 @s2n_connection_append_psk(ptr noundef %6483, ptr noundef %6484) #12
  %6486 = icmp eq i32 %6485, -1
  br i1 %6486, label %6487, label %6509

6487:                                             ; preds = %6480
  %6488 = load i32, ptr %639, align 4, !tbaa !5
  %6489 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6490 = call i32 @s2n_print_stacktrace(ptr noundef %6489) #12
  %6491 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6492 = trunc nuw i8 %6491 to i1
  br i1 %6492, label %6493, label %6497

6493:                                             ; preds = %6487
  %6494 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6495 = call i32 @fileno(ptr noundef %6494) #12
  %6496 = call i32 @isatty(i32 noundef %6495) #12
  %.not1568 = icmp eq i32 %6496, 0
  br i1 %.not1568, label %6497, label %6498

6497:                                             ; preds = %6493, %6487
  br label %6498

6498:                                             ; preds = %6493, %6497
  %.str.5.sink3788 = phi ptr [ @.str.5, %6497 ], [ @.str.2, %6493 ]
  store i32 %6488, ptr %639, align 4, !tbaa !5
  %6499 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6500 = load i32, ptr @test_count, align 4, !tbaa !5
  %6501 = load i32, ptr %585, align 4, !tbaa !5
  %6502 = call ptr @s2n_strerror(i32 noundef %6501, ptr noundef nonnull @.str.4) #12
  %6503 = load i32, ptr %585, align 4, !tbaa !5
  %6504 = call ptr @s2n_strerror_debug(i32 noundef %6503, ptr noundef nonnull @.str.4) #12
  %6505 = load i32, ptr %639, align 4, !tbaa !5
  %6506 = call ptr @strerror(i32 noundef %6505) #12
  %6507 = load i32, ptr %639, align 4, !tbaa !5
  %6508 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6499, ptr noundef nonnull %.str.5.sink3788, i32 noundef %6500, ptr noundef nonnull @.str.95, ptr noundef nonnull @.str.1, i32 noundef 486, ptr noundef %6502, ptr noundef %6504, ptr noundef %6506, i32 noundef %6507) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6509:                                             ; preds = %6480
  %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 ptr, ptr %70, align 8, !tbaa !9
  %6513 = call i32 @s2n_connection_append_psk(ptr noundef %6512, ptr noundef %5708) #12
  %6514 = icmp eq i32 %6513, -1
  br i1 %6514, label %6515, label %6537

6515:                                             ; preds = %6509
  %6516 = load i32, ptr %639, align 4, !tbaa !5
  %6517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6518 = call i32 @s2n_print_stacktrace(ptr noundef %6517) #12
  %6519 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6520 = trunc nuw i8 %6519 to i1
  br i1 %6520, label %6521, label %6525

6521:                                             ; preds = %6515
  %6522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6523 = call i32 @fileno(ptr noundef %6522) #12
  %6524 = call i32 @isatty(i32 noundef %6523) #12
  %.not1567 = icmp eq i32 %6524, 0
  br i1 %.not1567, label %6525, label %6526

6525:                                             ; preds = %6521, %6515
  br label %6526

6526:                                             ; preds = %6521, %6525
  %.str.5.sink3797 = phi ptr [ @.str.5, %6525 ], [ @.str.2, %6521 ]
  store i32 %6516, ptr %639, align 4, !tbaa !5
  %6527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6528 = load i32, ptr @test_count, align 4, !tbaa !5
  %6529 = load i32, ptr %585, align 4, !tbaa !5
  %6530 = call ptr @s2n_strerror(i32 noundef %6529, ptr noundef nonnull @.str.4) #12
  %6531 = load i32, ptr %585, align 4, !tbaa !5
  %6532 = call ptr @s2n_strerror_debug(i32 noundef %6531, ptr noundef nonnull @.str.4) #12
  %6533 = load i32, ptr %639, align 4, !tbaa !5
  %6534 = call ptr @strerror(i32 noundef %6533) #12
  %6535 = load i32, ptr %639, align 4, !tbaa !5
  %6536 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6527, ptr noundef nonnull %.str.5.sink3797, i32 noundef %6528, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 487, ptr noundef %6530, ptr noundef %6532, ptr noundef %6534, i32 noundef %6535) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6537:                                             ; preds = %6509
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %72) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %72, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %73) #12
  store i32 0, ptr %73, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %74) #12
  store i64 0, ptr %74, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %75) #12
  store i32 0, ptr %75, align 4, !tbaa !5
  %6538 = load i32, ptr @test_count, align 4, !tbaa !5
  %6539 = add nsw i32 %6538, 1
  store i32 %6539, ptr @test_count, align 4, !tbaa !5
  %6540 = load ptr, ptr %69, align 8, !tbaa !9
  %6541 = call i32 @s2n_send_early_data(ptr noundef %6540, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %74, ptr noundef nonnull %73) #12
  %6542 = icmp eq i32 %6541, -1
  br i1 %6542, label %6543, label %6565

6543:                                             ; preds = %6537
  %6544 = load i32, ptr %639, align 4, !tbaa !5
  %6545 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6546 = call i32 @s2n_print_stacktrace(ptr noundef %6545) #12
  %6547 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6548 = trunc nuw i8 %6547 to i1
  br i1 %6548, label %6549, label %6553

6549:                                             ; preds = %6543
  %6550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6551 = call i32 @fileno(ptr noundef %6550) #12
  %6552 = call i32 @isatty(i32 noundef %6551) #12
  %.not1566 = icmp eq i32 %6552, 0
  br i1 %.not1566, label %6553, label %6554

6553:                                             ; preds = %6549, %6543
  br label %6554

6554:                                             ; preds = %6549, %6553
  %.str.5.sink3806 = phi ptr [ @.str.5, %6553 ], [ @.str.2, %6549 ]
  store i32 %6544, ptr %639, align 4, !tbaa !5
  %6555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6556 = load i32, ptr @test_count, align 4, !tbaa !5
  %6557 = load i32, ptr %585, align 4, !tbaa !5
  %6558 = call ptr @s2n_strerror(i32 noundef %6557, ptr noundef nonnull @.str.4) #12
  %6559 = load i32, ptr %585, align 4, !tbaa !5
  %6560 = call ptr @s2n_strerror_debug(i32 noundef %6559, ptr noundef nonnull @.str.4) #12
  %6561 = load i32, ptr %639, align 4, !tbaa !5
  %6562 = call ptr @strerror(i32 noundef %6561) #12
  %6563 = load i32, ptr %639, align 4, !tbaa !5
  %6564 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6555, ptr noundef nonnull %.str.5.sink3806, i32 noundef %6556, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 495, ptr noundef %6558, ptr noundef %6560, ptr noundef %6562, i32 noundef %6563) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6565:                                             ; preds = %6537
  %6566 = load i32, ptr @test_count, align 4, !tbaa !5
  %6567 = add nsw i32 %6566, 1
  store i32 %6567, ptr @test_count, align 4, !tbaa !5
  %6568 = load i32, ptr %73, align 4, !tbaa !5
  %6569 = icmp eq i32 %6568, 0
  br i1 %6569, label %6592, label %6570

6570:                                             ; preds = %6565
  %6571 = load i32, ptr %639, align 4, !tbaa !5
  %6572 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6573 = call i32 @s2n_print_stacktrace(ptr noundef %6572) #12
  %6574 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6575 = trunc nuw i8 %6574 to i1
  br i1 %6575, label %6576, label %6580

6576:                                             ; preds = %6570
  %6577 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6578 = call i32 @fileno(ptr noundef %6577) #12
  %6579 = call i32 @isatty(i32 noundef %6578) #12
  %.not1293 = icmp eq i32 %6579, 0
  br i1 %.not1293, label %6580, label %6581

6580:                                             ; preds = %6576, %6570
  br label %6581

6581:                                             ; preds = %6576, %6580
  %.str.5.sink3815 = phi ptr [ @.str.5, %6580 ], [ @.str.2, %6576 ]
  store i32 %6571, ptr %639, align 4, !tbaa !5
  %6582 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6583 = load i32, ptr @test_count, align 4, !tbaa !5
  %6584 = load i32, ptr %585, align 4, !tbaa !5
  %6585 = call ptr @s2n_strerror(i32 noundef %6584, ptr noundef nonnull @.str.4) #12
  %6586 = load i32, ptr %585, align 4, !tbaa !5
  %6587 = call ptr @s2n_strerror_debug(i32 noundef %6586, ptr noundef nonnull @.str.4) #12
  %6588 = load i32, ptr %639, align 4, !tbaa !5
  %6589 = call ptr @strerror(i32 noundef %6588) #12
  %6590 = load i32, ptr %639, align 4, !tbaa !5
  %6591 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6582, ptr noundef nonnull %.str.5.sink3815, i32 noundef %6583, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 496, ptr noundef %6585, ptr noundef %6587, ptr noundef %6589, i32 noundef %6590) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6592:                                             ; preds = %6565
  %6593 = add nsw i32 %6566, 2
  store i32 %6593, ptr @test_count, align 4, !tbaa !5
  %6594 = load ptr, ptr %69, align 8, !tbaa !9
  %6595 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6594) #12
  %6596 = icmp eq i32 %6595, 1
  br i1 %6596, label %6619, label %6597

6597:                                             ; preds = %6592
  %6598 = load i32, ptr %639, align 4, !tbaa !5
  %6599 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6600 = call i32 @s2n_print_stacktrace(ptr noundef %6599) #12
  %6601 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6602 = trunc nuw i8 %6601 to i1
  br i1 %6602, label %6603, label %6607

6603:                                             ; preds = %6597
  %6604 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6605 = call i32 @fileno(ptr noundef %6604) #12
  %6606 = call i32 @isatty(i32 noundef %6605) #12
  %.not1294 = icmp eq i32 %6606, 0
  br i1 %.not1294, label %6607, label %6608

6607:                                             ; preds = %6603, %6597
  br label %6608

6608:                                             ; preds = %6603, %6607
  %.str.5.sink3824 = phi ptr [ @.str.5, %6607 ], [ @.str.2, %6603 ]
  store i32 %6598, ptr %639, align 4, !tbaa !5
  %6609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6610 = load i32, ptr @test_count, align 4, !tbaa !5
  %6611 = load i32, ptr %585, align 4, !tbaa !5
  %6612 = call ptr @s2n_strerror(i32 noundef %6611, ptr noundef nonnull @.str.4) #12
  %6613 = load i32, ptr %585, align 4, !tbaa !5
  %6614 = call ptr @s2n_strerror_debug(i32 noundef %6613, ptr noundef nonnull @.str.4) #12
  %6615 = load i32, ptr %639, align 4, !tbaa !5
  %6616 = call ptr @strerror(i32 noundef %6615) #12
  %6617 = load i32, ptr %639, align 4, !tbaa !5
  %6618 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6609, ptr noundef nonnull %.str.5.sink3824, i32 noundef %6610, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 496, ptr noundef %6612, ptr noundef %6614, ptr noundef %6616, i32 noundef %6617) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6619:                                             ; preds = %6592
  %6620 = load i32, ptr @test_count, align 4, !tbaa !5
  %6621 = add nsw i32 %6620, 1
  store i32 %6621, ptr @test_count, align 4, !tbaa !5
  %6622 = load i64, ptr %74, align 8, !tbaa !42
  %6623 = icmp eq i64 %6622, 0
  br i1 %6623, label %6646, label %6624

6624:                                             ; preds = %6619
  %6625 = load i32, ptr %639, align 4, !tbaa !5
  %6626 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6627 = call i32 @s2n_print_stacktrace(ptr noundef %6626) #12
  %6628 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6629 = trunc nuw i8 %6628 to i1
  br i1 %6629, label %6630, label %6634

6630:                                             ; preds = %6624
  %6631 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6632 = call i32 @fileno(ptr noundef %6631) #12
  %6633 = call i32 @isatty(i32 noundef %6632) #12
  %.not1295 = icmp eq i32 %6633, 0
  br i1 %.not1295, label %6634, label %6635

6634:                                             ; preds = %6630, %6624
  br label %6635

6635:                                             ; preds = %6630, %6634
  %.str.5.sink3833 = phi ptr [ @.str.5, %6634 ], [ @.str.2, %6630 ]
  store i32 %6625, ptr %639, align 4, !tbaa !5
  %6636 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6637 = load i32, ptr @test_count, align 4, !tbaa !5
  %6638 = load i32, ptr %585, align 4, !tbaa !5
  %6639 = call ptr @s2n_strerror(i32 noundef %6638, ptr noundef nonnull @.str.4) #12
  %6640 = load i32, ptr %585, align 4, !tbaa !5
  %6641 = call ptr @s2n_strerror_debug(i32 noundef %6640, ptr noundef nonnull @.str.4) #12
  %6642 = load i32, ptr %639, align 4, !tbaa !5
  %6643 = call ptr @strerror(i32 noundef %6642) #12
  %6644 = load i32, ptr %639, align 4, !tbaa !5
  %6645 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6636, ptr noundef nonnull %.str.5.sink3833, i32 noundef %6637, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 497, ptr noundef %6639, ptr noundef %6641, ptr noundef %6643, i32 noundef %6644) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6646:                                             ; preds = %6619
  %6647 = add nsw i32 %6620, 2
  store i32 %6647, ptr @test_count, align 4, !tbaa !5
  %6648 = load ptr, ptr %69, align 8, !tbaa !9
  %6649 = call i32 @s2n_connection_get_early_data_status(ptr noundef %6648, ptr noundef nonnull %75) #12
  %6650 = icmp eq i32 %6649, -1
  br i1 %6650, label %6651, label %6673

6651:                                             ; preds = %6646
  %6652 = load i32, ptr %639, align 4, !tbaa !5
  %6653 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6654 = call i32 @s2n_print_stacktrace(ptr noundef %6653) #12
  %6655 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6656 = trunc nuw i8 %6655 to i1
  br i1 %6656, label %6657, label %6661

6657:                                             ; preds = %6651
  %6658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6659 = call i32 @fileno(ptr noundef %6658) #12
  %6660 = call i32 @isatty(i32 noundef %6659) #12
  %.not1565 = icmp eq i32 %6660, 0
  br i1 %.not1565, label %6661, label %6662

6661:                                             ; preds = %6657, %6651
  br label %6662

6662:                                             ; preds = %6657, %6661
  %.str.5.sink3842 = phi ptr [ @.str.5, %6661 ], [ @.str.2, %6657 ]
  store i32 %6652, ptr %639, align 4, !tbaa !5
  %6663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6664 = load i32, ptr @test_count, align 4, !tbaa !5
  %6665 = load i32, ptr %585, align 4, !tbaa !5
  %6666 = call ptr @s2n_strerror(i32 noundef %6665, ptr noundef nonnull @.str.4) #12
  %6667 = load i32, ptr %585, align 4, !tbaa !5
  %6668 = call ptr @s2n_strerror_debug(i32 noundef %6667, ptr noundef nonnull @.str.4) #12
  %6669 = load i32, ptr %639, align 4, !tbaa !5
  %6670 = call ptr @strerror(i32 noundef %6669) #12
  %6671 = load i32, ptr %639, align 4, !tbaa !5
  %6672 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6663, ptr noundef nonnull %.str.5.sink3842, i32 noundef %6664, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 499, ptr noundef %6666, ptr noundef %6668, ptr noundef %6670, i32 noundef %6671) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6673:                                             ; preds = %6646
  %6674 = load i32, ptr @test_count, align 4, !tbaa !5
  %6675 = add nsw i32 %6674, 1
  store i32 %6675, ptr @test_count, align 4, !tbaa !5
  %6676 = load i32, ptr %75, align 4, !tbaa !5
  %6677 = icmp eq i32 %6676, 1
  br i1 %6677, label %6700, label %6678

6678:                                             ; preds = %6673
  %6679 = load i32, ptr %639, align 4, !tbaa !5
  %6680 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6681 = call i32 @s2n_print_stacktrace(ptr noundef %6680) #12
  %6682 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6683 = trunc nuw i8 %6682 to i1
  br i1 %6683, label %6684, label %6688

6684:                                             ; preds = %6678
  %6685 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6686 = call i32 @fileno(ptr noundef %6685) #12
  %6687 = call i32 @isatty(i32 noundef %6686) #12
  %.not1296 = icmp eq i32 %6687, 0
  br i1 %.not1296, label %6688, label %6689

6688:                                             ; preds = %6684, %6678
  br label %6689

6689:                                             ; preds = %6684, %6688
  %.str.5.sink3851 = phi ptr [ @.str.5, %6688 ], [ @.str.2, %6684 ]
  store i32 %6679, ptr %639, align 4, !tbaa !5
  %6690 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6691 = load i32, ptr @test_count, align 4, !tbaa !5
  %6692 = load i32, ptr %585, align 4, !tbaa !5
  %6693 = call ptr @s2n_strerror(i32 noundef %6692, ptr noundef nonnull @.str.4) #12
  %6694 = load i32, ptr %585, align 4, !tbaa !5
  %6695 = call ptr @s2n_strerror_debug(i32 noundef %6694, ptr noundef nonnull @.str.4) #12
  %6696 = load i32, ptr %639, align 4, !tbaa !5
  %6697 = call ptr @strerror(i32 noundef %6696) #12
  %6698 = load i32, ptr %639, align 4, !tbaa !5
  %6699 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6690, ptr noundef nonnull %.str.5.sink3851, i32 noundef %6691, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 500, ptr noundef %6693, ptr noundef %6695, ptr noundef %6697, i32 noundef %6698) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6700:                                             ; preds = %6673
  %6701 = add nsw i32 %6674, 2
  store i32 %6701, ptr @test_count, align 4, !tbaa !5
  %6702 = load ptr, ptr %70, align 8, !tbaa !9
  %6703 = call i32 @s2n_recv_early_data(ptr noundef %6702, ptr noundef nonnull %72, i64 noundef 100, ptr noundef nonnull %74, ptr noundef nonnull %73) #12
  %6704 = icmp eq i32 %6703, -1
  br i1 %6704, label %6705, label %6727

6705:                                             ; preds = %6700
  %6706 = load i32, ptr %639, align 4, !tbaa !5
  %6707 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6708 = call i32 @s2n_print_stacktrace(ptr noundef %6707) #12
  %6709 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6710 = trunc nuw i8 %6709 to i1
  br i1 %6710, label %6711, label %6715

6711:                                             ; preds = %6705
  %6712 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6713 = call i32 @fileno(ptr noundef %6712) #12
  %6714 = call i32 @isatty(i32 noundef %6713) #12
  %.not1564 = icmp eq i32 %6714, 0
  br i1 %.not1564, label %6715, label %6716

6715:                                             ; preds = %6711, %6705
  br label %6716

6716:                                             ; preds = %6711, %6715
  %.str.5.sink3860 = phi ptr [ @.str.5, %6715 ], [ @.str.2, %6711 ]
  store i32 %6706, ptr %639, align 4, !tbaa !5
  %6717 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6718 = load i32, ptr @test_count, align 4, !tbaa !5
  %6719 = load i32, ptr %585, align 4, !tbaa !5
  %6720 = call ptr @s2n_strerror(i32 noundef %6719, ptr noundef nonnull @.str.4) #12
  %6721 = load i32, ptr %585, align 4, !tbaa !5
  %6722 = call ptr @s2n_strerror_debug(i32 noundef %6721, ptr noundef nonnull @.str.4) #12
  %6723 = load i32, ptr %639, align 4, !tbaa !5
  %6724 = call ptr @strerror(i32 noundef %6723) #12
  %6725 = load i32, ptr %639, align 4, !tbaa !5
  %6726 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6717, ptr noundef nonnull %.str.5.sink3860, i32 noundef %6718, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 503, ptr noundef %6720, ptr noundef %6722, ptr noundef %6724, i32 noundef %6725) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6727:                                             ; preds = %6700
  %6728 = load i32, ptr @test_count, align 4, !tbaa !5
  %6729 = add nsw i32 %6728, 1
  store i32 %6729, ptr @test_count, align 4, !tbaa !5
  %6730 = load i32, ptr %73, align 4, !tbaa !5
  %6731 = icmp eq i32 %6730, 0
  br i1 %6731, label %6754, label %6732

6732:                                             ; preds = %6727
  %6733 = load i32, ptr %639, align 4, !tbaa !5
  %6734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6735 = call i32 @s2n_print_stacktrace(ptr noundef %6734) #12
  %6736 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6737 = trunc nuw i8 %6736 to i1
  br i1 %6737, label %6738, label %6742

6738:                                             ; preds = %6732
  %6739 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6740 = call i32 @fileno(ptr noundef %6739) #12
  %6741 = call i32 @isatty(i32 noundef %6740) #12
  %.not1297 = icmp eq i32 %6741, 0
  br i1 %.not1297, label %6742, label %6743

6742:                                             ; preds = %6738, %6732
  br label %6743

6743:                                             ; preds = %6738, %6742
  %.str.5.sink3869 = phi ptr [ @.str.5, %6742 ], [ @.str.2, %6738 ]
  store i32 %6733, ptr %639, align 4, !tbaa !5
  %6744 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6745 = load i32, ptr @test_count, align 4, !tbaa !5
  %6746 = load i32, ptr %585, align 4, !tbaa !5
  %6747 = call ptr @s2n_strerror(i32 noundef %6746, ptr noundef nonnull @.str.4) #12
  %6748 = load i32, ptr %585, align 4, !tbaa !5
  %6749 = call ptr @s2n_strerror_debug(i32 noundef %6748, ptr noundef nonnull @.str.4) #12
  %6750 = load i32, ptr %639, align 4, !tbaa !5
  %6751 = call ptr @strerror(i32 noundef %6750) #12
  %6752 = load i32, ptr %639, align 4, !tbaa !5
  %6753 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6744, ptr noundef nonnull %.str.5.sink3869, i32 noundef %6745, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %6747, ptr noundef %6749, ptr noundef %6751, i32 noundef %6752) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6754:                                             ; preds = %6727
  %6755 = add nsw i32 %6728, 2
  store i32 %6755, ptr @test_count, align 4, !tbaa !5
  %6756 = load ptr, ptr %70, align 8, !tbaa !9
  %6757 = call i32 @s2n_conn_get_current_message_type(ptr noundef %6756) #12
  %6758 = icmp eq i32 %6757, 13
  br i1 %6758, label %6781, label %6759

6759:                                             ; preds = %6754
  %6760 = load i32, ptr %639, align 4, !tbaa !5
  %6761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6762 = call i32 @s2n_print_stacktrace(ptr noundef %6761) #12
  %6763 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6764 = trunc nuw i8 %6763 to i1
  br i1 %6764, label %6765, label %6769

6765:                                             ; preds = %6759
  %6766 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6767 = call i32 @fileno(ptr noundef %6766) #12
  %6768 = call i32 @isatty(i32 noundef %6767) #12
  %.not1298 = icmp eq i32 %6768, 0
  br i1 %.not1298, label %6769, label %6770

6769:                                             ; preds = %6765, %6759
  br label %6770

6770:                                             ; preds = %6765, %6769
  %.str.5.sink3878 = phi ptr [ @.str.5, %6769 ], [ @.str.2, %6765 ]
  store i32 %6760, ptr %639, align 4, !tbaa !5
  %6771 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6772 = load i32, ptr @test_count, align 4, !tbaa !5
  %6773 = load i32, ptr %585, align 4, !tbaa !5
  %6774 = call ptr @s2n_strerror(i32 noundef %6773, ptr noundef nonnull @.str.4) #12
  %6775 = load i32, ptr %585, align 4, !tbaa !5
  %6776 = call ptr @s2n_strerror_debug(i32 noundef %6775, ptr noundef nonnull @.str.4) #12
  %6777 = load i32, ptr %639, align 4, !tbaa !5
  %6778 = call ptr @strerror(i32 noundef %6777) #12
  %6779 = load i32, ptr %639, align 4, !tbaa !5
  %6780 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6771, ptr noundef nonnull %.str.5.sink3878, i32 noundef %6772, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 504, ptr noundef %6774, ptr noundef %6776, ptr noundef %6778, i32 noundef %6779) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6781:                                             ; preds = %6754
  %6782 = load i32, ptr @test_count, align 4, !tbaa !5
  %6783 = add nsw i32 %6782, 1
  store i32 %6783, ptr @test_count, align 4, !tbaa !5
  %6784 = load i64, ptr %74, align 8, !tbaa !42
  %6785 = icmp eq i64 %6784, 0
  br i1 %6785, label %6808, label %6786

6786:                                             ; preds = %6781
  %6787 = load i32, ptr %639, align 4, !tbaa !5
  %6788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6789 = call i32 @s2n_print_stacktrace(ptr noundef %6788) #12
  %6790 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6791 = trunc nuw i8 %6790 to i1
  br i1 %6791, label %6792, label %6796

6792:                                             ; preds = %6786
  %6793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6794 = call i32 @fileno(ptr noundef %6793) #12
  %6795 = call i32 @isatty(i32 noundef %6794) #12
  %.not1299 = icmp eq i32 %6795, 0
  br i1 %.not1299, label %6796, label %6797

6796:                                             ; preds = %6792, %6786
  br label %6797

6797:                                             ; preds = %6792, %6796
  %.str.5.sink3887 = phi ptr [ @.str.5, %6796 ], [ @.str.2, %6792 ]
  store i32 %6787, ptr %639, align 4, !tbaa !5
  %6798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6799 = load i32, ptr @test_count, align 4, !tbaa !5
  %6800 = load i32, ptr %585, align 4, !tbaa !5
  %6801 = call ptr @s2n_strerror(i32 noundef %6800, ptr noundef nonnull @.str.4) #12
  %6802 = load i32, ptr %585, align 4, !tbaa !5
  %6803 = call ptr @s2n_strerror_debug(i32 noundef %6802, ptr noundef nonnull @.str.4) #12
  %6804 = load i32, ptr %639, align 4, !tbaa !5
  %6805 = call ptr @strerror(i32 noundef %6804) #12
  %6806 = load i32, ptr %639, align 4, !tbaa !5
  %6807 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6798, ptr noundef nonnull %.str.5.sink3887, i32 noundef %6799, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 505, ptr noundef %6801, ptr noundef %6803, ptr noundef %6805, i32 noundef %6806) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6808:                                             ; preds = %6781
  %6809 = add nsw i32 %6782, 2
  store i32 %6809, ptr @test_count, align 4, !tbaa !5
  %6810 = load ptr, ptr %70, align 8, !tbaa !9
  %6811 = call i32 @s2n_connection_get_early_data_status(ptr noundef %6810, ptr noundef nonnull %75) #12
  %6812 = icmp eq i32 %6811, -1
  br i1 %6812, label %6813, label %6835

6813:                                             ; preds = %6808
  %6814 = load i32, ptr %639, align 4, !tbaa !5
  %6815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6816 = call i32 @s2n_print_stacktrace(ptr noundef %6815) #12
  %6817 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6818 = trunc nuw i8 %6817 to i1
  br i1 %6818, label %6819, label %6823

6819:                                             ; preds = %6813
  %6820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6821 = call i32 @fileno(ptr noundef %6820) #12
  %6822 = call i32 @isatty(i32 noundef %6821) #12
  %.not1563 = icmp eq i32 %6822, 0
  br i1 %.not1563, label %6823, label %6824

6823:                                             ; preds = %6819, %6813
  br label %6824

6824:                                             ; preds = %6819, %6823
  %.str.5.sink3896 = phi ptr [ @.str.5, %6823 ], [ @.str.2, %6819 ]
  store i32 %6814, ptr %639, align 4, !tbaa !5
  %6825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6826 = load i32, ptr @test_count, align 4, !tbaa !5
  %6827 = load i32, ptr %585, align 4, !tbaa !5
  %6828 = call ptr @s2n_strerror(i32 noundef %6827, ptr noundef nonnull @.str.4) #12
  %6829 = load i32, ptr %585, align 4, !tbaa !5
  %6830 = call ptr @s2n_strerror_debug(i32 noundef %6829, ptr noundef nonnull @.str.4) #12
  %6831 = load i32, ptr %639, align 4, !tbaa !5
  %6832 = call ptr @strerror(i32 noundef %6831) #12
  %6833 = load i32, ptr %639, align 4, !tbaa !5
  %6834 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6825, ptr noundef nonnull %.str.5.sink3896, i32 noundef %6826, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 507, ptr noundef %6828, ptr noundef %6830, ptr noundef %6832, i32 noundef %6833) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6835:                                             ; preds = %6808
  %6836 = load i32, ptr @test_count, align 4, !tbaa !5
  %6837 = add nsw i32 %6836, 1
  store i32 %6837, ptr @test_count, align 4, !tbaa !5
  %6838 = load i32, ptr %75, align 4, !tbaa !5
  %6839 = icmp eq i32 %6838, 1
  br i1 %6839, label %6862, label %6840

6840:                                             ; preds = %6835
  %6841 = load i32, ptr %639, align 4, !tbaa !5
  %6842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6843 = call i32 @s2n_print_stacktrace(ptr noundef %6842) #12
  %6844 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6845 = trunc nuw i8 %6844 to i1
  br i1 %6845, label %6846, label %6850

6846:                                             ; preds = %6840
  %6847 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6848 = call i32 @fileno(ptr noundef %6847) #12
  %6849 = call i32 @isatty(i32 noundef %6848) #12
  %.not1300 = icmp eq i32 %6849, 0
  br i1 %.not1300, label %6850, label %6851

6850:                                             ; preds = %6846, %6840
  br label %6851

6851:                                             ; preds = %6846, %6850
  %.str.5.sink3905 = phi ptr [ @.str.5, %6850 ], [ @.str.2, %6846 ]
  store i32 %6841, ptr %639, align 4, !tbaa !5
  %6852 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6853 = load i32, ptr @test_count, align 4, !tbaa !5
  %6854 = load i32, ptr %585, align 4, !tbaa !5
  %6855 = call ptr @s2n_strerror(i32 noundef %6854, ptr noundef nonnull @.str.4) #12
  %6856 = load i32, ptr %585, align 4, !tbaa !5
  %6857 = call ptr @s2n_strerror_debug(i32 noundef %6856, ptr noundef nonnull @.str.4) #12
  %6858 = load i32, ptr %639, align 4, !tbaa !5
  %6859 = call ptr @strerror(i32 noundef %6858) #12
  %6860 = load i32, ptr %639, align 4, !tbaa !5
  %6861 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6852, ptr noundef nonnull %.str.5.sink3905, i32 noundef %6853, ptr noundef nonnull @.str.96, ptr noundef nonnull @.str.1, i32 noundef 508, ptr noundef %6855, ptr noundef %6857, ptr noundef %6859, i32 noundef %6860) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6862:                                             ; preds = %6835
  %6863 = add nsw i32 %6836, 2
  store i32 %6863, ptr @test_count, align 4, !tbaa !5
  %6864 = load ptr, ptr %70, align 8, !tbaa !9
  %6865 = load ptr, ptr %69, align 8, !tbaa !9
  %6866 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %6864, ptr noundef %6865) #12
  %6867 = icmp eq i32 %6866, -1
  br i1 %6867, label %6868, label %6890

6868:                                             ; preds = %6862
  %6869 = load i32, ptr %639, align 4, !tbaa !5
  %6870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6871 = call i32 @s2n_print_stacktrace(ptr noundef %6870) #12
  %6872 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6873 = trunc nuw i8 %6872 to i1
  br i1 %6873, label %6874, label %6878

6874:                                             ; preds = %6868
  %6875 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6876 = call i32 @fileno(ptr noundef %6875) #12
  %6877 = call i32 @isatty(i32 noundef %6876) #12
  %.not1562 = icmp eq i32 %6877, 0
  br i1 %.not1562, label %6878, label %6879

6878:                                             ; preds = %6874, %6868
  br label %6879

6879:                                             ; preds = %6874, %6878
  %.str.5.sink3914 = phi ptr [ @.str.5, %6878 ], [ @.str.2, %6874 ]
  store i32 %6869, ptr %639, align 4, !tbaa !5
  %6880 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6881 = load i32, ptr @test_count, align 4, !tbaa !5
  %6882 = load i32, ptr %585, align 4, !tbaa !5
  %6883 = call ptr @s2n_strerror(i32 noundef %6882, ptr noundef nonnull @.str.4) #12
  %6884 = load i32, ptr %585, align 4, !tbaa !5
  %6885 = call ptr @s2n_strerror_debug(i32 noundef %6884, ptr noundef nonnull @.str.4) #12
  %6886 = load i32, ptr %639, align 4, !tbaa !5
  %6887 = call ptr @strerror(i32 noundef %6886) #12
  %6888 = load i32, ptr %639, align 4, !tbaa !5
  %6889 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6880, ptr noundef nonnull %.str.5.sink3914, i32 noundef %6881, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 510, ptr noundef %6883, ptr noundef %6885, ptr noundef %6887, i32 noundef %6888) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6890:                                             ; preds = %6862
  %6891 = load i32, ptr @test_count, align 4, !tbaa !5
  %6892 = add nsw i32 %6891, 1
  store i32 %6892, ptr @test_count, align 4, !tbaa !5
  %6893 = load ptr, ptr %69, align 8, !tbaa !9
  %6894 = call i32 @s2n_connection_free(ptr noundef %6893) #12
  %6895 = icmp eq i32 %6894, -1
  br i1 %6895, label %6896, label %6918

6896:                                             ; preds = %6890
  %6897 = load i32, ptr %639, align 4, !tbaa !5
  %6898 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6899 = call i32 @s2n_print_stacktrace(ptr noundef %6898) #12
  %6900 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6901 = trunc nuw i8 %6900 to i1
  br i1 %6901, label %6902, label %6906

6902:                                             ; preds = %6896
  %6903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6904 = call i32 @fileno(ptr noundef %6903) #12
  %6905 = call i32 @isatty(i32 noundef %6904) #12
  %.not1561 = icmp eq i32 %6905, 0
  br i1 %.not1561, label %6906, label %6907

6906:                                             ; preds = %6902, %6896
  br label %6907

6907:                                             ; preds = %6902, %6906
  %.str.5.sink3923 = phi ptr [ @.str.5, %6906 ], [ @.str.2, %6902 ]
  store i32 %6897, ptr %639, align 4, !tbaa !5
  %6908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6909 = load i32, ptr @test_count, align 4, !tbaa !5
  %6910 = load i32, ptr %585, align 4, !tbaa !5
  %6911 = call ptr @s2n_strerror(i32 noundef %6910, ptr noundef nonnull @.str.4) #12
  %6912 = load i32, ptr %585, align 4, !tbaa !5
  %6913 = call ptr @s2n_strerror_debug(i32 noundef %6912, ptr noundef nonnull @.str.4) #12
  %6914 = load i32, ptr %639, align 4, !tbaa !5
  %6915 = call ptr @strerror(i32 noundef %6914) #12
  %6916 = load i32, ptr %639, align 4, !tbaa !5
  %6917 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6908, ptr noundef nonnull %.str.5.sink3923, i32 noundef %6909, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 512, ptr noundef %6911, ptr noundef %6913, ptr noundef %6915, i32 noundef %6916) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6918:                                             ; preds = %6890
  %6919 = load i32, ptr @test_count, align 4, !tbaa !5
  %6920 = add nsw i32 %6919, 1
  store i32 %6920, ptr @test_count, align 4, !tbaa !5
  %6921 = load ptr, ptr %70, align 8, !tbaa !9
  %6922 = call i32 @s2n_connection_free(ptr noundef %6921) #12
  %6923 = icmp eq i32 %6922, -1
  br i1 %6923, label %6924, label %6946

6924:                                             ; preds = %6918
  %6925 = load i32, ptr %639, align 4, !tbaa !5
  %6926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6927 = call i32 @s2n_print_stacktrace(ptr noundef %6926) #12
  %6928 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6929 = trunc nuw i8 %6928 to i1
  br i1 %6929, label %6930, label %6934

6930:                                             ; preds = %6924
  %6931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6932 = call i32 @fileno(ptr noundef %6931) #12
  %6933 = call i32 @isatty(i32 noundef %6932) #12
  %.not1560 = icmp eq i32 %6933, 0
  br i1 %.not1560, label %6934, label %6935

6934:                                             ; preds = %6930, %6924
  br label %6935

6935:                                             ; preds = %6930, %6934
  %.str.5.sink3932 = phi ptr [ @.str.5, %6934 ], [ @.str.2, %6930 ]
  store i32 %6925, ptr %639, align 4, !tbaa !5
  %6936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6937 = load i32, ptr @test_count, align 4, !tbaa !5
  %6938 = load i32, ptr %585, align 4, !tbaa !5
  %6939 = call ptr @s2n_strerror(i32 noundef %6938, ptr noundef nonnull @.str.4) #12
  %6940 = load i32, ptr %585, align 4, !tbaa !5
  %6941 = call ptr @s2n_strerror_debug(i32 noundef %6940, ptr noundef nonnull @.str.4) #12
  %6942 = load i32, ptr %639, align 4, !tbaa !5
  %6943 = call ptr @strerror(i32 noundef %6942) #12
  %6944 = load i32, ptr %639, align 4, !tbaa !5
  %6945 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6936, ptr noundef nonnull %.str.5.sink3932, i32 noundef %6937, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 513, ptr noundef %6939, ptr noundef %6941, ptr noundef %6943, i32 noundef %6944) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6946:                                             ; preds = %6918
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %75) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %74) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %73) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %72) #12
  %6947 = call i32 @s2n_io_pair_close(ptr noundef nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %71) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %70) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %69) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %76) #12
  store ptr null, ptr %76, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %77) #12
  store ptr null, ptr %77, align 8, !tbaa !9
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %78) #12
  store i64 0, ptr %78, align 8
  %6948 = load i32, ptr @test_count, align 4, !tbaa !5
  %6949 = add nsw i32 %6948, 1
  store i32 %6949, ptr @test_count, align 4, !tbaa !5
  %6950 = call i32 @s2n_test_client_and_server_new(ptr noundef nonnull %76, ptr noundef nonnull %77, ptr noundef nonnull %78)
  %6951 = call zeroext i1 @s2n_result_is_ok(i32 %6950)
  br i1 %6951, label %6974, label %6952

6952:                                             ; preds = %6946
  %6953 = load i32, ptr %639, align 4, !tbaa !5
  %6954 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6955 = call i32 @s2n_print_stacktrace(ptr noundef %6954) #12
  %6956 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6957 = trunc nuw i8 %6956 to i1
  br i1 %6957, label %6958, label %6962

6958:                                             ; preds = %6952
  %6959 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6960 = call i32 @fileno(ptr noundef %6959) #12
  %6961 = call i32 @isatty(i32 noundef %6960) #12
  %.not1301 = icmp eq i32 %6961, 0
  br i1 %.not1301, label %6962, label %6963

6962:                                             ; preds = %6958, %6952
  br label %6963

6963:                                             ; preds = %6958, %6962
  %.str.5.sink3941 = phi ptr [ @.str.5, %6962 ], [ @.str.2, %6958 ]
  store i32 %6953, ptr %639, align 4, !tbaa !5
  %6964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6965 = load i32, ptr @test_count, align 4, !tbaa !5
  %6966 = load i32, ptr %585, align 4, !tbaa !5
  %6967 = call ptr @s2n_strerror(i32 noundef %6966, ptr noundef nonnull @.str.4) #12
  %6968 = load i32, ptr %585, align 4, !tbaa !5
  %6969 = call ptr @s2n_strerror_debug(i32 noundef %6968, ptr noundef nonnull @.str.4) #12
  %6970 = load i32, ptr %639, align 4, !tbaa !5
  %6971 = call ptr @strerror(i32 noundef %6970) #12
  %6972 = load i32, ptr %639, align 4, !tbaa !5
  %6973 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6964, ptr noundef nonnull %.str.5.sink3941, i32 noundef %6965, ptr noundef nonnull @.str.59, ptr noundef nonnull @.str.1, i32 noundef 520, ptr noundef %6967, ptr noundef %6969, ptr noundef %6971, i32 noundef %6972) #14
  call void @exit(i32 noundef 1) #15
  unreachable

6974:                                             ; preds = %6946
  %6975 = load i32, ptr @test_count, align 4, !tbaa !5
  %6976 = add nsw i32 %6975, 1
  store i32 %6976, ptr @test_count, align 4, !tbaa !5
  %6977 = load ptr, ptr %76, align 8, !tbaa !9
  %6978 = call i32 @s2n_connection_append_psk(ptr noundef %6977, ptr noundef %5708) #12
  %6979 = icmp eq i32 %6978, -1
  br i1 %6979, label %6980, label %7002

6980:                                             ; preds = %6974
  %6981 = load i32, ptr %639, align 4, !tbaa !5
  %6982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6983 = call i32 @s2n_print_stacktrace(ptr noundef %6982) #12
  %6984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %6985 = trunc nuw i8 %6984 to i1
  br i1 %6985, label %6986, label %6990

6986:                                             ; preds = %6980
  %6987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6988 = call i32 @fileno(ptr noundef %6987) #12
  %6989 = call i32 @isatty(i32 noundef %6988) #12
  %.not1559 = icmp eq i32 %6989, 0
  br i1 %.not1559, label %6990, label %6991

6990:                                             ; preds = %6986, %6980
  br label %6991

6991:                                             ; preds = %6986, %6990
  %.str.5.sink3950 = phi ptr [ @.str.5, %6990 ], [ @.str.2, %6986 ]
  store i32 %6981, ptr %639, align 4, !tbaa !5
  %6992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %6993 = load i32, ptr @test_count, align 4, !tbaa !5
  %6994 = load i32, ptr %585, align 4, !tbaa !5
  %6995 = call ptr @s2n_strerror(i32 noundef %6994, ptr noundef nonnull @.str.4) #12
  %6996 = load i32, ptr %585, align 4, !tbaa !5
  %6997 = call ptr @s2n_strerror_debug(i32 noundef %6996, ptr noundef nonnull @.str.4) #12
  %6998 = load i32, ptr %639, align 4, !tbaa !5
  %6999 = call ptr @strerror(i32 noundef %6998) #12
  %7000 = load i32, ptr %639, align 4, !tbaa !5
  %7001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %6992, ptr noundef nonnull %.str.5.sink3950, i32 noundef %6993, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 522, ptr noundef %6995, ptr noundef %6997, ptr noundef %6999, i32 noundef %7000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7002:                                             ; preds = %6974
  %7003 = load i32, ptr @test_count, align 4, !tbaa !5
  %7004 = add nsw i32 %7003, 1
  store i32 %7004, ptr @test_count, align 4, !tbaa !5
  %7005 = load ptr, ptr %77, align 8, !tbaa !9
  %7006 = call i32 @s2n_connection_append_psk(ptr noundef %7005, ptr noundef %6484) #12
  %7007 = icmp eq i32 %7006, -1
  br i1 %7007, label %7008, label %7030

7008:                                             ; preds = %7002
  %7009 = load i32, ptr %639, align 4, !tbaa !5
  %7010 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7011 = call i32 @s2n_print_stacktrace(ptr noundef %7010) #12
  %7012 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7013 = trunc nuw i8 %7012 to i1
  br i1 %7013, label %7014, label %7018

7014:                                             ; preds = %7008
  %7015 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7016 = call i32 @fileno(ptr noundef %7015) #12
  %7017 = call i32 @isatty(i32 noundef %7016) #12
  %.not1558 = icmp eq i32 %7017, 0
  br i1 %.not1558, label %7018, label %7019

7018:                                             ; preds = %7014, %7008
  br label %7019

7019:                                             ; preds = %7014, %7018
  %.str.5.sink3959 = phi ptr [ @.str.5, %7018 ], [ @.str.2, %7014 ]
  store i32 %7009, ptr %639, align 4, !tbaa !5
  %7020 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7021 = load i32, ptr @test_count, align 4, !tbaa !5
  %7022 = load i32, ptr %585, align 4, !tbaa !5
  %7023 = call ptr @s2n_strerror(i32 noundef %7022, ptr noundef nonnull @.str.4) #12
  %7024 = load i32, ptr %585, align 4, !tbaa !5
  %7025 = call ptr @s2n_strerror_debug(i32 noundef %7024, ptr noundef nonnull @.str.4) #12
  %7026 = load i32, ptr %639, align 4, !tbaa !5
  %7027 = call ptr @strerror(i32 noundef %7026) #12
  %7028 = load i32, ptr %639, align 4, !tbaa !5
  %7029 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7020, ptr noundef nonnull %.str.5.sink3959, i32 noundef %7021, ptr noundef nonnull @.str.98, ptr noundef nonnull @.str.1, i32 noundef 523, ptr noundef %7023, ptr noundef %7025, ptr noundef %7027, i32 noundef %7028) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7030:                                             ; preds = %7002
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %79) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %79, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %80) #12
  store i32 0, ptr %80, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %81) #12
  store i64 0, ptr %81, align 8, !tbaa !42
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %82) #12
  store i32 0, ptr %82, align 4, !tbaa !5
  %7031 = load i32, ptr @test_count, align 4, !tbaa !5
  %7032 = add nsw i32 %7031, 1
  store i32 %7032, ptr @test_count, align 4, !tbaa !5
  %7033 = load ptr, ptr %76, align 8, !tbaa !9
  %7034 = call i32 @s2n_send_early_data(ptr noundef %7033, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %81, ptr noundef nonnull %80) #12
  %7035 = icmp eq i32 %7034, -1
  br i1 %7035, label %7058, label %7036

7036:                                             ; preds = %7030
  %7037 = load i32, ptr %639, align 4, !tbaa !5
  %7038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7039 = call i32 @s2n_print_stacktrace(ptr noundef %7038) #12
  %7040 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7041 = trunc nuw i8 %7040 to i1
  br i1 %7041, label %7042, label %7046

7042:                                             ; preds = %7036
  %7043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7044 = call i32 @fileno(ptr noundef %7043) #12
  %7045 = call i32 @isatty(i32 noundef %7044) #12
  %.not1302 = icmp eq i32 %7045, 0
  br i1 %.not1302, label %7046, label %7047

7046:                                             ; preds = %7042, %7036
  br label %7047

7047:                                             ; preds = %7042, %7046
  %.str.5.sink3968 = phi ptr [ @.str.5, %7046 ], [ @.str.2, %7042 ]
  store i32 %7037, ptr %639, align 4, !tbaa !5
  %7048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7049 = load i32, ptr @test_count, align 4, !tbaa !5
  %7050 = load i32, ptr %585, align 4, !tbaa !5
  %7051 = call ptr @s2n_strerror(i32 noundef %7050, ptr noundef nonnull @.str.4) #12
  %7052 = load i32, ptr %585, align 4, !tbaa !5
  %7053 = call ptr @s2n_strerror_debug(i32 noundef %7052, ptr noundef nonnull @.str.4) #12
  %7054 = load i32, ptr %639, align 4, !tbaa !5
  %7055 = call ptr @strerror(i32 noundef %7054) #12
  %7056 = load i32, ptr %639, align 4, !tbaa !5
  %7057 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7048, ptr noundef nonnull %.str.5.sink3968, i32 noundef %7049, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %7051, ptr noundef %7053, ptr noundef %7055, i32 noundef %7056) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7058:                                             ; preds = %7030
  %7059 = load i32, ptr @test_count, align 4, !tbaa !5
  %7060 = add nsw i32 %7059, 1
  store i32 %7060, ptr @test_count, align 4, !tbaa !5
  %7061 = load i32, ptr %585, align 4, !tbaa !5
  %7062 = icmp eq i32 %7061, 201326592
  br i1 %7062, label %7085, label %7063

7063:                                             ; preds = %7058
  %7064 = load i32, ptr %639, align 4, !tbaa !5
  %7065 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7066 = call i32 @s2n_print_stacktrace(ptr noundef %7065) #12
  %7067 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7068 = trunc nuw i8 %7067 to i1
  br i1 %7068, label %7069, label %7073

7069:                                             ; preds = %7063
  %7070 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7071 = call i32 @fileno(ptr noundef %7070) #12
  %7072 = call i32 @isatty(i32 noundef %7071) #12
  %.not1303 = icmp eq i32 %7072, 0
  br i1 %.not1303, label %7073, label %7074

7073:                                             ; preds = %7069, %7063
  br label %7074

7074:                                             ; preds = %7069, %7073
  %.str.5.sink3977 = phi ptr [ @.str.5, %7073 ], [ @.str.2, %7069 ]
  store i32 %7064, ptr %639, align 4, !tbaa !5
  %7075 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7076 = load i32, ptr @test_count, align 4, !tbaa !5
  %7077 = load i32, ptr %585, align 4, !tbaa !5
  %7078 = call ptr @s2n_strerror(i32 noundef %7077, ptr noundef nonnull @.str.4) #12
  %7079 = load i32, ptr %585, align 4, !tbaa !5
  %7080 = call ptr @s2n_strerror_debug(i32 noundef %7079, ptr noundef nonnull @.str.4) #12
  %7081 = load i32, ptr %639, align 4, !tbaa !5
  %7082 = call ptr @strerror(i32 noundef %7081) #12
  %7083 = load i32, ptr %639, align 4, !tbaa !5
  %7084 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7075, ptr noundef nonnull %.str.5.sink3977, i32 noundef %7076, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %7078, ptr noundef %7080, ptr noundef %7082, i32 noundef %7083) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7085:                                             ; preds = %7058
  %7086 = add nsw i32 %7059, 2
  store i32 %7086, ptr @test_count, align 4, !tbaa !5
  %7087 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %7088 = icmp eq ptr %7087, null
  br i1 %7088, label %7089, label %7111

7089:                                             ; preds = %7085
  %7090 = load i32, ptr %639, align 4, !tbaa !5
  %7091 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7092 = call i32 @s2n_print_stacktrace(ptr noundef %7091) #12
  %7093 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7094 = trunc nuw i8 %7093 to i1
  br i1 %7094, label %7095, label %7099

7095:                                             ; preds = %7089
  %7096 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7097 = call i32 @fileno(ptr noundef %7096) #12
  %7098 = call i32 @isatty(i32 noundef %7097) #12
  %.not1557 = icmp eq i32 %7098, 0
  br i1 %.not1557, label %7099, label %7100

7099:                                             ; preds = %7095, %7089
  br label %7100

7100:                                             ; preds = %7095, %7099
  %.str.5.sink3986 = phi ptr [ @.str.5, %7099 ], [ @.str.2, %7095 ]
  store i32 %7090, ptr %639, align 4, !tbaa !5
  %7101 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7102 = load i32, ptr @test_count, align 4, !tbaa !5
  %7103 = load i32, ptr %585, align 4, !tbaa !5
  %7104 = call ptr @s2n_strerror(i32 noundef %7103, ptr noundef nonnull @.str.4) #12
  %7105 = load i32, ptr %585, align 4, !tbaa !5
  %7106 = call ptr @s2n_strerror_debug(i32 noundef %7105, ptr noundef nonnull @.str.4) #12
  %7107 = load i32, ptr %639, align 4, !tbaa !5
  %7108 = call ptr @strerror(i32 noundef %7107) #12
  %7109 = load i32, ptr %639, align 4, !tbaa !5
  %7110 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7101, ptr noundef nonnull %.str.5.sink3986, i32 noundef %7102, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 530, ptr noundef %7104, ptr noundef %7106, ptr noundef %7108, i32 noundef %7109) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7111:                                             ; preds = %7085
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %7112 = load i32, ptr @test_count, align 4, !tbaa !5
  %7113 = add nsw i32 %7112, 1
  store i32 %7113, ptr @test_count, align 4, !tbaa !5
  %7114 = load i32, ptr %80, align 4, !tbaa !5
  %7115 = icmp eq i32 %7114, 1
  br i1 %7115, label %7138, label %7116

7116:                                             ; preds = %7111
  %7117 = load i32, ptr %639, align 4, !tbaa !5
  %7118 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7119 = call i32 @s2n_print_stacktrace(ptr noundef %7118) #12
  %7120 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7121 = trunc nuw i8 %7120 to i1
  br i1 %7121, label %7122, label %7126

7122:                                             ; preds = %7116
  %7123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7124 = call i32 @fileno(ptr noundef %7123) #12
  %7125 = call i32 @isatty(i32 noundef %7124) #12
  %.not1304 = icmp eq i32 %7125, 0
  br i1 %.not1304, label %7126, label %7127

7126:                                             ; preds = %7122, %7116
  br label %7127

7127:                                             ; preds = %7122, %7126
  %.str.5.sink3995 = phi ptr [ @.str.5, %7126 ], [ @.str.2, %7122 ]
  store i32 %7117, ptr %639, align 4, !tbaa !5
  %7128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7129 = load i32, ptr @test_count, align 4, !tbaa !5
  %7130 = load i32, ptr %585, align 4, !tbaa !5
  %7131 = call ptr @s2n_strerror(i32 noundef %7130, ptr noundef nonnull @.str.4) #12
  %7132 = load i32, ptr %585, align 4, !tbaa !5
  %7133 = call ptr @s2n_strerror_debug(i32 noundef %7132, ptr noundef nonnull @.str.4) #12
  %7134 = load i32, ptr %639, align 4, !tbaa !5
  %7135 = call ptr @strerror(i32 noundef %7134) #12
  %7136 = load i32, ptr %639, align 4, !tbaa !5
  %7137 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7128, ptr noundef nonnull %.str.5.sink3995, i32 noundef %7129, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %7131, ptr noundef %7133, ptr noundef %7135, i32 noundef %7136) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7138:                                             ; preds = %7111
  %7139 = add nsw i32 %7112, 2
  store i32 %7139, ptr @test_count, align 4, !tbaa !5
  %7140 = load ptr, ptr %76, align 8, !tbaa !9
  %7141 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7140) #12
  %7142 = icmp eq i32 %7141, 1
  br i1 %7142, label %7165, label %7143

7143:                                             ; preds = %7138
  %7144 = load i32, ptr %639, align 4, !tbaa !5
  %7145 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7146 = call i32 @s2n_print_stacktrace(ptr noundef %7145) #12
  %7147 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7148 = trunc nuw i8 %7147 to i1
  br i1 %7148, label %7149, label %7153

7149:                                             ; preds = %7143
  %7150 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7151 = call i32 @fileno(ptr noundef %7150) #12
  %7152 = call i32 @isatty(i32 noundef %7151) #12
  %.not1305 = icmp eq i32 %7152, 0
  br i1 %.not1305, label %7153, label %7154

7153:                                             ; preds = %7149, %7143
  br label %7154

7154:                                             ; preds = %7149, %7153
  %.str.5.sink4004 = phi ptr [ @.str.5, %7153 ], [ @.str.2, %7149 ]
  store i32 %7144, ptr %639, align 4, !tbaa !5
  %7155 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7156 = load i32, ptr @test_count, align 4, !tbaa !5
  %7157 = load i32, ptr %585, align 4, !tbaa !5
  %7158 = call ptr @s2n_strerror(i32 noundef %7157, ptr noundef nonnull @.str.4) #12
  %7159 = load i32, ptr %585, align 4, !tbaa !5
  %7160 = call ptr @s2n_strerror_debug(i32 noundef %7159, ptr noundef nonnull @.str.4) #12
  %7161 = load i32, ptr %639, align 4, !tbaa !5
  %7162 = call ptr @strerror(i32 noundef %7161) #12
  %7163 = load i32, ptr %639, align 4, !tbaa !5
  %7164 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7155, ptr noundef nonnull %.str.5.sink4004, i32 noundef %7156, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 531, ptr noundef %7158, ptr noundef %7160, ptr noundef %7162, i32 noundef %7163) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7165:                                             ; preds = %7138
  %7166 = load i32, ptr @test_count, align 4, !tbaa !5
  %7167 = add nsw i32 %7166, 1
  store i32 %7167, ptr @test_count, align 4, !tbaa !5
  %7168 = load i64, ptr %81, align 8, !tbaa !42
  %7169 = icmp eq i64 %7168, 12
  br i1 %7169, label %7192, label %7170

7170:                                             ; preds = %7165
  %7171 = load i32, ptr %639, align 4, !tbaa !5
  %7172 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7173 = call i32 @s2n_print_stacktrace(ptr noundef %7172) #12
  %7174 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7175 = trunc nuw i8 %7174 to i1
  br i1 %7175, label %7176, label %7180

7176:                                             ; preds = %7170
  %7177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7178 = call i32 @fileno(ptr noundef %7177) #12
  %7179 = call i32 @isatty(i32 noundef %7178) #12
  %.not1306 = icmp eq i32 %7179, 0
  br i1 %.not1306, label %7180, label %7181

7180:                                             ; preds = %7176, %7170
  br label %7181

7181:                                             ; preds = %7176, %7180
  %.str.5.sink4013 = phi ptr [ @.str.5, %7180 ], [ @.str.2, %7176 ]
  store i32 %7171, ptr %639, align 4, !tbaa !5
  %7182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7183 = load i32, ptr @test_count, align 4, !tbaa !5
  %7184 = load i32, ptr %585, align 4, !tbaa !5
  %7185 = call ptr @s2n_strerror(i32 noundef %7184, ptr noundef nonnull @.str.4) #12
  %7186 = load i32, ptr %585, align 4, !tbaa !5
  %7187 = call ptr @s2n_strerror_debug(i32 noundef %7186, ptr noundef nonnull @.str.4) #12
  %7188 = load i32, ptr %639, align 4, !tbaa !5
  %7189 = call ptr @strerror(i32 noundef %7188) #12
  %7190 = load i32, ptr %639, align 4, !tbaa !5
  %7191 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7182, ptr noundef nonnull %.str.5.sink4013, i32 noundef %7183, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 532, ptr noundef %7185, ptr noundef %7187, ptr noundef %7189, i32 noundef %7190) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7192:                                             ; preds = %7165
  %7193 = add nsw i32 %7166, 2
  store i32 %7193, ptr @test_count, align 4, !tbaa !5
  %7194 = load ptr, ptr %76, align 8, !tbaa !9
  %7195 = call i32 @s2n_connection_get_early_data_status(ptr noundef %7194, ptr noundef nonnull %82) #12
  %7196 = icmp eq i32 %7195, -1
  br i1 %7196, label %7197, label %7219

7197:                                             ; preds = %7192
  %7198 = load i32, ptr %639, align 4, !tbaa !5
  %7199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7200 = call i32 @s2n_print_stacktrace(ptr noundef %7199) #12
  %7201 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7202 = trunc nuw i8 %7201 to i1
  br i1 %7202, label %7203, label %7207

7203:                                             ; preds = %7197
  %7204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7205 = call i32 @fileno(ptr noundef %7204) #12
  %7206 = call i32 @isatty(i32 noundef %7205) #12
  %.not1556 = icmp eq i32 %7206, 0
  br i1 %.not1556, label %7207, label %7208

7207:                                             ; preds = %7203, %7197
  br label %7208

7208:                                             ; preds = %7203, %7207
  %.str.5.sink4022 = phi ptr [ @.str.5, %7207 ], [ @.str.2, %7203 ]
  store i32 %7198, ptr %639, align 4, !tbaa !5
  %7209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7210 = load i32, ptr @test_count, align 4, !tbaa !5
  %7211 = load i32, ptr %585, align 4, !tbaa !5
  %7212 = call ptr @s2n_strerror(i32 noundef %7211, ptr noundef nonnull @.str.4) #12
  %7213 = load i32, ptr %585, align 4, !tbaa !5
  %7214 = call ptr @s2n_strerror_debug(i32 noundef %7213, ptr noundef nonnull @.str.4) #12
  %7215 = load i32, ptr %639, align 4, !tbaa !5
  %7216 = call ptr @strerror(i32 noundef %7215) #12
  %7217 = load i32, ptr %639, align 4, !tbaa !5
  %7218 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7209, ptr noundef nonnull %.str.5.sink4022, i32 noundef %7210, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 534, ptr noundef %7212, ptr noundef %7214, ptr noundef %7216, i32 noundef %7217) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7219:                                             ; preds = %7192
  %7220 = load i32, ptr @test_count, align 4, !tbaa !5
  %7221 = add nsw i32 %7220, 1
  store i32 %7221, ptr @test_count, align 4, !tbaa !5
  %7222 = load i32, ptr %82, align 4, !tbaa !5
  %7223 = icmp eq i32 %7222, 0
  br i1 %7223, label %7246, label %7224

7224:                                             ; preds = %7219
  %7225 = load i32, ptr %639, align 4, !tbaa !5
  %7226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7227 = call i32 @s2n_print_stacktrace(ptr noundef %7226) #12
  %7228 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7229 = trunc nuw i8 %7228 to i1
  br i1 %7229, label %7230, label %7234

7230:                                             ; preds = %7224
  %7231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7232 = call i32 @fileno(ptr noundef %7231) #12
  %7233 = call i32 @isatty(i32 noundef %7232) #12
  %.not1307 = icmp eq i32 %7233, 0
  br i1 %.not1307, label %7234, label %7235

7234:                                             ; preds = %7230, %7224
  br label %7235

7235:                                             ; preds = %7230, %7234
  %.str.5.sink4031 = phi ptr [ @.str.5, %7234 ], [ @.str.2, %7230 ]
  store i32 %7225, ptr %639, align 4, !tbaa !5
  %7236 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7237 = load i32, ptr @test_count, align 4, !tbaa !5
  %7238 = load i32, ptr %585, align 4, !tbaa !5
  %7239 = call ptr @s2n_strerror(i32 noundef %7238, ptr noundef nonnull @.str.4) #12
  %7240 = load i32, ptr %585, align 4, !tbaa !5
  %7241 = call ptr @s2n_strerror_debug(i32 noundef %7240, ptr noundef nonnull @.str.4) #12
  %7242 = load i32, ptr %639, align 4, !tbaa !5
  %7243 = call ptr @strerror(i32 noundef %7242) #12
  %7244 = load i32, ptr %639, align 4, !tbaa !5
  %7245 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7236, ptr noundef nonnull %.str.5.sink4031, i32 noundef %7237, ptr noundef nonnull @.str.67, ptr noundef nonnull @.str.1, i32 noundef 535, ptr noundef %7239, ptr noundef %7241, ptr noundef %7243, i32 noundef %7244) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7246:                                             ; preds = %7219
  %7247 = add nsw i32 %7220, 2
  store i32 %7247, ptr @test_count, align 4, !tbaa !5
  %7248 = load ptr, ptr %77, align 8, !tbaa !9
  %7249 = call i32 @s2n_recv_early_data(ptr noundef %7248, ptr noundef nonnull %79, i64 noundef 100, ptr noundef nonnull %81, ptr noundef nonnull %80) #12
  %7250 = icmp eq i32 %7249, -1
  br i1 %7250, label %7251, label %7273

7251:                                             ; preds = %7246
  %7252 = load i32, ptr %639, align 4, !tbaa !5
  %7253 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7254 = call i32 @s2n_print_stacktrace(ptr noundef %7253) #12
  %7255 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7256 = trunc nuw i8 %7255 to i1
  br i1 %7256, label %7257, label %7261

7257:                                             ; preds = %7251
  %7258 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7259 = call i32 @fileno(ptr noundef %7258) #12
  %7260 = call i32 @isatty(i32 noundef %7259) #12
  %.not1555 = icmp eq i32 %7260, 0
  br i1 %.not1555, label %7261, label %7262

7261:                                             ; preds = %7257, %7251
  br label %7262

7262:                                             ; preds = %7257, %7261
  %.str.5.sink4040 = phi ptr [ @.str.5, %7261 ], [ @.str.2, %7257 ]
  store i32 %7252, ptr %639, align 4, !tbaa !5
  %7263 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7264 = load i32, ptr @test_count, align 4, !tbaa !5
  %7265 = load i32, ptr %585, align 4, !tbaa !5
  %7266 = call ptr @s2n_strerror(i32 noundef %7265, ptr noundef nonnull @.str.4) #12
  %7267 = load i32, ptr %585, align 4, !tbaa !5
  %7268 = call ptr @s2n_strerror_debug(i32 noundef %7267, ptr noundef nonnull @.str.4) #12
  %7269 = load i32, ptr %639, align 4, !tbaa !5
  %7270 = call ptr @strerror(i32 noundef %7269) #12
  %7271 = load i32, ptr %639, align 4, !tbaa !5
  %7272 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7263, ptr noundef nonnull %.str.5.sink4040, i32 noundef %7264, ptr noundef nonnull @.str.81, ptr noundef nonnull @.str.1, i32 noundef 538, ptr noundef %7266, ptr noundef %7268, ptr noundef %7270, i32 noundef %7271) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7273:                                             ; preds = %7246
  %7274 = load i32, ptr @test_count, align 4, !tbaa !5
  %7275 = add nsw i32 %7274, 1
  store i32 %7275, ptr @test_count, align 4, !tbaa !5
  %7276 = load i32, ptr %80, align 4, !tbaa !5
  %7277 = icmp eq i32 %7276, 0
  br i1 %7277, label %7300, label %7278

7278:                                             ; preds = %7273
  %7279 = load i32, ptr %639, align 4, !tbaa !5
  %7280 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7281 = call i32 @s2n_print_stacktrace(ptr noundef %7280) #12
  %7282 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7283 = trunc nuw i8 %7282 to i1
  br i1 %7283, label %7284, label %7288

7284:                                             ; preds = %7278
  %7285 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7286 = call i32 @fileno(ptr noundef %7285) #12
  %7287 = call i32 @isatty(i32 noundef %7286) #12
  %.not1308 = icmp eq i32 %7287, 0
  br i1 %.not1308, label %7288, label %7289

7288:                                             ; preds = %7284, %7278
  br label %7289

7289:                                             ; preds = %7284, %7288
  %.str.5.sink4049 = phi ptr [ @.str.5, %7288 ], [ @.str.2, %7284 ]
  store i32 %7279, ptr %639, align 4, !tbaa !5
  %7290 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7291 = load i32, ptr @test_count, align 4, !tbaa !5
  %7292 = load i32, ptr %585, align 4, !tbaa !5
  %7293 = call ptr @s2n_strerror(i32 noundef %7292, ptr noundef nonnull @.str.4) #12
  %7294 = load i32, ptr %585, align 4, !tbaa !5
  %7295 = call ptr @s2n_strerror_debug(i32 noundef %7294, ptr noundef nonnull @.str.4) #12
  %7296 = load i32, ptr %639, align 4, !tbaa !5
  %7297 = call ptr @strerror(i32 noundef %7296) #12
  %7298 = load i32, ptr %639, align 4, !tbaa !5
  %7299 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7290, ptr noundef nonnull %.str.5.sink4049, i32 noundef %7291, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 539, ptr noundef %7293, ptr noundef %7295, ptr noundef %7297, i32 noundef %7298) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7300:                                             ; preds = %7273
  %7301 = add nsw i32 %7274, 2
  store i32 %7301, ptr @test_count, align 4, !tbaa !5
  %7302 = load ptr, ptr %77, align 8, !tbaa !9
  %7303 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7302) #12
  %7304 = icmp eq i32 %7303, 13
  br i1 %7304, label %7327, label %7305

7305:                                             ; preds = %7300
  %7306 = load i32, ptr %639, align 4, !tbaa !5
  %7307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7308 = call i32 @s2n_print_stacktrace(ptr noundef %7307) #12
  %7309 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7310 = trunc nuw i8 %7309 to i1
  br i1 %7310, label %7311, label %7315

7311:                                             ; preds = %7305
  %7312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7313 = call i32 @fileno(ptr noundef %7312) #12
  %7314 = call i32 @isatty(i32 noundef %7313) #12
  %.not1309 = icmp eq i32 %7314, 0
  br i1 %.not1309, label %7315, label %7316

7315:                                             ; preds = %7311, %7305
  br label %7316

7316:                                             ; preds = %7311, %7315
  %.str.5.sink4058 = phi ptr [ @.str.5, %7315 ], [ @.str.2, %7311 ]
  store i32 %7306, ptr %639, align 4, !tbaa !5
  %7317 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7318 = load i32, ptr @test_count, align 4, !tbaa !5
  %7319 = load i32, ptr %585, align 4, !tbaa !5
  %7320 = call ptr @s2n_strerror(i32 noundef %7319, ptr noundef nonnull @.str.4) #12
  %7321 = load i32, ptr %585, align 4, !tbaa !5
  %7322 = call ptr @s2n_strerror_debug(i32 noundef %7321, ptr noundef nonnull @.str.4) #12
  %7323 = load i32, ptr %639, align 4, !tbaa !5
  %7324 = call ptr @strerror(i32 noundef %7323) #12
  %7325 = load i32, ptr %639, align 4, !tbaa !5
  %7326 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7317, ptr noundef nonnull %.str.5.sink4058, i32 noundef %7318, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 539, ptr noundef %7320, ptr noundef %7322, ptr noundef %7324, i32 noundef %7325) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7327:                                             ; preds = %7300
  %7328 = load i32, ptr @test_count, align 4, !tbaa !5
  %7329 = add nsw i32 %7328, 1
  store i32 %7329, ptr @test_count, align 4, !tbaa !5
  %7330 = load i64, ptr %81, align 8, !tbaa !42
  %7331 = icmp eq i64 %7330, 0
  br i1 %7331, label %7354, label %7332

7332:                                             ; preds = %7327
  %7333 = load i32, ptr %639, align 4, !tbaa !5
  %7334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7335 = call i32 @s2n_print_stacktrace(ptr noundef %7334) #12
  %7336 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7337 = trunc nuw i8 %7336 to i1
  br i1 %7337, label %7338, label %7342

7338:                                             ; preds = %7332
  %7339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7340 = call i32 @fileno(ptr noundef %7339) #12
  %7341 = call i32 @isatty(i32 noundef %7340) #12
  %.not1310 = icmp eq i32 %7341, 0
  br i1 %.not1310, label %7342, label %7343

7342:                                             ; preds = %7338, %7332
  br label %7343

7343:                                             ; preds = %7338, %7342
  %.str.5.sink4067 = phi ptr [ @.str.5, %7342 ], [ @.str.2, %7338 ]
  store i32 %7333, ptr %639, align 4, !tbaa !5
  %7344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7345 = load i32, ptr @test_count, align 4, !tbaa !5
  %7346 = load i32, ptr %585, align 4, !tbaa !5
  %7347 = call ptr @s2n_strerror(i32 noundef %7346, ptr noundef nonnull @.str.4) #12
  %7348 = load i32, ptr %585, align 4, !tbaa !5
  %7349 = call ptr @s2n_strerror_debug(i32 noundef %7348, ptr noundef nonnull @.str.4) #12
  %7350 = load i32, ptr %639, align 4, !tbaa !5
  %7351 = call ptr @strerror(i32 noundef %7350) #12
  %7352 = load i32, ptr %639, align 4, !tbaa !5
  %7353 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7344, ptr noundef nonnull %.str.5.sink4067, i32 noundef %7345, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 540, ptr noundef %7347, ptr noundef %7349, ptr noundef %7351, i32 noundef %7352) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7354:                                             ; preds = %7327
  %7355 = add nsw i32 %7328, 2
  store i32 %7355, ptr @test_count, align 4, !tbaa !5
  %7356 = load ptr, ptr %77, align 8, !tbaa !9
  %7357 = call i32 @s2n_connection_get_early_data_status(ptr noundef %7356, ptr noundef nonnull %82) #12
  %7358 = icmp eq i32 %7357, -1
  br i1 %7358, label %7359, label %7381

7359:                                             ; preds = %7354
  %7360 = load i32, ptr %639, align 4, !tbaa !5
  %7361 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7362 = call i32 @s2n_print_stacktrace(ptr noundef %7361) #12
  %7363 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7364 = trunc nuw i8 %7363 to i1
  br i1 %7364, label %7365, label %7369

7365:                                             ; preds = %7359
  %7366 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7367 = call i32 @fileno(ptr noundef %7366) #12
  %7368 = call i32 @isatty(i32 noundef %7367) #12
  %.not1554 = icmp eq i32 %7368, 0
  br i1 %.not1554, label %7369, label %7370

7369:                                             ; preds = %7365, %7359
  br label %7370

7370:                                             ; preds = %7365, %7369
  %.str.5.sink4076 = phi ptr [ @.str.5, %7369 ], [ @.str.2, %7365 ]
  store i32 %7360, ptr %639, align 4, !tbaa !5
  %7371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7372 = load i32, ptr @test_count, align 4, !tbaa !5
  %7373 = load i32, ptr %585, align 4, !tbaa !5
  %7374 = call ptr @s2n_strerror(i32 noundef %7373, ptr noundef nonnull @.str.4) #12
  %7375 = load i32, ptr %585, align 4, !tbaa !5
  %7376 = call ptr @s2n_strerror_debug(i32 noundef %7375, ptr noundef nonnull @.str.4) #12
  %7377 = load i32, ptr %639, align 4, !tbaa !5
  %7378 = call ptr @strerror(i32 noundef %7377) #12
  %7379 = load i32, ptr %639, align 4, !tbaa !5
  %7380 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7371, ptr noundef nonnull %.str.5.sink4076, i32 noundef %7372, ptr noundef nonnull @.str.70, ptr noundef nonnull @.str.1, i32 noundef 542, ptr noundef %7374, ptr noundef %7376, ptr noundef %7378, i32 noundef %7379) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7381:                                             ; preds = %7354
  %7382 = load i32, ptr @test_count, align 4, !tbaa !5
  %7383 = add nsw i32 %7382, 1
  store i32 %7383, ptr @test_count, align 4, !tbaa !5
  %7384 = load i32, ptr %82, align 4, !tbaa !5
  %7385 = icmp eq i32 %7384, 2
  br i1 %7385, label %7408, label %7386

7386:                                             ; preds = %7381
  %7387 = load i32, ptr %639, align 4, !tbaa !5
  %7388 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7389 = call i32 @s2n_print_stacktrace(ptr noundef %7388) #12
  %7390 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7391 = trunc nuw i8 %7390 to i1
  br i1 %7391, label %7392, label %7396

7392:                                             ; preds = %7386
  %7393 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7394 = call i32 @fileno(ptr noundef %7393) #12
  %7395 = call i32 @isatty(i32 noundef %7394) #12
  %.not1311 = icmp eq i32 %7395, 0
  br i1 %.not1311, label %7396, label %7397

7396:                                             ; preds = %7392, %7386
  br label %7397

7397:                                             ; preds = %7392, %7396
  %.str.5.sink4085 = phi ptr [ @.str.5, %7396 ], [ @.str.2, %7392 ]
  store i32 %7387, ptr %639, align 4, !tbaa !5
  %7398 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7399 = load i32, ptr @test_count, align 4, !tbaa !5
  %7400 = load i32, ptr %585, align 4, !tbaa !5
  %7401 = call ptr @s2n_strerror(i32 noundef %7400, ptr noundef nonnull @.str.4) #12
  %7402 = load i32, ptr %585, align 4, !tbaa !5
  %7403 = call ptr @s2n_strerror_debug(i32 noundef %7402, ptr noundef nonnull @.str.4) #12
  %7404 = load i32, ptr %639, align 4, !tbaa !5
  %7405 = call ptr @strerror(i32 noundef %7404) #12
  %7406 = load i32, ptr %639, align 4, !tbaa !5
  %7407 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7398, ptr noundef nonnull %.str.5.sink4085, i32 noundef %7399, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 543, ptr noundef %7401, ptr noundef %7403, ptr noundef %7405, i32 noundef %7406) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7408:                                             ; preds = %7381
  %7409 = add nsw i32 %7382, 2
  store i32 %7409, ptr @test_count, align 4, !tbaa !5
  %7410 = load ptr, ptr %76, align 8, !tbaa !9
  %7411 = call i32 @s2n_send_early_data(ptr noundef %7410, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %81, ptr noundef nonnull %80) #12
  %7412 = icmp eq i32 %7411, -1
  br i1 %7412, label %7413, label %7435

7413:                                             ; preds = %7408
  %7414 = load i32, ptr %639, align 4, !tbaa !5
  %7415 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7416 = call i32 @s2n_print_stacktrace(ptr noundef %7415) #12
  %7417 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7418 = trunc nuw i8 %7417 to i1
  br i1 %7418, label %7419, label %7423

7419:                                             ; preds = %7413
  %7420 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7421 = call i32 @fileno(ptr noundef %7420) #12
  %7422 = call i32 @isatty(i32 noundef %7421) #12
  %.not1553 = icmp eq i32 %7422, 0
  br i1 %.not1553, label %7423, label %7424

7423:                                             ; preds = %7419, %7413
  br label %7424

7424:                                             ; preds = %7419, %7423
  %.str.5.sink4094 = phi ptr [ @.str.5, %7423 ], [ @.str.2, %7419 ]
  store i32 %7414, ptr %639, align 4, !tbaa !5
  %7425 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7426 = load i32, ptr @test_count, align 4, !tbaa !5
  %7427 = load i32, ptr %585, align 4, !tbaa !5
  %7428 = call ptr @s2n_strerror(i32 noundef %7427, ptr noundef nonnull @.str.4) #12
  %7429 = load i32, ptr %585, align 4, !tbaa !5
  %7430 = call ptr @s2n_strerror_debug(i32 noundef %7429, ptr noundef nonnull @.str.4) #12
  %7431 = load i32, ptr %639, align 4, !tbaa !5
  %7432 = call ptr @strerror(i32 noundef %7431) #12
  %7433 = load i32, ptr %639, align 4, !tbaa !5
  %7434 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7425, ptr noundef nonnull %.str.5.sink4094, i32 noundef %7426, ptr noundef nonnull @.str.86, ptr noundef nonnull @.str.1, i32 noundef 546, ptr noundef %7428, ptr noundef %7430, ptr noundef %7432, i32 noundef %7433) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7435:                                             ; preds = %7408
  %7436 = load i32, ptr @test_count, align 4, !tbaa !5
  %7437 = add nsw i32 %7436, 1
  store i32 %7437, ptr @test_count, align 4, !tbaa !5
  %7438 = load i32, ptr %80, align 4, !tbaa !5
  %7439 = icmp eq i32 %7438, 0
  br i1 %7439, label %7462, label %7440

7440:                                             ; preds = %7435
  %7441 = load i32, ptr %639, align 4, !tbaa !5
  %7442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7443 = call i32 @s2n_print_stacktrace(ptr noundef %7442) #12
  %7444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7445 = trunc nuw i8 %7444 to i1
  br i1 %7445, label %7446, label %7450

7446:                                             ; preds = %7440
  %7447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7448 = call i32 @fileno(ptr noundef %7447) #12
  %7449 = call i32 @isatty(i32 noundef %7448) #12
  %.not1312 = icmp eq i32 %7449, 0
  br i1 %.not1312, label %7450, label %7451

7450:                                             ; preds = %7446, %7440
  br label %7451

7451:                                             ; preds = %7446, %7450
  %.str.5.sink4103 = phi ptr [ @.str.5, %7450 ], [ @.str.2, %7446 ]
  store i32 %7441, ptr %639, align 4, !tbaa !5
  %7452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7453 = load i32, ptr @test_count, align 4, !tbaa !5
  %7454 = load i32, ptr %585, align 4, !tbaa !5
  %7455 = call ptr @s2n_strerror(i32 noundef %7454, ptr noundef nonnull @.str.4) #12
  %7456 = load i32, ptr %585, align 4, !tbaa !5
  %7457 = call ptr @s2n_strerror_debug(i32 noundef %7456, ptr noundef nonnull @.str.4) #12
  %7458 = load i32, ptr %639, align 4, !tbaa !5
  %7459 = call ptr @strerror(i32 noundef %7458) #12
  %7460 = load i32, ptr %639, align 4, !tbaa !5
  %7461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7452, ptr noundef nonnull %.str.5.sink4103, i32 noundef %7453, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %7455, ptr noundef %7457, ptr noundef %7459, i32 noundef %7460) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7462:                                             ; preds = %7435
  %7463 = add nsw i32 %7436, 2
  store i32 %7463, ptr @test_count, align 4, !tbaa !5
  %7464 = load ptr, ptr %76, align 8, !tbaa !9
  %7465 = call i32 @s2n_conn_get_current_message_type(ptr noundef %7464) #12
  %7466 = icmp eq i32 %7465, 20
  br i1 %7466, label %7489, label %7467

7467:                                             ; preds = %7462
  %7468 = load i32, ptr %639, align 4, !tbaa !5
  %7469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7470 = call i32 @s2n_print_stacktrace(ptr noundef %7469) #12
  %7471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7472 = trunc nuw i8 %7471 to i1
  br i1 %7472, label %7473, label %7477

7473:                                             ; preds = %7467
  %7474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7475 = call i32 @fileno(ptr noundef %7474) #12
  %7476 = call i32 @isatty(i32 noundef %7475) #12
  %.not1313 = icmp eq i32 %7476, 0
  br i1 %.not1313, label %7477, label %7478

7477:                                             ; preds = %7473, %7467
  br label %7478

7478:                                             ; preds = %7473, %7477
  %.str.5.sink4112 = phi ptr [ @.str.5, %7477 ], [ @.str.2, %7473 ]
  store i32 %7468, ptr %639, align 4, !tbaa !5
  %7479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7480 = load i32, ptr @test_count, align 4, !tbaa !5
  %7481 = load i32, ptr %585, align 4, !tbaa !5
  %7482 = call ptr @s2n_strerror(i32 noundef %7481, ptr noundef nonnull @.str.4) #12
  %7483 = load i32, ptr %585, align 4, !tbaa !5
  %7484 = call ptr @s2n_strerror_debug(i32 noundef %7483, ptr noundef nonnull @.str.4) #12
  %7485 = load i32, ptr %639, align 4, !tbaa !5
  %7486 = call ptr @strerror(i32 noundef %7485) #12
  %7487 = load i32, ptr %639, align 4, !tbaa !5
  %7488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7479, ptr noundef nonnull %.str.5.sink4112, i32 noundef %7480, ptr noundef nonnull @.str.100, ptr noundef nonnull @.str.1, i32 noundef 547, ptr noundef %7482, ptr noundef %7484, ptr noundef %7486, i32 noundef %7487) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7489:                                             ; preds = %7462
  %7490 = load i32, ptr @test_count, align 4, !tbaa !5
  %7491 = add nsw i32 %7490, 1
  store i32 %7491, ptr @test_count, align 4, !tbaa !5
  %7492 = load i64, ptr %81, align 8, !tbaa !42
  %7493 = icmp eq i64 %7492, 0
  br i1 %7493, label %7516, label %7494

7494:                                             ; preds = %7489
  %7495 = load i32, ptr %639, align 4, !tbaa !5
  %7496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7497 = call i32 @s2n_print_stacktrace(ptr noundef %7496) #12
  %7498 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7499 = trunc nuw i8 %7498 to i1
  br i1 %7499, label %7500, label %7504

7500:                                             ; preds = %7494
  %7501 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7502 = call i32 @fileno(ptr noundef %7501) #12
  %7503 = call i32 @isatty(i32 noundef %7502) #12
  %.not1314 = icmp eq i32 %7503, 0
  br i1 %.not1314, label %7504, label %7505

7504:                                             ; preds = %7500, %7494
  br label %7505

7505:                                             ; preds = %7500, %7504
  %.str.5.sink4121 = phi ptr [ @.str.5, %7504 ], [ @.str.2, %7500 ]
  store i32 %7495, ptr %639, align 4, !tbaa !5
  %7506 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7507 = load i32, ptr @test_count, align 4, !tbaa !5
  %7508 = load i32, ptr %585, align 4, !tbaa !5
  %7509 = call ptr @s2n_strerror(i32 noundef %7508, ptr noundef nonnull @.str.4) #12
  %7510 = load i32, ptr %585, align 4, !tbaa !5
  %7511 = call ptr @s2n_strerror_debug(i32 noundef %7510, ptr noundef nonnull @.str.4) #12
  %7512 = load i32, ptr %639, align 4, !tbaa !5
  %7513 = call ptr @strerror(i32 noundef %7512) #12
  %7514 = load i32, ptr %639, align 4, !tbaa !5
  %7515 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7506, ptr noundef nonnull %.str.5.sink4121, i32 noundef %7507, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 548, ptr noundef %7509, ptr noundef %7511, ptr noundef %7513, i32 noundef %7514) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7516:                                             ; preds = %7489
  %7517 = add nsw i32 %7490, 2
  store i32 %7517, ptr @test_count, align 4, !tbaa !5
  %7518 = load ptr, ptr %76, align 8, !tbaa !9
  %7519 = call i32 @s2n_connection_get_early_data_status(ptr noundef %7518, ptr noundef nonnull %82) #12
  %7520 = icmp eq i32 %7519, -1
  br i1 %7520, label %7521, label %7543

7521:                                             ; preds = %7516
  %7522 = load i32, ptr %639, align 4, !tbaa !5
  %7523 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7524 = call i32 @s2n_print_stacktrace(ptr noundef %7523) #12
  %7525 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7526 = trunc nuw i8 %7525 to i1
  br i1 %7526, label %7527, label %7531

7527:                                             ; preds = %7521
  %7528 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7529 = call i32 @fileno(ptr noundef %7528) #12
  %7530 = call i32 @isatty(i32 noundef %7529) #12
  %.not1552 = icmp eq i32 %7530, 0
  br i1 %.not1552, label %7531, label %7532

7531:                                             ; preds = %7527, %7521
  br label %7532

7532:                                             ; preds = %7527, %7531
  %.str.5.sink4130 = phi ptr [ @.str.5, %7531 ], [ @.str.2, %7527 ]
  store i32 %7522, ptr %639, align 4, !tbaa !5
  %7533 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7534 = load i32, ptr @test_count, align 4, !tbaa !5
  %7535 = load i32, ptr %585, align 4, !tbaa !5
  %7536 = call ptr @s2n_strerror(i32 noundef %7535, ptr noundef nonnull @.str.4) #12
  %7537 = load i32, ptr %585, align 4, !tbaa !5
  %7538 = call ptr @s2n_strerror_debug(i32 noundef %7537, ptr noundef nonnull @.str.4) #12
  %7539 = load i32, ptr %639, align 4, !tbaa !5
  %7540 = call ptr @strerror(i32 noundef %7539) #12
  %7541 = load i32, ptr %639, align 4, !tbaa !5
  %7542 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7533, ptr noundef nonnull %.str.5.sink4130, i32 noundef %7534, ptr noundef nonnull @.str.66, ptr noundef nonnull @.str.1, i32 noundef 550, ptr noundef %7536, ptr noundef %7538, ptr noundef %7540, i32 noundef %7541) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7543:                                             ; preds = %7516
  %7544 = load i32, ptr @test_count, align 4, !tbaa !5
  %7545 = add nsw i32 %7544, 1
  store i32 %7545, ptr @test_count, align 4, !tbaa !5
  %7546 = load i32, ptr %82, align 4, !tbaa !5
  %7547 = icmp eq i32 %7546, 2
  br i1 %7547, label %7570, label %7548

7548:                                             ; preds = %7543
  %7549 = load i32, ptr %639, align 4, !tbaa !5
  %7550 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7551 = call i32 @s2n_print_stacktrace(ptr noundef %7550) #12
  %7552 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7553 = trunc nuw i8 %7552 to i1
  br i1 %7553, label %7554, label %7558

7554:                                             ; preds = %7548
  %7555 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7556 = call i32 @fileno(ptr noundef %7555) #12
  %7557 = call i32 @isatty(i32 noundef %7556) #12
  %.not1315 = icmp eq i32 %7557, 0
  br i1 %.not1315, label %7558, label %7559

7558:                                             ; preds = %7554, %7548
  br label %7559

7559:                                             ; preds = %7554, %7558
  %.str.5.sink4139 = phi ptr [ @.str.5, %7558 ], [ @.str.2, %7554 ]
  store i32 %7549, ptr %639, align 4, !tbaa !5
  %7560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7561 = load i32, ptr @test_count, align 4, !tbaa !5
  %7562 = load i32, ptr %585, align 4, !tbaa !5
  %7563 = call ptr @s2n_strerror(i32 noundef %7562, ptr noundef nonnull @.str.4) #12
  %7564 = load i32, ptr %585, align 4, !tbaa !5
  %7565 = call ptr @s2n_strerror_debug(i32 noundef %7564, ptr noundef nonnull @.str.4) #12
  %7566 = load i32, ptr %639, align 4, !tbaa !5
  %7567 = call ptr @strerror(i32 noundef %7566) #12
  %7568 = load i32, ptr %639, align 4, !tbaa !5
  %7569 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7560, ptr noundef nonnull %.str.5.sink4139, i32 noundef %7561, ptr noundef nonnull @.str.99, ptr noundef nonnull @.str.1, i32 noundef 551, ptr noundef %7563, ptr noundef %7565, ptr noundef %7567, i32 noundef %7568) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7570:                                             ; preds = %7543
  %7571 = add nsw i32 %7544, 2
  store i32 %7571, ptr @test_count, align 4, !tbaa !5
  %7572 = load ptr, ptr %77, align 8, !tbaa !9
  %7573 = load ptr, ptr %76, align 8, !tbaa !9
  %7574 = call i32 @s2n_negotiate_test_server_and_client(ptr noundef %7572, ptr noundef %7573) #12
  %7575 = icmp eq i32 %7574, -1
  br i1 %7575, label %7576, label %7598

7576:                                             ; preds = %7570
  %7577 = load i32, ptr %639, align 4, !tbaa !5
  %7578 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7579 = call i32 @s2n_print_stacktrace(ptr noundef %7578) #12
  %7580 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7581 = trunc nuw i8 %7580 to i1
  br i1 %7581, label %7582, label %7586

7582:                                             ; preds = %7576
  %7583 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7584 = call i32 @fileno(ptr noundef %7583) #12
  %7585 = call i32 @isatty(i32 noundef %7584) #12
  %.not1551 = icmp eq i32 %7585, 0
  br i1 %.not1551, label %7586, label %7587

7586:                                             ; preds = %7582, %7576
  br label %7587

7587:                                             ; preds = %7582, %7586
  %.str.5.sink4148 = phi ptr [ @.str.5, %7586 ], [ @.str.2, %7582 ]
  store i32 %7577, ptr %639, align 4, !tbaa !5
  %7588 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7589 = load i32, ptr @test_count, align 4, !tbaa !5
  %7590 = load i32, ptr %585, align 4, !tbaa !5
  %7591 = call ptr @s2n_strerror(i32 noundef %7590, ptr noundef nonnull @.str.4) #12
  %7592 = load i32, ptr %585, align 4, !tbaa !5
  %7593 = call ptr @s2n_strerror_debug(i32 noundef %7592, ptr noundef nonnull @.str.4) #12
  %7594 = load i32, ptr %639, align 4, !tbaa !5
  %7595 = call ptr @strerror(i32 noundef %7594) #12
  %7596 = load i32, ptr %639, align 4, !tbaa !5
  %7597 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7588, ptr noundef nonnull %.str.5.sink4148, i32 noundef %7589, ptr noundef nonnull @.str.71, ptr noundef nonnull @.str.1, i32 noundef 553, ptr noundef %7591, ptr noundef %7593, ptr noundef %7595, i32 noundef %7596) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7598:                                             ; preds = %7570
  %7599 = load i32, ptr @test_count, align 4, !tbaa !5
  %7600 = add nsw i32 %7599, 1
  store i32 %7600, ptr @test_count, align 4, !tbaa !5
  %7601 = load ptr, ptr %76, align 8, !tbaa !9
  %7602 = call i32 @s2n_connection_free(ptr noundef %7601) #12
  %7603 = icmp eq i32 %7602, -1
  br i1 %7603, label %7604, label %7626

7604:                                             ; preds = %7598
  %7605 = load i32, ptr %639, align 4, !tbaa !5
  %7606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7607 = call i32 @s2n_print_stacktrace(ptr noundef %7606) #12
  %7608 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7609 = trunc nuw i8 %7608 to i1
  br i1 %7609, label %7610, label %7614

7610:                                             ; preds = %7604
  %7611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7612 = call i32 @fileno(ptr noundef %7611) #12
  %7613 = call i32 @isatty(i32 noundef %7612) #12
  %.not1550 = icmp eq i32 %7613, 0
  br i1 %.not1550, label %7614, label %7615

7614:                                             ; preds = %7610, %7604
  br label %7615

7615:                                             ; preds = %7610, %7614
  %.str.5.sink4157 = phi ptr [ @.str.5, %7614 ], [ @.str.2, %7610 ]
  store i32 %7605, ptr %639, align 4, !tbaa !5
  %7616 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7617 = load i32, ptr @test_count, align 4, !tbaa !5
  %7618 = load i32, ptr %585, align 4, !tbaa !5
  %7619 = call ptr @s2n_strerror(i32 noundef %7618, ptr noundef nonnull @.str.4) #12
  %7620 = load i32, ptr %585, align 4, !tbaa !5
  %7621 = call ptr @s2n_strerror_debug(i32 noundef %7620, ptr noundef nonnull @.str.4) #12
  %7622 = load i32, ptr %639, align 4, !tbaa !5
  %7623 = call ptr @strerror(i32 noundef %7622) #12
  %7624 = load i32, ptr %639, align 4, !tbaa !5
  %7625 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7616, ptr noundef nonnull %.str.5.sink4157, i32 noundef %7617, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 555, ptr noundef %7619, ptr noundef %7621, ptr noundef %7623, i32 noundef %7624) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7626:                                             ; preds = %7598
  %7627 = load i32, ptr @test_count, align 4, !tbaa !5
  %7628 = add nsw i32 %7627, 1
  store i32 %7628, ptr @test_count, align 4, !tbaa !5
  %7629 = load ptr, ptr %77, align 8, !tbaa !9
  %7630 = call i32 @s2n_connection_free(ptr noundef %7629) #12
  %7631 = icmp eq i32 %7630, -1
  br i1 %7631, label %7632, label %7654

7632:                                             ; preds = %7626
  %7633 = load i32, ptr %639, align 4, !tbaa !5
  %7634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7635 = call i32 @s2n_print_stacktrace(ptr noundef %7634) #12
  %7636 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7637 = trunc nuw i8 %7636 to i1
  br i1 %7637, label %7638, label %7642

7638:                                             ; preds = %7632
  %7639 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7640 = call i32 @fileno(ptr noundef %7639) #12
  %7641 = call i32 @isatty(i32 noundef %7640) #12
  %.not1549 = icmp eq i32 %7641, 0
  br i1 %.not1549, label %7642, label %7643

7642:                                             ; preds = %7638, %7632
  br label %7643

7643:                                             ; preds = %7638, %7642
  %.str.5.sink4166 = phi ptr [ @.str.5, %7642 ], [ @.str.2, %7638 ]
  store i32 %7633, ptr %639, align 4, !tbaa !5
  %7644 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7645 = load i32, ptr @test_count, align 4, !tbaa !5
  %7646 = load i32, ptr %585, align 4, !tbaa !5
  %7647 = call ptr @s2n_strerror(i32 noundef %7646, ptr noundef nonnull @.str.4) #12
  %7648 = load i32, ptr %585, align 4, !tbaa !5
  %7649 = call ptr @s2n_strerror_debug(i32 noundef %7648, ptr noundef nonnull @.str.4) #12
  %7650 = load i32, ptr %639, align 4, !tbaa !5
  %7651 = call ptr @strerror(i32 noundef %7650) #12
  %7652 = load i32, ptr %639, align 4, !tbaa !5
  %7653 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7644, ptr noundef nonnull %.str.5.sink4166, i32 noundef %7645, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 556, ptr noundef %7647, ptr noundef %7649, ptr noundef %7651, i32 noundef %7652) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7654:                                             ; preds = %7626
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %82) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %81) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %80) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %79) #12
  %7655 = call i32 @s2n_io_pair_close(ptr noundef nonnull %78) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %78) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %77) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %76) #12
  %7656 = call ptr @s2n_connection_new(i32 noundef 1) #12
  %7657 = load i32, ptr @test_count, align 4, !tbaa !5
  %7658 = add nsw i32 %7657, 1
  store i32 %7658, ptr @test_count, align 4, !tbaa !5
  %7659 = icmp eq ptr %7656, null
  br i1 %7659, label %7660, label %7682

7660:                                             ; preds = %7654
  %7661 = load i32, ptr %639, align 4, !tbaa !5
  %7662 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7663 = call i32 @s2n_print_stacktrace(ptr noundef %7662) #12
  %7664 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7665 = trunc nuw i8 %7664 to i1
  br i1 %7665, label %7666, label %7670

7666:                                             ; preds = %7660
  %7667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7668 = call i32 @fileno(ptr noundef %7667) #12
  %7669 = call i32 @isatty(i32 noundef %7668) #12
  %.not1548 = icmp eq i32 %7669, 0
  br i1 %.not1548, label %7670, label %7671

7670:                                             ; preds = %7666, %7660
  br label %7671

7671:                                             ; preds = %7666, %7670
  %.str.5.sink4175 = phi ptr [ @.str.5, %7670 ], [ @.str.2, %7666 ]
  store i32 %7661, ptr %639, align 4, !tbaa !5
  %7672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7673 = load i32, ptr @test_count, align 4, !tbaa !5
  %7674 = load i32, ptr %585, align 4, !tbaa !5
  %7675 = call ptr @s2n_strerror(i32 noundef %7674, ptr noundef nonnull @.str.4) #12
  %7676 = load i32, ptr %585, align 4, !tbaa !5
  %7677 = call ptr @s2n_strerror_debug(i32 noundef %7676, ptr noundef nonnull @.str.4) #12
  %7678 = load i32, ptr %639, align 4, !tbaa !5
  %7679 = call ptr @strerror(i32 noundef %7678) #12
  %7680 = load i32, ptr %639, align 4, !tbaa !5
  %7681 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7672, ptr noundef nonnull %.str.5.sink4175, i32 noundef %7673, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 571, ptr noundef %7675, ptr noundef %7677, ptr noundef %7679, i32 noundef %7680) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7682:                                             ; preds = %7654
  %7683 = add nsw i32 %7657, 2
  store i32 %7683, ptr @test_count, align 4, !tbaa !5
  %7684 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %7656, ptr noundef nonnull @.str.31) #12
  %7685 = icmp eq i32 %7684, -1
  br i1 %7685, label %7686, label %7708

7686:                                             ; preds = %7682
  %7687 = load i32, ptr %639, align 4, !tbaa !5
  %7688 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7689 = call i32 @s2n_print_stacktrace(ptr noundef %7688) #12
  %7690 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7691 = trunc nuw i8 %7690 to i1
  br i1 %7691, label %7692, label %7696

7692:                                             ; preds = %7686
  %7693 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7694 = call i32 @fileno(ptr noundef %7693) #12
  %7695 = call i32 @isatty(i32 noundef %7694) #12
  %.not1547 = icmp eq i32 %7695, 0
  br i1 %.not1547, label %7696, label %7697

7696:                                             ; preds = %7692, %7686
  br label %7697

7697:                                             ; preds = %7692, %7696
  %.str.5.sink4184 = phi ptr [ @.str.5, %7696 ], [ @.str.2, %7692 ]
  store i32 %7687, ptr %639, align 4, !tbaa !5
  %7698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7699 = load i32, ptr @test_count, align 4, !tbaa !5
  %7700 = load i32, ptr %585, align 4, !tbaa !5
  %7701 = call ptr @s2n_strerror(i32 noundef %7700, ptr noundef nonnull @.str.4) #12
  %7702 = load i32, ptr %585, align 4, !tbaa !5
  %7703 = call ptr @s2n_strerror_debug(i32 noundef %7702, ptr noundef nonnull @.str.4) #12
  %7704 = load i32, ptr %639, align 4, !tbaa !5
  %7705 = call ptr @strerror(i32 noundef %7704) #12
  %7706 = load i32, ptr %639, align 4, !tbaa !5
  %7707 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7698, ptr noundef nonnull %.str.5.sink4184, i32 noundef %7699, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 572, ptr noundef %7701, ptr noundef %7703, ptr noundef %7705, i32 noundef %7706) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7708:                                             ; preds = %7682
  %7709 = load i32, ptr @test_count, align 4, !tbaa !5
  %7710 = add nsw i32 %7709, 1
  store i32 %7710, ptr @test_count, align 4, !tbaa !5
  %7711 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %7656, ptr noundef %5708) #12
  %7712 = icmp eq i32 %7711, -1
  br i1 %7712, label %7713, label %7735

7713:                                             ; preds = %7708
  %7714 = load i32, ptr %639, align 4, !tbaa !5
  %7715 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7716 = call i32 @s2n_print_stacktrace(ptr noundef %7715) #12
  %7717 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7718 = trunc nuw i8 %7717 to i1
  br i1 %7718, label %7719, label %7723

7719:                                             ; preds = %7713
  %7720 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7721 = call i32 @fileno(ptr noundef %7720) #12
  %7722 = call i32 @isatty(i32 noundef %7721) #12
  %.not1546 = icmp eq i32 %7722, 0
  br i1 %.not1546, label %7723, label %7724

7723:                                             ; preds = %7719, %7713
  br label %7724

7724:                                             ; preds = %7719, %7723
  %.str.5.sink4193 = phi ptr [ @.str.5, %7723 ], [ @.str.2, %7719 ]
  store i32 %7714, ptr %639, align 4, !tbaa !5
  %7725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7726 = load i32, ptr @test_count, align 4, !tbaa !5
  %7727 = load i32, ptr %585, align 4, !tbaa !5
  %7728 = call ptr @s2n_strerror(i32 noundef %7727, ptr noundef nonnull @.str.4) #12
  %7729 = load i32, ptr %585, align 4, !tbaa !5
  %7730 = call ptr @s2n_strerror_debug(i32 noundef %7729, ptr noundef nonnull @.str.4) #12
  %7731 = load i32, ptr %639, align 4, !tbaa !5
  %7732 = call ptr @strerror(i32 noundef %7731) #12
  %7733 = load i32, ptr %639, align 4, !tbaa !5
  %7734 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7725, ptr noundef nonnull %.str.5.sink4193, i32 noundef %7726, ptr noundef nonnull @.str.33, ptr noundef nonnull @.str.1, i32 noundef 573, ptr noundef %7728, ptr noundef %7730, ptr noundef %7732, i32 noundef %7733) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7735:                                             ; preds = %7708
  %7736 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %7737 = load i32, ptr @test_count, align 4, !tbaa !5
  %7738 = add nsw i32 %7737, 1
  store i32 %7738, ptr @test_count, align 4, !tbaa !5
  %7739 = icmp eq ptr %7736, null
  br i1 %7739, label %7740, label %7762

7740:                                             ; preds = %7735
  %7741 = load i32, ptr %639, align 4, !tbaa !5
  %7742 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7743 = call i32 @s2n_print_stacktrace(ptr noundef %7742) #12
  %7744 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7745 = trunc nuw i8 %7744 to i1
  br i1 %7745, label %7746, label %7750

7746:                                             ; preds = %7740
  %7747 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7748 = call i32 @fileno(ptr noundef %7747) #12
  %7749 = call i32 @isatty(i32 noundef %7748) #12
  %.not1545 = icmp eq i32 %7749, 0
  br i1 %.not1545, label %7750, label %7751

7750:                                             ; preds = %7746, %7740
  br label %7751

7751:                                             ; preds = %7746, %7750
  %.str.5.sink4202 = phi ptr [ @.str.5, %7750 ], [ @.str.2, %7746 ]
  store i32 %7741, ptr %639, align 4, !tbaa !5
  %7752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7753 = load i32, ptr @test_count, align 4, !tbaa !5
  %7754 = load i32, ptr %585, align 4, !tbaa !5
  %7755 = call ptr @s2n_strerror(i32 noundef %7754, ptr noundef nonnull @.str.4) #12
  %7756 = load i32, ptr %585, align 4, !tbaa !5
  %7757 = call ptr @s2n_strerror_debug(i32 noundef %7756, ptr noundef nonnull @.str.4) #12
  %7758 = load i32, ptr %639, align 4, !tbaa !5
  %7759 = call ptr @strerror(i32 noundef %7758) #12
  %7760 = load i32, ptr %639, align 4, !tbaa !5
  %7761 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7752, ptr noundef nonnull %.str.5.sink4202, i32 noundef %7753, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 576, ptr noundef %7755, ptr noundef %7757, ptr noundef %7759, i32 noundef %7760) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7762:                                             ; preds = %7735
  %7763 = add nsw i32 %7737, 2
  store i32 %7763, ptr @test_count, align 4, !tbaa !5
  %7764 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %7736, i32 noundef 1) #12
  %7765 = icmp eq i32 %7764, -1
  br i1 %7765, label %7766, label %7788

7766:                                             ; preds = %7762
  %7767 = load i32, ptr %639, align 4, !tbaa !5
  %7768 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7769 = call i32 @s2n_print_stacktrace(ptr noundef %7768) #12
  %7770 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7771 = trunc nuw i8 %7770 to i1
  br i1 %7771, label %7772, label %7776

7772:                                             ; preds = %7766
  %7773 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7774 = call i32 @fileno(ptr noundef %7773) #12
  %7775 = call i32 @isatty(i32 noundef %7774) #12
  %.not1544 = icmp eq i32 %7775, 0
  br i1 %.not1544, label %7776, label %7777

7776:                                             ; preds = %7772, %7766
  br label %7777

7777:                                             ; preds = %7772, %7776
  %.str.5.sink4211 = phi ptr [ @.str.5, %7776 ], [ @.str.2, %7772 ]
  store i32 %7767, ptr %639, align 4, !tbaa !5
  %7778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7779 = load i32, ptr @test_count, align 4, !tbaa !5
  %7780 = load i32, ptr %585, align 4, !tbaa !5
  %7781 = call ptr @s2n_strerror(i32 noundef %7780, ptr noundef nonnull @.str.4) #12
  %7782 = load i32, ptr %585, align 4, !tbaa !5
  %7783 = call ptr @s2n_strerror_debug(i32 noundef %7782, ptr noundef nonnull @.str.4) #12
  %7784 = load i32, ptr %639, align 4, !tbaa !5
  %7785 = call ptr @strerror(i32 noundef %7784) #12
  %7786 = load i32, ptr %639, align 4, !tbaa !5
  %7787 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7778, ptr noundef nonnull %.str.5.sink4211, i32 noundef %7779, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 577, ptr noundef %7781, ptr noundef %7783, ptr noundef %7785, i32 noundef %7786) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7788:                                             ; preds = %7762
  %7789 = load i32, ptr @test_count, align 4, !tbaa !5
  %7790 = add nsw i32 %7789, 1
  store i32 %7790, ptr @test_count, align 4, !tbaa !5
  %7791 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %7736, ptr noundef nonnull @.str.31) #12
  %7792 = icmp eq i32 %7791, -1
  br i1 %7792, label %7793, label %7815

7793:                                             ; preds = %7788
  %7794 = load i32, ptr %639, align 4, !tbaa !5
  %7795 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7796 = call i32 @s2n_print_stacktrace(ptr noundef %7795) #12
  %7797 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7798 = trunc nuw i8 %7797 to i1
  br i1 %7798, label %7799, label %7803

7799:                                             ; preds = %7793
  %7800 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7801 = call i32 @fileno(ptr noundef %7800) #12
  %7802 = call i32 @isatty(i32 noundef %7801) #12
  %.not1543 = icmp eq i32 %7802, 0
  br i1 %.not1543, label %7803, label %7804

7803:                                             ; preds = %7799, %7793
  br label %7804

7804:                                             ; preds = %7799, %7803
  %.str.5.sink4220 = phi ptr [ @.str.5, %7803 ], [ @.str.2, %7799 ]
  store i32 %7794, ptr %639, align 4, !tbaa !5
  %7805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7806 = load i32, ptr @test_count, align 4, !tbaa !5
  %7807 = load i32, ptr %585, align 4, !tbaa !5
  %7808 = call ptr @s2n_strerror(i32 noundef %7807, ptr noundef nonnull @.str.4) #12
  %7809 = load i32, ptr %585, align 4, !tbaa !5
  %7810 = call ptr @s2n_strerror_debug(i32 noundef %7809, ptr noundef nonnull @.str.4) #12
  %7811 = load i32, ptr %639, align 4, !tbaa !5
  %7812 = call ptr @strerror(i32 noundef %7811) #12
  %7813 = load i32, ptr %639, align 4, !tbaa !5
  %7814 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7805, ptr noundef nonnull %.str.5.sink4220, i32 noundef %7806, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 578, ptr noundef %7808, ptr noundef %7810, ptr noundef %7812, i32 noundef %7813) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7815:                                             ; preds = %7788
  %7816 = load i32, ptr @test_count, align 4, !tbaa !5
  %7817 = add nsw i32 %7816, 1
  store i32 %7817, ptr @test_count, align 4, !tbaa !5
  %7818 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %7736, ptr noundef %5708) #12
  %7819 = icmp eq i32 %7818, -1
  br i1 %7819, label %7820, label %7842

7820:                                             ; preds = %7815
  %7821 = load i32, ptr %639, align 4, !tbaa !5
  %7822 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7823 = call i32 @s2n_print_stacktrace(ptr noundef %7822) #12
  %7824 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7825 = trunc nuw i8 %7824 to i1
  br i1 %7825, label %7826, label %7830

7826:                                             ; preds = %7820
  %7827 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7828 = call i32 @fileno(ptr noundef %7827) #12
  %7829 = call i32 @isatty(i32 noundef %7828) #12
  %.not1542 = icmp eq i32 %7829, 0
  br i1 %.not1542, label %7830, label %7831

7830:                                             ; preds = %7826, %7820
  br label %7831

7831:                                             ; preds = %7826, %7830
  %.str.5.sink4229 = phi ptr [ @.str.5, %7830 ], [ @.str.2, %7826 ]
  store i32 %7821, ptr %639, align 4, !tbaa !5
  %7832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7833 = load i32, ptr @test_count, align 4, !tbaa !5
  %7834 = load i32, ptr %585, align 4, !tbaa !5
  %7835 = call ptr @s2n_strerror(i32 noundef %7834, ptr noundef nonnull @.str.4) #12
  %7836 = load i32, ptr %585, align 4, !tbaa !5
  %7837 = call ptr @s2n_strerror_debug(i32 noundef %7836, ptr noundef nonnull @.str.4) #12
  %7838 = load i32, ptr %639, align 4, !tbaa !5
  %7839 = call ptr @strerror(i32 noundef %7838) #12
  %7840 = load i32, ptr %639, align 4, !tbaa !5
  %7841 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7832, ptr noundef nonnull %.str.5.sink4229, i32 noundef %7833, ptr noundef nonnull @.str.54, ptr noundef nonnull @.str.1, i32 noundef 579, ptr noundef %7835, ptr noundef %7837, ptr noundef %7839, i32 noundef %7840) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7842:                                             ; preds = %7815
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %83) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %83, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %84) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %84, i8 0, i64 40, i1 false)
  %7843 = load i32, ptr @test_count, align 4, !tbaa !5
  %7844 = add nsw i32 %7843, 1
  store i32 %7844, ptr @test_count, align 4, !tbaa !5
  %7845 = call i32 @s2n_test_set_blocking_stuffer_io(ptr noundef nonnull %7656, ptr noundef nonnull %7736, ptr noundef nonnull %83, ptr noundef nonnull %84)
  %7846 = call zeroext i1 @s2n_result_is_ok(i32 %7845)
  br i1 %7846, label %7869, label %7847

7847:                                             ; preds = %7842
  %7848 = load i32, ptr %639, align 4, !tbaa !5
  %7849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7850 = call i32 @s2n_print_stacktrace(ptr noundef %7849) #12
  %7851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7852 = trunc nuw i8 %7851 to i1
  br i1 %7852, label %7853, label %7857

7853:                                             ; preds = %7847
  %7854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7855 = call i32 @fileno(ptr noundef %7854) #12
  %7856 = call i32 @isatty(i32 noundef %7855) #12
  %.not1316 = icmp eq i32 %7856, 0
  br i1 %.not1316, label %7857, label %7858

7857:                                             ; preds = %7853, %7847
  br label %7858

7858:                                             ; preds = %7853, %7857
  %.str.5.sink4238 = phi ptr [ @.str.5, %7857 ], [ @.str.2, %7853 ]
  store i32 %7848, ptr %639, align 4, !tbaa !5
  %7859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7860 = load i32, ptr @test_count, align 4, !tbaa !5
  %7861 = load i32, ptr %585, align 4, !tbaa !5
  %7862 = call ptr @s2n_strerror(i32 noundef %7861, ptr noundef nonnull @.str.4) #12
  %7863 = load i32, ptr %585, align 4, !tbaa !5
  %7864 = call ptr @s2n_strerror_debug(i32 noundef %7863, ptr noundef nonnull @.str.4) #12
  %7865 = load i32, ptr %639, align 4, !tbaa !5
  %7866 = call ptr @strerror(i32 noundef %7865) #12
  %7867 = load i32, ptr %639, align 4, !tbaa !5
  %7868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7859, ptr noundef nonnull %.str.5.sink4238, i32 noundef %7860, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 583, ptr noundef %7862, ptr noundef %7864, ptr noundef %7866, i32 noundef %7867) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7869:                                             ; preds = %7842
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %85) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %85, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %86) #12
  store i32 0, ptr %86, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %87) #12
  store i64 0, ptr %87, align 8, !tbaa !42
  store i8 0, ptr @s2n_allowed_writes, align 1, !tbaa !43
  %7870 = load i32, ptr @test_count, align 4, !tbaa !5
  %7871 = add nsw i32 %7870, 1
  store i32 %7871, ptr @test_count, align 4, !tbaa !5
  %7872 = call i32 @s2n_send_early_data(ptr noundef nonnull %7656, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %7873 = icmp eq i32 %7872, -1
  br i1 %7873, label %7896, label %7874

7874:                                             ; preds = %7869
  %7875 = load i32, ptr %639, align 4, !tbaa !5
  %7876 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7877 = call i32 @s2n_print_stacktrace(ptr noundef %7876) #12
  %7878 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7879 = trunc nuw i8 %7878 to i1
  br i1 %7879, label %7880, label %7884

7880:                                             ; preds = %7874
  %7881 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7882 = call i32 @fileno(ptr noundef %7881) #12
  %7883 = call i32 @isatty(i32 noundef %7882) #12
  %.not1317 = icmp eq i32 %7883, 0
  br i1 %.not1317, label %7884, label %7885

7884:                                             ; preds = %7880, %7874
  br label %7885

7885:                                             ; preds = %7880, %7884
  %.str.5.sink4247 = phi ptr [ @.str.5, %7884 ], [ @.str.2, %7880 ]
  store i32 %7875, ptr %639, align 4, !tbaa !5
  %7886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7887 = load i32, ptr @test_count, align 4, !tbaa !5
  %7888 = load i32, ptr %585, align 4, !tbaa !5
  %7889 = call ptr @s2n_strerror(i32 noundef %7888, ptr noundef nonnull @.str.4) #12
  %7890 = load i32, ptr %585, align 4, !tbaa !5
  %7891 = call ptr @s2n_strerror_debug(i32 noundef %7890, ptr noundef nonnull @.str.4) #12
  %7892 = load i32, ptr %639, align 4, !tbaa !5
  %7893 = call ptr @strerror(i32 noundef %7892) #12
  %7894 = load i32, ptr %639, align 4, !tbaa !5
  %7895 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7886, ptr noundef nonnull %.str.5.sink4247, i32 noundef %7887, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 591, ptr noundef %7889, ptr noundef %7891, ptr noundef %7893, i32 noundef %7894) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7896:                                             ; preds = %7869
  %7897 = load i32, ptr @test_count, align 4, !tbaa !5
  %7898 = add nsw i32 %7897, 1
  store i32 %7898, ptr @test_count, align 4, !tbaa !5
  %7899 = load i32, ptr %585, align 4, !tbaa !5
  %7900 = icmp eq i32 %7899, 201326592
  br i1 %7900, label %7923, label %7901

7901:                                             ; preds = %7896
  %7902 = load i32, ptr %639, align 4, !tbaa !5
  %7903 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7904 = call i32 @s2n_print_stacktrace(ptr noundef %7903) #12
  %7905 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7906 = trunc nuw i8 %7905 to i1
  br i1 %7906, label %7907, label %7911

7907:                                             ; preds = %7901
  %7908 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7909 = call i32 @fileno(ptr noundef %7908) #12
  %7910 = call i32 @isatty(i32 noundef %7909) #12
  %.not1318 = icmp eq i32 %7910, 0
  br i1 %.not1318, label %7911, label %7912

7911:                                             ; preds = %7907, %7901
  br label %7912

7912:                                             ; preds = %7907, %7911
  %.str.5.sink4256 = phi ptr [ @.str.5, %7911 ], [ @.str.2, %7907 ]
  store i32 %7902, ptr %639, align 4, !tbaa !5
  %7913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7914 = load i32, ptr @test_count, align 4, !tbaa !5
  %7915 = load i32, ptr %585, align 4, !tbaa !5
  %7916 = call ptr @s2n_strerror(i32 noundef %7915, ptr noundef nonnull @.str.4) #12
  %7917 = load i32, ptr %585, align 4, !tbaa !5
  %7918 = call ptr @s2n_strerror_debug(i32 noundef %7917, ptr noundef nonnull @.str.4) #12
  %7919 = load i32, ptr %639, align 4, !tbaa !5
  %7920 = call ptr @strerror(i32 noundef %7919) #12
  %7921 = load i32, ptr %639, align 4, !tbaa !5
  %7922 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7913, ptr noundef nonnull %.str.5.sink4256, i32 noundef %7914, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 591, ptr noundef %7916, ptr noundef %7918, ptr noundef %7920, i32 noundef %7921) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7923:                                             ; preds = %7896
  %7924 = add nsw i32 %7897, 2
  store i32 %7924, ptr @test_count, align 4, !tbaa !5
  %7925 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %7926 = icmp eq ptr %7925, null
  br i1 %7926, label %7927, label %7949

7927:                                             ; preds = %7923
  %7928 = load i32, ptr %639, align 4, !tbaa !5
  %7929 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7930 = call i32 @s2n_print_stacktrace(ptr noundef %7929) #12
  %7931 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7932 = trunc nuw i8 %7931 to i1
  br i1 %7932, label %7933, label %7937

7933:                                             ; preds = %7927
  %7934 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7935 = call i32 @fileno(ptr noundef %7934) #12
  %7936 = call i32 @isatty(i32 noundef %7935) #12
  %.not1541 = icmp eq i32 %7936, 0
  br i1 %.not1541, label %7937, label %7938

7937:                                             ; preds = %7933, %7927
  br label %7938

7938:                                             ; preds = %7933, %7937
  %.str.5.sink4265 = phi ptr [ @.str.5, %7937 ], [ @.str.2, %7933 ]
  store i32 %7928, ptr %639, align 4, !tbaa !5
  %7939 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7940 = load i32, ptr @test_count, align 4, !tbaa !5
  %7941 = load i32, ptr %585, align 4, !tbaa !5
  %7942 = call ptr @s2n_strerror(i32 noundef %7941, ptr noundef nonnull @.str.4) #12
  %7943 = load i32, ptr %585, align 4, !tbaa !5
  %7944 = call ptr @s2n_strerror_debug(i32 noundef %7943, ptr noundef nonnull @.str.4) #12
  %7945 = load i32, ptr %639, align 4, !tbaa !5
  %7946 = call ptr @strerror(i32 noundef %7945) #12
  %7947 = load i32, ptr %639, align 4, !tbaa !5
  %7948 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7939, ptr noundef nonnull %.str.5.sink4265, i32 noundef %7940, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 591, ptr noundef %7942, ptr noundef %7944, ptr noundef %7946, i32 noundef %7947) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7949:                                             ; preds = %7923
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %7950 = load i32, ptr @test_count, align 4, !tbaa !5
  %7951 = add nsw i32 %7950, 1
  store i32 %7951, ptr @test_count, align 4, !tbaa !5
  %7952 = load i32, ptr %86, align 4, !tbaa !5
  %7953 = icmp eq i32 %7952, 2
  br i1 %7953, label %7976, label %7954

7954:                                             ; preds = %7949
  %7955 = load i32, ptr %639, align 4, !tbaa !5
  %7956 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7957 = call i32 @s2n_print_stacktrace(ptr noundef %7956) #12
  %7958 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7959 = trunc nuw i8 %7958 to i1
  br i1 %7959, label %7960, label %7964

7960:                                             ; preds = %7954
  %7961 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7962 = call i32 @fileno(ptr noundef %7961) #12
  %7963 = call i32 @isatty(i32 noundef %7962) #12
  %.not1319 = icmp eq i32 %7963, 0
  br i1 %.not1319, label %7964, label %7965

7964:                                             ; preds = %7960, %7954
  br label %7965

7965:                                             ; preds = %7960, %7964
  %.str.5.sink4274 = phi ptr [ @.str.5, %7964 ], [ @.str.2, %7960 ]
  store i32 %7955, ptr %639, align 4, !tbaa !5
  %7966 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7967 = load i32, ptr @test_count, align 4, !tbaa !5
  %7968 = load i32, ptr %585, align 4, !tbaa !5
  %7969 = call ptr @s2n_strerror(i32 noundef %7968, ptr noundef nonnull @.str.4) #12
  %7970 = load i32, ptr %585, align 4, !tbaa !5
  %7971 = call ptr @s2n_strerror_debug(i32 noundef %7970, ptr noundef nonnull @.str.4) #12
  %7972 = load i32, ptr %639, align 4, !tbaa !5
  %7973 = call ptr @strerror(i32 noundef %7972) #12
  %7974 = load i32, ptr %639, align 4, !tbaa !5
  %7975 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7966, ptr noundef nonnull %.str.5.sink4274, i32 noundef %7967, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %7969, ptr noundef %7971, ptr noundef %7973, i32 noundef %7974) #14
  call void @exit(i32 noundef 1) #15
  unreachable

7976:                                             ; preds = %7949
  %7977 = add nsw i32 %7950, 2
  store i32 %7977, ptr @test_count, align 4, !tbaa !5
  %7978 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7656) #12
  %7979 = icmp eq i32 %7978, 0
  br i1 %7979, label %8002, label %7980

7980:                                             ; preds = %7976
  %7981 = load i32, ptr %639, align 4, !tbaa !5
  %7982 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7983 = call i32 @s2n_print_stacktrace(ptr noundef %7982) #12
  %7984 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %7985 = trunc nuw i8 %7984 to i1
  br i1 %7985, label %7986, label %7990

7986:                                             ; preds = %7980
  %7987 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7988 = call i32 @fileno(ptr noundef %7987) #12
  %7989 = call i32 @isatty(i32 noundef %7988) #12
  %.not1320 = icmp eq i32 %7989, 0
  br i1 %.not1320, label %7990, label %7991

7990:                                             ; preds = %7986, %7980
  br label %7991

7991:                                             ; preds = %7986, %7990
  %.str.5.sink4283 = phi ptr [ @.str.5, %7990 ], [ @.str.2, %7986 ]
  store i32 %7981, ptr %639, align 4, !tbaa !5
  %7992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %7993 = load i32, ptr @test_count, align 4, !tbaa !5
  %7994 = load i32, ptr %585, align 4, !tbaa !5
  %7995 = call ptr @s2n_strerror(i32 noundef %7994, ptr noundef nonnull @.str.4) #12
  %7996 = load i32, ptr %585, align 4, !tbaa !5
  %7997 = call ptr @s2n_strerror_debug(i32 noundef %7996, ptr noundef nonnull @.str.4) #12
  %7998 = load i32, ptr %639, align 4, !tbaa !5
  %7999 = call ptr @strerror(i32 noundef %7998) #12
  %8000 = load i32, ptr %639, align 4, !tbaa !5
  %8001 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %7992, ptr noundef nonnull %.str.5.sink4283, i32 noundef %7993, ptr noundef nonnull @.str.103, ptr noundef nonnull @.str.1, i32 noundef 592, ptr noundef %7995, ptr noundef %7997, ptr noundef %7999, i32 noundef %8000) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8002:                                             ; preds = %7976
  %8003 = load i32, ptr @test_count, align 4, !tbaa !5
  %8004 = add nsw i32 %8003, 1
  store i32 %8004, ptr @test_count, align 4, !tbaa !5
  %8005 = load i64, ptr %87, align 8, !tbaa !42
  %8006 = icmp eq i64 %8005, 0
  br i1 %8006, label %8029, label %8007

8007:                                             ; preds = %8002
  %8008 = load i32, ptr %639, align 4, !tbaa !5
  %8009 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8010 = call i32 @s2n_print_stacktrace(ptr noundef %8009) #12
  %8011 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8012 = trunc nuw i8 %8011 to i1
  br i1 %8012, label %8013, label %8017

8013:                                             ; preds = %8007
  %8014 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8015 = call i32 @fileno(ptr noundef %8014) #12
  %8016 = call i32 @isatty(i32 noundef %8015) #12
  %.not1321 = icmp eq i32 %8016, 0
  br i1 %.not1321, label %8017, label %8018

8017:                                             ; preds = %8013, %8007
  br label %8018

8018:                                             ; preds = %8013, %8017
  %.str.5.sink4292 = phi ptr [ @.str.5, %8017 ], [ @.str.2, %8013 ]
  store i32 %8008, ptr %639, align 4, !tbaa !5
  %8019 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8020 = load i32, ptr @test_count, align 4, !tbaa !5
  %8021 = load i32, ptr %585, align 4, !tbaa !5
  %8022 = call ptr @s2n_strerror(i32 noundef %8021, ptr noundef nonnull @.str.4) #12
  %8023 = load i32, ptr %585, align 4, !tbaa !5
  %8024 = call ptr @s2n_strerror_debug(i32 noundef %8023, ptr noundef nonnull @.str.4) #12
  %8025 = load i32, ptr %639, align 4, !tbaa !5
  %8026 = call ptr @strerror(i32 noundef %8025) #12
  %8027 = load i32, ptr %639, align 4, !tbaa !5
  %8028 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8019, ptr noundef nonnull %.str.5.sink4292, i32 noundef %8020, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 593, ptr noundef %8022, ptr noundef %8024, ptr noundef %8026, i32 noundef %8027) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8029:                                             ; preds = %8002
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  %8030 = add nsw i32 %8003, 2
  store i32 %8030, ptr @test_count, align 4, !tbaa !5
  %8031 = call i32 @s2n_send_early_data(ptr noundef nonnull %7656, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8032 = icmp eq i32 %8031, -1
  br i1 %8032, label %8055, label %8033

8033:                                             ; preds = %8029
  %8034 = load i32, ptr %639, align 4, !tbaa !5
  %8035 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8036 = call i32 @s2n_print_stacktrace(ptr noundef %8035) #12
  %8037 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8038 = trunc nuw i8 %8037 to i1
  br i1 %8038, label %8039, label %8043

8039:                                             ; preds = %8033
  %8040 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8041 = call i32 @fileno(ptr noundef %8040) #12
  %8042 = call i32 @isatty(i32 noundef %8041) #12
  %.not1322 = icmp eq i32 %8042, 0
  br i1 %.not1322, label %8043, label %8044

8043:                                             ; preds = %8039, %8033
  br label %8044

8044:                                             ; preds = %8039, %8043
  %.str.5.sink4301 = phi ptr [ @.str.5, %8043 ], [ @.str.2, %8039 ]
  store i32 %8034, ptr %639, align 4, !tbaa !5
  %8045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8046 = load i32, ptr @test_count, align 4, !tbaa !5
  %8047 = load i32, ptr %585, align 4, !tbaa !5
  %8048 = call ptr @s2n_strerror(i32 noundef %8047, ptr noundef nonnull @.str.4) #12
  %8049 = load i32, ptr %585, align 4, !tbaa !5
  %8050 = call ptr @s2n_strerror_debug(i32 noundef %8049, ptr noundef nonnull @.str.4) #12
  %8051 = load i32, ptr %639, align 4, !tbaa !5
  %8052 = call ptr @strerror(i32 noundef %8051) #12
  %8053 = load i32, ptr %639, align 4, !tbaa !5
  %8054 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8045, ptr noundef nonnull %.str.5.sink4301, i32 noundef %8046, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %8048, ptr noundef %8050, ptr noundef %8052, i32 noundef %8053) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8055:                                             ; preds = %8029
  %8056 = load i32, ptr @test_count, align 4, !tbaa !5
  %8057 = add nsw i32 %8056, 1
  store i32 %8057, ptr @test_count, align 4, !tbaa !5
  %8058 = load i32, ptr %585, align 4, !tbaa !5
  %8059 = icmp eq i32 %8058, 201326592
  br i1 %8059, label %8082, label %8060

8060:                                             ; preds = %8055
  %8061 = load i32, ptr %639, align 4, !tbaa !5
  %8062 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8063 = call i32 @s2n_print_stacktrace(ptr noundef %8062) #12
  %8064 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8065 = trunc nuw i8 %8064 to i1
  br i1 %8065, label %8066, label %8070

8066:                                             ; preds = %8060
  %8067 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8068 = call i32 @fileno(ptr noundef %8067) #12
  %8069 = call i32 @isatty(i32 noundef %8068) #12
  %.not1323 = icmp eq i32 %8069, 0
  br i1 %.not1323, label %8070, label %8071

8070:                                             ; preds = %8066, %8060
  br label %8071

8071:                                             ; preds = %8066, %8070
  %.str.5.sink4310 = phi ptr [ @.str.5, %8070 ], [ @.str.2, %8066 ]
  store i32 %8061, ptr %639, align 4, !tbaa !5
  %8072 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8073 = load i32, ptr @test_count, align 4, !tbaa !5
  %8074 = load i32, ptr %585, align 4, !tbaa !5
  %8075 = call ptr @s2n_strerror(i32 noundef %8074, ptr noundef nonnull @.str.4) #12
  %8076 = load i32, ptr %585, align 4, !tbaa !5
  %8077 = call ptr @s2n_strerror_debug(i32 noundef %8076, ptr noundef nonnull @.str.4) #12
  %8078 = load i32, ptr %639, align 4, !tbaa !5
  %8079 = call ptr @strerror(i32 noundef %8078) #12
  %8080 = load i32, ptr %639, align 4, !tbaa !5
  %8081 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8072, ptr noundef nonnull %.str.5.sink4310, i32 noundef %8073, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %8075, ptr noundef %8077, ptr noundef %8079, i32 noundef %8080) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8082:                                             ; preds = %8055
  %8083 = add nsw i32 %8056, 2
  store i32 %8083, ptr @test_count, align 4, !tbaa !5
  %8084 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %8085 = icmp eq ptr %8084, null
  br i1 %8085, label %8086, label %8108

8086:                                             ; preds = %8082
  %8087 = load i32, ptr %639, align 4, !tbaa !5
  %8088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8089 = call i32 @s2n_print_stacktrace(ptr noundef %8088) #12
  %8090 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8091 = trunc nuw i8 %8090 to i1
  br i1 %8091, label %8092, label %8096

8092:                                             ; preds = %8086
  %8093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8094 = call i32 @fileno(ptr noundef %8093) #12
  %8095 = call i32 @isatty(i32 noundef %8094) #12
  %.not1540 = icmp eq i32 %8095, 0
  br i1 %.not1540, label %8096, label %8097

8096:                                             ; preds = %8092, %8086
  br label %8097

8097:                                             ; preds = %8092, %8096
  %.str.5.sink4319 = phi ptr [ @.str.5, %8096 ], [ @.str.2, %8092 ]
  store i32 %8087, ptr %639, align 4, !tbaa !5
  %8098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8099 = load i32, ptr @test_count, align 4, !tbaa !5
  %8100 = load i32, ptr %585, align 4, !tbaa !5
  %8101 = call ptr @s2n_strerror(i32 noundef %8100, ptr noundef nonnull @.str.4) #12
  %8102 = load i32, ptr %585, align 4, !tbaa !5
  %8103 = call ptr @s2n_strerror_debug(i32 noundef %8102, ptr noundef nonnull @.str.4) #12
  %8104 = load i32, ptr %639, align 4, !tbaa !5
  %8105 = call ptr @strerror(i32 noundef %8104) #12
  %8106 = load i32, ptr %639, align 4, !tbaa !5
  %8107 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8098, ptr noundef nonnull %.str.5.sink4319, i32 noundef %8099, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 597, ptr noundef %8101, ptr noundef %8103, ptr noundef %8105, i32 noundef %8106) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8108:                                             ; preds = %8082
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %8109 = load i32, ptr @test_count, align 4, !tbaa !5
  %8110 = add nsw i32 %8109, 1
  store i32 %8110, ptr @test_count, align 4, !tbaa !5
  %8111 = load i32, ptr %86, align 4, !tbaa !5
  %8112 = icmp eq i32 %8111, 2
  br i1 %8112, label %8135, label %8113

8113:                                             ; preds = %8108
  %8114 = load i32, ptr %639, align 4, !tbaa !5
  %8115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8116 = call i32 @s2n_print_stacktrace(ptr noundef %8115) #12
  %8117 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8118 = trunc nuw i8 %8117 to i1
  br i1 %8118, label %8119, label %8123

8119:                                             ; preds = %8113
  %8120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8121 = call i32 @fileno(ptr noundef %8120) #12
  %8122 = call i32 @isatty(i32 noundef %8121) #12
  %.not1324 = icmp eq i32 %8122, 0
  br i1 %.not1324, label %8123, label %8124

8123:                                             ; preds = %8119, %8113
  br label %8124

8124:                                             ; preds = %8119, %8123
  %.str.5.sink4328 = phi ptr [ @.str.5, %8123 ], [ @.str.2, %8119 ]
  store i32 %8114, ptr %639, align 4, !tbaa !5
  %8125 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8126 = load i32, ptr @test_count, align 4, !tbaa !5
  %8127 = load i32, ptr %585, align 4, !tbaa !5
  %8128 = call ptr @s2n_strerror(i32 noundef %8127, ptr noundef nonnull @.str.4) #12
  %8129 = load i32, ptr %585, align 4, !tbaa !5
  %8130 = call ptr @s2n_strerror_debug(i32 noundef %8129, ptr noundef nonnull @.str.4) #12
  %8131 = load i32, ptr %639, align 4, !tbaa !5
  %8132 = call ptr @strerror(i32 noundef %8131) #12
  %8133 = load i32, ptr %639, align 4, !tbaa !5
  %8134 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8125, ptr noundef nonnull %.str.5.sink4328, i32 noundef %8126, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %8128, ptr noundef %8130, ptr noundef %8132, i32 noundef %8133) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8135:                                             ; preds = %8108
  %8136 = add nsw i32 %8109, 2
  store i32 %8136, ptr @test_count, align 4, !tbaa !5
  %8137 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7656) #12
  %8138 = icmp eq i32 %8137, 11
  br i1 %8138, label %8161, label %8139

8139:                                             ; preds = %8135
  %8140 = load i32, ptr %639, align 4, !tbaa !5
  %8141 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8142 = call i32 @s2n_print_stacktrace(ptr noundef %8141) #12
  %8143 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8144 = trunc nuw i8 %8143 to i1
  br i1 %8144, label %8145, label %8149

8145:                                             ; preds = %8139
  %8146 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8147 = call i32 @fileno(ptr noundef %8146) #12
  %8148 = call i32 @isatty(i32 noundef %8147) #12
  %.not1325 = icmp eq i32 %8148, 0
  br i1 %.not1325, label %8149, label %8150

8149:                                             ; preds = %8145, %8139
  br label %8150

8150:                                             ; preds = %8145, %8149
  %.str.5.sink4337 = phi ptr [ @.str.5, %8149 ], [ @.str.2, %8145 ]
  store i32 %8140, ptr %639, align 4, !tbaa !5
  %8151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8152 = load i32, ptr @test_count, align 4, !tbaa !5
  %8153 = load i32, ptr %585, align 4, !tbaa !5
  %8154 = call ptr @s2n_strerror(i32 noundef %8153, ptr noundef nonnull @.str.4) #12
  %8155 = load i32, ptr %585, align 4, !tbaa !5
  %8156 = call ptr @s2n_strerror_debug(i32 noundef %8155, ptr noundef nonnull @.str.4) #12
  %8157 = load i32, ptr %639, align 4, !tbaa !5
  %8158 = call ptr @strerror(i32 noundef %8157) #12
  %8159 = load i32, ptr %639, align 4, !tbaa !5
  %8160 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8151, ptr noundef nonnull %.str.5.sink4337, i32 noundef %8152, ptr noundef nonnull @.str.104, ptr noundef nonnull @.str.1, i32 noundef 598, ptr noundef %8154, ptr noundef %8156, ptr noundef %8158, i32 noundef %8159) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8161:                                             ; preds = %8135
  %8162 = load i32, ptr @test_count, align 4, !tbaa !5
  %8163 = add nsw i32 %8162, 1
  store i32 %8163, ptr @test_count, align 4, !tbaa !5
  %8164 = load i64, ptr %87, align 8, !tbaa !42
  %8165 = icmp eq i64 %8164, 0
  br i1 %8165, label %8188, label %8166

8166:                                             ; preds = %8161
  %8167 = load i32, ptr %639, align 4, !tbaa !5
  %8168 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8169 = call i32 @s2n_print_stacktrace(ptr noundef %8168) #12
  %8170 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8171 = trunc nuw i8 %8170 to i1
  br i1 %8171, label %8172, label %8176

8172:                                             ; preds = %8166
  %8173 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8174 = call i32 @fileno(ptr noundef %8173) #12
  %8175 = call i32 @isatty(i32 noundef %8174) #12
  %.not1326 = icmp eq i32 %8175, 0
  br i1 %.not1326, label %8176, label %8177

8176:                                             ; preds = %8172, %8166
  br label %8177

8177:                                             ; preds = %8172, %8176
  %.str.5.sink4346 = phi ptr [ @.str.5, %8176 ], [ @.str.2, %8172 ]
  store i32 %8167, ptr %639, align 4, !tbaa !5
  %8178 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8179 = load i32, ptr @test_count, align 4, !tbaa !5
  %8180 = load i32, ptr %585, align 4, !tbaa !5
  %8181 = call ptr @s2n_strerror(i32 noundef %8180, ptr noundef nonnull @.str.4) #12
  %8182 = load i32, ptr %585, align 4, !tbaa !5
  %8183 = call ptr @s2n_strerror_debug(i32 noundef %8182, ptr noundef nonnull @.str.4) #12
  %8184 = load i32, ptr %639, align 4, !tbaa !5
  %8185 = call ptr @strerror(i32 noundef %8184) #12
  %8186 = load i32, ptr %639, align 4, !tbaa !5
  %8187 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8178, ptr noundef nonnull %.str.5.sink4346, i32 noundef %8179, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 599, ptr noundef %8181, ptr noundef %8183, ptr noundef %8185, i32 noundef %8186) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8188:                                             ; preds = %8161
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  %8189 = add nsw i32 %8162, 2
  store i32 %8189, ptr @test_count, align 4, !tbaa !5
  %8190 = call i32 @s2n_send_early_data(ptr noundef nonnull %7656, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8191 = icmp eq i32 %8190, -1
  br i1 %8191, label %8214, label %8192

8192:                                             ; preds = %8188
  %8193 = load i32, ptr %639, align 4, !tbaa !5
  %8194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8195 = call i32 @s2n_print_stacktrace(ptr noundef %8194) #12
  %8196 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8197 = trunc nuw i8 %8196 to i1
  br i1 %8197, label %8198, label %8202

8198:                                             ; preds = %8192
  %8199 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8200 = call i32 @fileno(ptr noundef %8199) #12
  %8201 = call i32 @isatty(i32 noundef %8200) #12
  %.not1327 = icmp eq i32 %8201, 0
  br i1 %.not1327, label %8202, label %8203

8202:                                             ; preds = %8198, %8192
  br label %8203

8203:                                             ; preds = %8198, %8202
  %.str.5.sink4355 = phi ptr [ @.str.5, %8202 ], [ @.str.2, %8198 ]
  store i32 %8193, ptr %639, align 4, !tbaa !5
  %8204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8205 = load i32, ptr @test_count, align 4, !tbaa !5
  %8206 = load i32, ptr %585, align 4, !tbaa !5
  %8207 = call ptr @s2n_strerror(i32 noundef %8206, ptr noundef nonnull @.str.4) #12
  %8208 = load i32, ptr %585, align 4, !tbaa !5
  %8209 = call ptr @s2n_strerror_debug(i32 noundef %8208, ptr noundef nonnull @.str.4) #12
  %8210 = load i32, ptr %639, align 4, !tbaa !5
  %8211 = call ptr @strerror(i32 noundef %8210) #12
  %8212 = load i32, ptr %639, align 4, !tbaa !5
  %8213 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8204, ptr noundef nonnull %.str.5.sink4355, i32 noundef %8205, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %8207, ptr noundef %8209, ptr noundef %8211, i32 noundef %8212) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8214:                                             ; preds = %8188
  %8215 = load i32, ptr @test_count, align 4, !tbaa !5
  %8216 = add nsw i32 %8215, 1
  store i32 %8216, ptr @test_count, align 4, !tbaa !5
  %8217 = load i32, ptr %585, align 4, !tbaa !5
  %8218 = icmp eq i32 %8217, 201326592
  br i1 %8218, label %8241, label %8219

8219:                                             ; preds = %8214
  %8220 = load i32, ptr %639, align 4, !tbaa !5
  %8221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8222 = call i32 @s2n_print_stacktrace(ptr noundef %8221) #12
  %8223 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8224 = trunc nuw i8 %8223 to i1
  br i1 %8224, label %8225, label %8229

8225:                                             ; preds = %8219
  %8226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8227 = call i32 @fileno(ptr noundef %8226) #12
  %8228 = call i32 @isatty(i32 noundef %8227) #12
  %.not1328 = icmp eq i32 %8228, 0
  br i1 %.not1328, label %8229, label %8230

8229:                                             ; preds = %8225, %8219
  br label %8230

8230:                                             ; preds = %8225, %8229
  %.str.5.sink4364 = phi ptr [ @.str.5, %8229 ], [ @.str.2, %8225 ]
  store i32 %8220, ptr %639, align 4, !tbaa !5
  %8231 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8232 = load i32, ptr @test_count, align 4, !tbaa !5
  %8233 = load i32, ptr %585, align 4, !tbaa !5
  %8234 = call ptr @s2n_strerror(i32 noundef %8233, ptr noundef nonnull @.str.4) #12
  %8235 = load i32, ptr %585, align 4, !tbaa !5
  %8236 = call ptr @s2n_strerror_debug(i32 noundef %8235, ptr noundef nonnull @.str.4) #12
  %8237 = load i32, ptr %639, align 4, !tbaa !5
  %8238 = call ptr @strerror(i32 noundef %8237) #12
  %8239 = load i32, ptr %639, align 4, !tbaa !5
  %8240 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8231, ptr noundef nonnull %.str.5.sink4364, i32 noundef %8232, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %8234, ptr noundef %8236, ptr noundef %8238, i32 noundef %8239) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8241:                                             ; preds = %8214
  %8242 = add nsw i32 %8215, 2
  store i32 %8242, ptr @test_count, align 4, !tbaa !5
  %8243 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %8244 = icmp eq ptr %8243, null
  br i1 %8244, label %8245, label %8267

8245:                                             ; preds = %8241
  %8246 = load i32, ptr %639, align 4, !tbaa !5
  %8247 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8248 = call i32 @s2n_print_stacktrace(ptr noundef %8247) #12
  %8249 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8250 = trunc nuw i8 %8249 to i1
  br i1 %8250, label %8251, label %8255

8251:                                             ; preds = %8245
  %8252 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8253 = call i32 @fileno(ptr noundef %8252) #12
  %8254 = call i32 @isatty(i32 noundef %8253) #12
  %.not1539 = icmp eq i32 %8254, 0
  br i1 %.not1539, label %8255, label %8256

8255:                                             ; preds = %8251, %8245
  br label %8256

8256:                                             ; preds = %8251, %8255
  %.str.5.sink4373 = phi ptr [ @.str.5, %8255 ], [ @.str.2, %8251 ]
  store i32 %8246, ptr %639, align 4, !tbaa !5
  %8257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8258 = load i32, ptr @test_count, align 4, !tbaa !5
  %8259 = load i32, ptr %585, align 4, !tbaa !5
  %8260 = call ptr @s2n_strerror(i32 noundef %8259, ptr noundef nonnull @.str.4) #12
  %8261 = load i32, ptr %585, align 4, !tbaa !5
  %8262 = call ptr @s2n_strerror_debug(i32 noundef %8261, ptr noundef nonnull @.str.4) #12
  %8263 = load i32, ptr %639, align 4, !tbaa !5
  %8264 = call ptr @strerror(i32 noundef %8263) #12
  %8265 = load i32, ptr %639, align 4, !tbaa !5
  %8266 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8257, ptr noundef nonnull %.str.5.sink4373, i32 noundef %8258, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 603, ptr noundef %8260, ptr noundef %8262, ptr noundef %8264, i32 noundef %8265) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8267:                                             ; preds = %8241
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %8268 = load i32, ptr @test_count, align 4, !tbaa !5
  %8269 = add nsw i32 %8268, 1
  store i32 %8269, ptr @test_count, align 4, !tbaa !5
  %8270 = load i32, ptr %86, align 4, !tbaa !5
  %8271 = icmp eq i32 %8270, 2
  br i1 %8271, label %8294, label %8272

8272:                                             ; preds = %8267
  %8273 = load i32, ptr %639, align 4, !tbaa !5
  %8274 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8275 = call i32 @s2n_print_stacktrace(ptr noundef %8274) #12
  %8276 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8277 = trunc nuw i8 %8276 to i1
  br i1 %8277, label %8278, label %8282

8278:                                             ; preds = %8272
  %8279 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8280 = call i32 @fileno(ptr noundef %8279) #12
  %8281 = call i32 @isatty(i32 noundef %8280) #12
  %.not1329 = icmp eq i32 %8281, 0
  br i1 %.not1329, label %8282, label %8283

8282:                                             ; preds = %8278, %8272
  br label %8283

8283:                                             ; preds = %8278, %8282
  %.str.5.sink4382 = phi ptr [ @.str.5, %8282 ], [ @.str.2, %8278 ]
  store i32 %8273, ptr %639, align 4, !tbaa !5
  %8284 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8285 = load i32, ptr @test_count, align 4, !tbaa !5
  %8286 = load i32, ptr %585, align 4, !tbaa !5
  %8287 = call ptr @s2n_strerror(i32 noundef %8286, ptr noundef nonnull @.str.4) #12
  %8288 = load i32, ptr %585, align 4, !tbaa !5
  %8289 = call ptr @s2n_strerror_debug(i32 noundef %8288, ptr noundef nonnull @.str.4) #12
  %8290 = load i32, ptr %639, align 4, !tbaa !5
  %8291 = call ptr @strerror(i32 noundef %8290) #12
  %8292 = load i32, ptr %639, align 4, !tbaa !5
  %8293 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8284, ptr noundef nonnull %.str.5.sink4382, i32 noundef %8285, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %8287, ptr noundef %8289, ptr noundef %8291, i32 noundef %8292) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8294:                                             ; preds = %8267
  %8295 = add nsw i32 %8268, 2
  store i32 %8295, ptr @test_count, align 4, !tbaa !5
  %8296 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7656) #12
  %8297 = icmp eq i32 %8296, 1
  br i1 %8297, label %8320, label %8298

8298:                                             ; preds = %8294
  %8299 = load i32, ptr %639, align 4, !tbaa !5
  %8300 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8301 = call i32 @s2n_print_stacktrace(ptr noundef %8300) #12
  %8302 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8303 = trunc nuw i8 %8302 to i1
  br i1 %8303, label %8304, label %8308

8304:                                             ; preds = %8298
  %8305 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8306 = call i32 @fileno(ptr noundef %8305) #12
  %8307 = call i32 @isatty(i32 noundef %8306) #12
  %.not1330 = icmp eq i32 %8307, 0
  br i1 %.not1330, label %8308, label %8309

8308:                                             ; preds = %8304, %8298
  br label %8309

8309:                                             ; preds = %8304, %8308
  %.str.5.sink4391 = phi ptr [ @.str.5, %8308 ], [ @.str.2, %8304 ]
  store i32 %8299, ptr %639, align 4, !tbaa !5
  %8310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8311 = load i32, ptr @test_count, align 4, !tbaa !5
  %8312 = load i32, ptr %585, align 4, !tbaa !5
  %8313 = call ptr @s2n_strerror(i32 noundef %8312, ptr noundef nonnull @.str.4) #12
  %8314 = load i32, ptr %585, align 4, !tbaa !5
  %8315 = call ptr @s2n_strerror_debug(i32 noundef %8314, ptr noundef nonnull @.str.4) #12
  %8316 = load i32, ptr %639, align 4, !tbaa !5
  %8317 = call ptr @strerror(i32 noundef %8316) #12
  %8318 = load i32, ptr %639, align 4, !tbaa !5
  %8319 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8310, ptr noundef nonnull %.str.5.sink4391, i32 noundef %8311, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 604, ptr noundef %8313, ptr noundef %8315, ptr noundef %8317, i32 noundef %8318) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8320:                                             ; preds = %8294
  %8321 = load i32, ptr @test_count, align 4, !tbaa !5
  %8322 = add nsw i32 %8321, 1
  store i32 %8322, ptr @test_count, align 4, !tbaa !5
  %8323 = load i64, ptr %87, align 8, !tbaa !42
  %8324 = icmp eq i64 %8323, 0
  br i1 %8324, label %8347, label %8325

8325:                                             ; preds = %8320
  %8326 = load i32, ptr %639, align 4, !tbaa !5
  %8327 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8328 = call i32 @s2n_print_stacktrace(ptr noundef %8327) #12
  %8329 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8330 = trunc nuw i8 %8329 to i1
  br i1 %8330, label %8331, label %8335

8331:                                             ; preds = %8325
  %8332 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8333 = call i32 @fileno(ptr noundef %8332) #12
  %8334 = call i32 @isatty(i32 noundef %8333) #12
  %.not1331 = icmp eq i32 %8334, 0
  br i1 %.not1331, label %8335, label %8336

8335:                                             ; preds = %8331, %8325
  br label %8336

8336:                                             ; preds = %8331, %8335
  %.str.5.sink4400 = phi ptr [ @.str.5, %8335 ], [ @.str.2, %8331 ]
  store i32 %8326, ptr %639, align 4, !tbaa !5
  %8337 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8338 = load i32, ptr @test_count, align 4, !tbaa !5
  %8339 = load i32, ptr %585, align 4, !tbaa !5
  %8340 = call ptr @s2n_strerror(i32 noundef %8339, ptr noundef nonnull @.str.4) #12
  %8341 = load i32, ptr %585, align 4, !tbaa !5
  %8342 = call ptr @s2n_strerror_debug(i32 noundef %8341, ptr noundef nonnull @.str.4) #12
  %8343 = load i32, ptr %639, align 4, !tbaa !5
  %8344 = call ptr @strerror(i32 noundef %8343) #12
  %8345 = load i32, ptr %639, align 4, !tbaa !5
  %8346 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8337, ptr noundef nonnull %.str.5.sink4400, i32 noundef %8338, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 605, ptr noundef %8340, ptr noundef %8342, ptr noundef %8344, i32 noundef %8345) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8347:                                             ; preds = %8320
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_reads, align 1, !tbaa !43
  %8348 = add nsw i32 %8321, 2
  store i32 %8348, ptr @test_count, align 4, !tbaa !5
  %8349 = call i32 @s2n_send_early_data(ptr noundef nonnull %7656, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8350 = icmp eq i32 %8349, -1
  br i1 %8350, label %8373, label %8351

8351:                                             ; preds = %8347
  %8352 = load i32, ptr %639, align 4, !tbaa !5
  %8353 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8354 = call i32 @s2n_print_stacktrace(ptr noundef %8353) #12
  %8355 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8356 = trunc nuw i8 %8355 to i1
  br i1 %8356, label %8357, label %8361

8357:                                             ; preds = %8351
  %8358 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8359 = call i32 @fileno(ptr noundef %8358) #12
  %8360 = call i32 @isatty(i32 noundef %8359) #12
  %.not1332 = icmp eq i32 %8360, 0
  br i1 %.not1332, label %8361, label %8362

8361:                                             ; preds = %8357, %8351
  br label %8362

8362:                                             ; preds = %8357, %8361
  %.str.5.sink4409 = phi ptr [ @.str.5, %8361 ], [ @.str.2, %8357 ]
  store i32 %8352, ptr %639, align 4, !tbaa !5
  %8363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8364 = load i32, ptr @test_count, align 4, !tbaa !5
  %8365 = load i32, ptr %585, align 4, !tbaa !5
  %8366 = call ptr @s2n_strerror(i32 noundef %8365, ptr noundef nonnull @.str.4) #12
  %8367 = load i32, ptr %585, align 4, !tbaa !5
  %8368 = call ptr @s2n_strerror_debug(i32 noundef %8367, ptr noundef nonnull @.str.4) #12
  %8369 = load i32, ptr %639, align 4, !tbaa !5
  %8370 = call ptr @strerror(i32 noundef %8369) #12
  %8371 = load i32, ptr %639, align 4, !tbaa !5
  %8372 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8363, ptr noundef nonnull %.str.5.sink4409, i32 noundef %8364, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %8366, ptr noundef %8368, ptr noundef %8370, i32 noundef %8371) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8373:                                             ; preds = %8347
  %8374 = load i32, ptr @test_count, align 4, !tbaa !5
  %8375 = add nsw i32 %8374, 1
  store i32 %8375, ptr @test_count, align 4, !tbaa !5
  %8376 = load i32, ptr %585, align 4, !tbaa !5
  %8377 = icmp eq i32 %8376, 201326592
  br i1 %8377, label %8400, label %8378

8378:                                             ; preds = %8373
  %8379 = load i32, ptr %639, align 4, !tbaa !5
  %8380 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8381 = call i32 @s2n_print_stacktrace(ptr noundef %8380) #12
  %8382 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8383 = trunc nuw i8 %8382 to i1
  br i1 %8383, label %8384, label %8388

8384:                                             ; preds = %8378
  %8385 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8386 = call i32 @fileno(ptr noundef %8385) #12
  %8387 = call i32 @isatty(i32 noundef %8386) #12
  %.not1333 = icmp eq i32 %8387, 0
  br i1 %.not1333, label %8388, label %8389

8388:                                             ; preds = %8384, %8378
  br label %8389

8389:                                             ; preds = %8384, %8388
  %.str.5.sink4418 = phi ptr [ @.str.5, %8388 ], [ @.str.2, %8384 ]
  store i32 %8379, ptr %639, align 4, !tbaa !5
  %8390 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8391 = load i32, ptr @test_count, align 4, !tbaa !5
  %8392 = load i32, ptr %585, align 4, !tbaa !5
  %8393 = call ptr @s2n_strerror(i32 noundef %8392, ptr noundef nonnull @.str.4) #12
  %8394 = load i32, ptr %585, align 4, !tbaa !5
  %8395 = call ptr @s2n_strerror_debug(i32 noundef %8394, ptr noundef nonnull @.str.4) #12
  %8396 = load i32, ptr %639, align 4, !tbaa !5
  %8397 = call ptr @strerror(i32 noundef %8396) #12
  %8398 = load i32, ptr %639, align 4, !tbaa !5
  %8399 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8390, ptr noundef nonnull %.str.5.sink4418, i32 noundef %8391, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %8393, ptr noundef %8395, ptr noundef %8397, i32 noundef %8398) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8400:                                             ; preds = %8373
  %8401 = add nsw i32 %8374, 2
  store i32 %8401, ptr @test_count, align 4, !tbaa !5
  %8402 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %8403 = icmp eq ptr %8402, null
  br i1 %8403, label %8404, label %8426

8404:                                             ; preds = %8400
  %8405 = load i32, ptr %639, align 4, !tbaa !5
  %8406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8407 = call i32 @s2n_print_stacktrace(ptr noundef %8406) #12
  %8408 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8409 = trunc nuw i8 %8408 to i1
  br i1 %8409, label %8410, label %8414

8410:                                             ; preds = %8404
  %8411 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8412 = call i32 @fileno(ptr noundef %8411) #12
  %8413 = call i32 @isatty(i32 noundef %8412) #12
  %.not1538 = icmp eq i32 %8413, 0
  br i1 %.not1538, label %8414, label %8415

8414:                                             ; preds = %8410, %8404
  br label %8415

8415:                                             ; preds = %8410, %8414
  %.str.5.sink4427 = phi ptr [ @.str.5, %8414 ], [ @.str.2, %8410 ]
  store i32 %8405, ptr %639, align 4, !tbaa !5
  %8416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8417 = load i32, ptr @test_count, align 4, !tbaa !5
  %8418 = load i32, ptr %585, align 4, !tbaa !5
  %8419 = call ptr @s2n_strerror(i32 noundef %8418, ptr noundef nonnull @.str.4) #12
  %8420 = load i32, ptr %585, align 4, !tbaa !5
  %8421 = call ptr @s2n_strerror_debug(i32 noundef %8420, ptr noundef nonnull @.str.4) #12
  %8422 = load i32, ptr %639, align 4, !tbaa !5
  %8423 = call ptr @strerror(i32 noundef %8422) #12
  %8424 = load i32, ptr %639, align 4, !tbaa !5
  %8425 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8416, ptr noundef nonnull %.str.5.sink4427, i32 noundef %8417, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 610, ptr noundef %8419, ptr noundef %8421, ptr noundef %8423, i32 noundef %8424) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8426:                                             ; preds = %8400
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %8427 = load i32, ptr @test_count, align 4, !tbaa !5
  %8428 = add nsw i32 %8427, 1
  store i32 %8428, ptr @test_count, align 4, !tbaa !5
  %8429 = load i32, ptr %86, align 4, !tbaa !5
  %8430 = icmp eq i32 %8429, 1
  br i1 %8430, label %8453, label %8431

8431:                                             ; preds = %8426
  %8432 = load i32, ptr %639, align 4, !tbaa !5
  %8433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8434 = call i32 @s2n_print_stacktrace(ptr noundef %8433) #12
  %8435 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8436 = trunc nuw i8 %8435 to i1
  br i1 %8436, label %8437, label %8441

8437:                                             ; preds = %8431
  %8438 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8439 = call i32 @fileno(ptr noundef %8438) #12
  %8440 = call i32 @isatty(i32 noundef %8439) #12
  %.not1334 = icmp eq i32 %8440, 0
  br i1 %.not1334, label %8441, label %8442

8441:                                             ; preds = %8437, %8431
  br label %8442

8442:                                             ; preds = %8437, %8441
  %.str.5.sink4436 = phi ptr [ @.str.5, %8441 ], [ @.str.2, %8437 ]
  store i32 %8432, ptr %639, align 4, !tbaa !5
  %8443 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8444 = load i32, ptr @test_count, align 4, !tbaa !5
  %8445 = load i32, ptr %585, align 4, !tbaa !5
  %8446 = call ptr @s2n_strerror(i32 noundef %8445, ptr noundef nonnull @.str.4) #12
  %8447 = load i32, ptr %585, align 4, !tbaa !5
  %8448 = call ptr @s2n_strerror_debug(i32 noundef %8447, ptr noundef nonnull @.str.4) #12
  %8449 = load i32, ptr %639, align 4, !tbaa !5
  %8450 = call ptr @strerror(i32 noundef %8449) #12
  %8451 = load i32, ptr %639, align 4, !tbaa !5
  %8452 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8443, ptr noundef nonnull %.str.5.sink4436, i32 noundef %8444, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %8446, ptr noundef %8448, ptr noundef %8450, i32 noundef %8451) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8453:                                             ; preds = %8426
  %8454 = add nsw i32 %8427, 2
  store i32 %8454, ptr @test_count, align 4, !tbaa !5
  %8455 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7656) #12
  %8456 = icmp eq i32 %8455, 1
  br i1 %8456, label %8479, label %8457

8457:                                             ; preds = %8453
  %8458 = load i32, ptr %639, align 4, !tbaa !5
  %8459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8460 = call i32 @s2n_print_stacktrace(ptr noundef %8459) #12
  %8461 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8462 = trunc nuw i8 %8461 to i1
  br i1 %8462, label %8463, label %8467

8463:                                             ; preds = %8457
  %8464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8465 = call i32 @fileno(ptr noundef %8464) #12
  %8466 = call i32 @isatty(i32 noundef %8465) #12
  %.not1335 = icmp eq i32 %8466, 0
  br i1 %.not1335, label %8467, label %8468

8467:                                             ; preds = %8463, %8457
  br label %8468

8468:                                             ; preds = %8463, %8467
  %.str.5.sink4445 = phi ptr [ @.str.5, %8467 ], [ @.str.2, %8463 ]
  store i32 %8458, ptr %639, align 4, !tbaa !5
  %8469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8470 = load i32, ptr @test_count, align 4, !tbaa !5
  %8471 = load i32, ptr %585, align 4, !tbaa !5
  %8472 = call ptr @s2n_strerror(i32 noundef %8471, ptr noundef nonnull @.str.4) #12
  %8473 = load i32, ptr %585, align 4, !tbaa !5
  %8474 = call ptr @s2n_strerror_debug(i32 noundef %8473, ptr noundef nonnull @.str.4) #12
  %8475 = load i32, ptr %639, align 4, !tbaa !5
  %8476 = call ptr @strerror(i32 noundef %8475) #12
  %8477 = load i32, ptr %639, align 4, !tbaa !5
  %8478 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8469, ptr noundef nonnull %.str.5.sink4445, i32 noundef %8470, ptr noundef nonnull @.str.63, ptr noundef nonnull @.str.1, i32 noundef 611, ptr noundef %8472, ptr noundef %8474, ptr noundef %8476, i32 noundef %8477) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8479:                                             ; preds = %8453
  %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 i64, ptr %87, align 8, !tbaa !42
  %8483 = icmp eq i64 %8482, 12
  br i1 %8483, label %8506, label %8484

8484:                                             ; preds = %8479
  %8485 = load i32, ptr %639, align 4, !tbaa !5
  %8486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8487 = call i32 @s2n_print_stacktrace(ptr noundef %8486) #12
  %8488 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8489 = trunc nuw i8 %8488 to i1
  br i1 %8489, label %8490, label %8494

8490:                                             ; preds = %8484
  %8491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8492 = call i32 @fileno(ptr noundef %8491) #12
  %8493 = call i32 @isatty(i32 noundef %8492) #12
  %.not1336 = icmp eq i32 %8493, 0
  br i1 %.not1336, label %8494, label %8495

8494:                                             ; preds = %8490, %8484
  br label %8495

8495:                                             ; preds = %8490, %8494
  %.str.5.sink4454 = phi ptr [ @.str.5, %8494 ], [ @.str.2, %8490 ]
  store i32 %8485, ptr %639, align 4, !tbaa !5
  %8496 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8497 = load i32, ptr @test_count, align 4, !tbaa !5
  %8498 = load i32, ptr %585, align 4, !tbaa !5
  %8499 = call ptr @s2n_strerror(i32 noundef %8498, ptr noundef nonnull @.str.4) #12
  %8500 = load i32, ptr %585, align 4, !tbaa !5
  %8501 = call ptr @s2n_strerror_debug(i32 noundef %8500, ptr noundef nonnull @.str.4) #12
  %8502 = load i32, ptr %639, align 4, !tbaa !5
  %8503 = call ptr @strerror(i32 noundef %8502) #12
  %8504 = load i32, ptr %639, align 4, !tbaa !5
  %8505 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8496, ptr noundef nonnull %.str.5.sink4454, i32 noundef %8497, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 612, ptr noundef %8499, ptr noundef %8501, ptr noundef %8503, i32 noundef %8504) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8506:                                             ; preds = %8479
  store i8 0, ptr @s2n_allowed_reads, align 1, !tbaa !43
  %8507 = add nsw i32 %8480, 2
  store i32 %8507, ptr @test_count, align 4, !tbaa !5
  %8508 = call i32 @s2n_recv_early_data(ptr noundef nonnull %7736, ptr noundef nonnull %85, i64 noundef 100, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8509 = icmp eq i32 %8508, -1
  br i1 %8509, label %8532, label %8510

8510:                                             ; preds = %8506
  %8511 = load i32, ptr %639, align 4, !tbaa !5
  %8512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8513 = call i32 @s2n_print_stacktrace(ptr noundef %8512) #12
  %8514 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8515 = trunc nuw i8 %8514 to i1
  br i1 %8515, label %8516, label %8520

8516:                                             ; preds = %8510
  %8517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8518 = call i32 @fileno(ptr noundef %8517) #12
  %8519 = call i32 @isatty(i32 noundef %8518) #12
  %.not1337 = icmp eq i32 %8519, 0
  br i1 %.not1337, label %8520, label %8521

8520:                                             ; preds = %8516, %8510
  br label %8521

8521:                                             ; preds = %8516, %8520
  %.str.5.sink4463 = phi ptr [ @.str.5, %8520 ], [ @.str.2, %8516 ]
  store i32 %8511, ptr %639, align 4, !tbaa !5
  %8522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8523 = load i32, ptr @test_count, align 4, !tbaa !5
  %8524 = load i32, ptr %585, align 4, !tbaa !5
  %8525 = call ptr @s2n_strerror(i32 noundef %8524, ptr noundef nonnull @.str.4) #12
  %8526 = load i32, ptr %585, align 4, !tbaa !5
  %8527 = call ptr @s2n_strerror_debug(i32 noundef %8526, ptr noundef nonnull @.str.4) #12
  %8528 = load i32, ptr %639, align 4, !tbaa !5
  %8529 = call ptr @strerror(i32 noundef %8528) #12
  %8530 = load i32, ptr %639, align 4, !tbaa !5
  %8531 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8522, ptr noundef nonnull %.str.5.sink4463, i32 noundef %8523, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 616, ptr noundef %8525, ptr noundef %8527, ptr noundef %8529, i32 noundef %8530) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8532:                                             ; preds = %8506
  %8533 = load i32, ptr @test_count, align 4, !tbaa !5
  %8534 = add nsw i32 %8533, 1
  store i32 %8534, ptr @test_count, align 4, !tbaa !5
  %8535 = load i32, ptr %585, align 4, !tbaa !5
  %8536 = icmp eq i32 %8535, 201326592
  br i1 %8536, label %8559, label %8537

8537:                                             ; preds = %8532
  %8538 = load i32, ptr %639, align 4, !tbaa !5
  %8539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8540 = call i32 @s2n_print_stacktrace(ptr noundef %8539) #12
  %8541 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8542 = trunc nuw i8 %8541 to i1
  br i1 %8542, label %8543, label %8547

8543:                                             ; preds = %8537
  %8544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8545 = call i32 @fileno(ptr noundef %8544) #12
  %8546 = call i32 @isatty(i32 noundef %8545) #12
  %.not1338 = icmp eq i32 %8546, 0
  br i1 %.not1338, label %8547, label %8548

8547:                                             ; preds = %8543, %8537
  br label %8548

8548:                                             ; preds = %8543, %8547
  %.str.5.sink4472 = phi ptr [ @.str.5, %8547 ], [ @.str.2, %8543 ]
  store i32 %8538, ptr %639, align 4, !tbaa !5
  %8549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8550 = load i32, ptr @test_count, align 4, !tbaa !5
  %8551 = load i32, ptr %585, align 4, !tbaa !5
  %8552 = call ptr @s2n_strerror(i32 noundef %8551, ptr noundef nonnull @.str.4) #12
  %8553 = load i32, ptr %585, align 4, !tbaa !5
  %8554 = call ptr @s2n_strerror_debug(i32 noundef %8553, ptr noundef nonnull @.str.4) #12
  %8555 = load i32, ptr %639, align 4, !tbaa !5
  %8556 = call ptr @strerror(i32 noundef %8555) #12
  %8557 = load i32, ptr %639, align 4, !tbaa !5
  %8558 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8549, ptr noundef nonnull %.str.5.sink4472, i32 noundef %8550, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 616, ptr noundef %8552, ptr noundef %8554, ptr noundef %8556, i32 noundef %8557) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8559:                                             ; preds = %8532
  %8560 = add nsw i32 %8533, 2
  store i32 %8560, ptr @test_count, align 4, !tbaa !5
  %8561 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %8562 = icmp eq ptr %8561, null
  br i1 %8562, label %8563, label %8585

8563:                                             ; preds = %8559
  %8564 = load i32, ptr %639, align 4, !tbaa !5
  %8565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8566 = call i32 @s2n_print_stacktrace(ptr noundef %8565) #12
  %8567 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8568 = trunc nuw i8 %8567 to i1
  br i1 %8568, label %8569, label %8573

8569:                                             ; preds = %8563
  %8570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8571 = call i32 @fileno(ptr noundef %8570) #12
  %8572 = call i32 @isatty(i32 noundef %8571) #12
  %.not1537 = icmp eq i32 %8572, 0
  br i1 %.not1537, label %8573, label %8574

8573:                                             ; preds = %8569, %8563
  br label %8574

8574:                                             ; preds = %8569, %8573
  %.str.5.sink4481 = phi ptr [ @.str.5, %8573 ], [ @.str.2, %8569 ]
  store i32 %8564, ptr %639, align 4, !tbaa !5
  %8575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8576 = load i32, ptr @test_count, align 4, !tbaa !5
  %8577 = load i32, ptr %585, align 4, !tbaa !5
  %8578 = call ptr @s2n_strerror(i32 noundef %8577, ptr noundef nonnull @.str.4) #12
  %8579 = load i32, ptr %585, align 4, !tbaa !5
  %8580 = call ptr @s2n_strerror_debug(i32 noundef %8579, ptr noundef nonnull @.str.4) #12
  %8581 = load i32, ptr %639, align 4, !tbaa !5
  %8582 = call ptr @strerror(i32 noundef %8581) #12
  %8583 = load i32, ptr %639, align 4, !tbaa !5
  %8584 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8575, ptr noundef nonnull %.str.5.sink4481, i32 noundef %8576, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 616, ptr noundef %8578, ptr noundef %8580, ptr noundef %8582, i32 noundef %8583) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8585:                                             ; preds = %8559
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %8586 = load i32, ptr @test_count, align 4, !tbaa !5
  %8587 = add nsw i32 %8586, 1
  store i32 %8587, ptr @test_count, align 4, !tbaa !5
  %8588 = load i32, ptr %86, align 4, !tbaa !5
  %8589 = icmp eq i32 %8588, 1
  br i1 %8589, label %8612, label %8590

8590:                                             ; preds = %8585
  %8591 = load i32, ptr %639, align 4, !tbaa !5
  %8592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8593 = call i32 @s2n_print_stacktrace(ptr noundef %8592) #12
  %8594 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8595 = trunc nuw i8 %8594 to i1
  br i1 %8595, label %8596, label %8600

8596:                                             ; preds = %8590
  %8597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8598 = call i32 @fileno(ptr noundef %8597) #12
  %8599 = call i32 @isatty(i32 noundef %8598) #12
  %.not1339 = icmp eq i32 %8599, 0
  br i1 %.not1339, label %8600, label %8601

8600:                                             ; preds = %8596, %8590
  br label %8601

8601:                                             ; preds = %8596, %8600
  %.str.5.sink4490 = phi ptr [ @.str.5, %8600 ], [ @.str.2, %8596 ]
  store i32 %8591, ptr %639, align 4, !tbaa !5
  %8602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8603 = load i32, ptr @test_count, align 4, !tbaa !5
  %8604 = load i32, ptr %585, align 4, !tbaa !5
  %8605 = call ptr @s2n_strerror(i32 noundef %8604, ptr noundef nonnull @.str.4) #12
  %8606 = load i32, ptr %585, align 4, !tbaa !5
  %8607 = call ptr @s2n_strerror_debug(i32 noundef %8606, ptr noundef nonnull @.str.4) #12
  %8608 = load i32, ptr %639, align 4, !tbaa !5
  %8609 = call ptr @strerror(i32 noundef %8608) #12
  %8610 = load i32, ptr %639, align 4, !tbaa !5
  %8611 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8602, ptr noundef nonnull %.str.5.sink4490, i32 noundef %8603, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 617, ptr noundef %8605, ptr noundef %8607, ptr noundef %8609, i32 noundef %8610) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8612:                                             ; preds = %8585
  %8613 = add nsw i32 %8586, 2
  store i32 %8613, ptr @test_count, align 4, !tbaa !5
  %8614 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7736) #12
  %8615 = icmp eq i32 %8614, 0
  br i1 %8615, label %8638, label %8616

8616:                                             ; preds = %8612
  %8617 = load i32, ptr %639, align 4, !tbaa !5
  %8618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8619 = call i32 @s2n_print_stacktrace(ptr noundef %8618) #12
  %8620 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8621 = trunc nuw i8 %8620 to i1
  br i1 %8621, label %8622, label %8626

8622:                                             ; preds = %8616
  %8623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8624 = call i32 @fileno(ptr noundef %8623) #12
  %8625 = call i32 @isatty(i32 noundef %8624) #12
  %.not1340 = icmp eq i32 %8625, 0
  br i1 %.not1340, label %8626, label %8627

8626:                                             ; preds = %8622, %8616
  br label %8627

8627:                                             ; preds = %8622, %8626
  %.str.5.sink4499 = phi ptr [ @.str.5, %8626 ], [ @.str.2, %8622 ]
  store i32 %8617, ptr %639, align 4, !tbaa !5
  %8628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8629 = load i32, ptr @test_count, align 4, !tbaa !5
  %8630 = load i32, ptr %585, align 4, !tbaa !5
  %8631 = call ptr @s2n_strerror(i32 noundef %8630, ptr noundef nonnull @.str.4) #12
  %8632 = load i32, ptr %585, align 4, !tbaa !5
  %8633 = call ptr @s2n_strerror_debug(i32 noundef %8632, ptr noundef nonnull @.str.4) #12
  %8634 = load i32, ptr %639, align 4, !tbaa !5
  %8635 = call ptr @strerror(i32 noundef %8634) #12
  %8636 = load i32, ptr %639, align 4, !tbaa !5
  %8637 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8628, ptr noundef nonnull %.str.5.sink4499, i32 noundef %8629, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 617, ptr noundef %8631, ptr noundef %8633, ptr noundef %8635, i32 noundef %8636) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8638:                                             ; preds = %8612
  %8639 = load i32, ptr @test_count, align 4, !tbaa !5
  %8640 = add nsw i32 %8639, 1
  store i32 %8640, ptr @test_count, align 4, !tbaa !5
  %8641 = load i64, ptr %87, align 8, !tbaa !42
  %8642 = icmp eq i64 %8641, 0
  br i1 %8642, label %8665, label %8643

8643:                                             ; preds = %8638
  %8644 = load i32, ptr %639, align 4, !tbaa !5
  %8645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8646 = call i32 @s2n_print_stacktrace(ptr noundef %8645) #12
  %8647 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8648 = trunc nuw i8 %8647 to i1
  br i1 %8648, label %8649, label %8653

8649:                                             ; preds = %8643
  %8650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8651 = call i32 @fileno(ptr noundef %8650) #12
  %8652 = call i32 @isatty(i32 noundef %8651) #12
  %.not1341 = icmp eq i32 %8652, 0
  br i1 %.not1341, label %8653, label %8654

8653:                                             ; preds = %8649, %8643
  br label %8654

8654:                                             ; preds = %8649, %8653
  %.str.5.sink4508 = phi ptr [ @.str.5, %8653 ], [ @.str.2, %8649 ]
  store i32 %8644, ptr %639, align 4, !tbaa !5
  %8655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8656 = load i32, ptr @test_count, align 4, !tbaa !5
  %8657 = load i32, ptr %585, align 4, !tbaa !5
  %8658 = call ptr @s2n_strerror(i32 noundef %8657, ptr noundef nonnull @.str.4) #12
  %8659 = load i32, ptr %585, align 4, !tbaa !5
  %8660 = call ptr @s2n_strerror_debug(i32 noundef %8659, ptr noundef nonnull @.str.4) #12
  %8661 = load i32, ptr %639, align 4, !tbaa !5
  %8662 = call ptr @strerror(i32 noundef %8661) #12
  %8663 = load i32, ptr %639, align 4, !tbaa !5
  %8664 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8655, ptr noundef nonnull %.str.5.sink4508, i32 noundef %8656, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 618, ptr noundef %8658, ptr noundef %8660, ptr noundef %8662, i32 noundef %8663) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8665:                                             ; preds = %8638
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_writes, align 1, !tbaa !43
  %8666 = add nsw i32 %8639, 2
  store i32 %8666, ptr @test_count, align 4, !tbaa !5
  %8667 = call i32 @s2n_recv_early_data(ptr noundef nonnull %7736, ptr noundef nonnull %85, i64 noundef 100, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8668 = icmp eq i32 %8667, -1
  br i1 %8668, label %8691, label %8669

8669:                                             ; preds = %8665
  %8670 = load i32, ptr %639, align 4, !tbaa !5
  %8671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8672 = call i32 @s2n_print_stacktrace(ptr noundef %8671) #12
  %8673 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8674 = trunc nuw i8 %8673 to i1
  br i1 %8674, label %8675, label %8679

8675:                                             ; preds = %8669
  %8676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8677 = call i32 @fileno(ptr noundef %8676) #12
  %8678 = call i32 @isatty(i32 noundef %8677) #12
  %.not1342 = icmp eq i32 %8678, 0
  br i1 %.not1342, label %8679, label %8680

8679:                                             ; preds = %8675, %8669
  br label %8680

8680:                                             ; preds = %8675, %8679
  %.str.5.sink4517 = phi ptr [ @.str.5, %8679 ], [ @.str.2, %8675 ]
  store i32 %8670, ptr %639, align 4, !tbaa !5
  %8681 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8682 = load i32, ptr @test_count, align 4, !tbaa !5
  %8683 = load i32, ptr %585, align 4, !tbaa !5
  %8684 = call ptr @s2n_strerror(i32 noundef %8683, ptr noundef nonnull @.str.4) #12
  %8685 = load i32, ptr %585, align 4, !tbaa !5
  %8686 = call ptr @s2n_strerror_debug(i32 noundef %8685, ptr noundef nonnull @.str.4) #12
  %8687 = load i32, ptr %639, align 4, !tbaa !5
  %8688 = call ptr @strerror(i32 noundef %8687) #12
  %8689 = load i32, ptr %639, align 4, !tbaa !5
  %8690 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8681, ptr noundef nonnull %.str.5.sink4517, i32 noundef %8682, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %8684, ptr noundef %8686, ptr noundef %8688, i32 noundef %8689) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8691:                                             ; preds = %8665
  %8692 = load i32, ptr @test_count, align 4, !tbaa !5
  %8693 = add nsw i32 %8692, 1
  store i32 %8693, ptr @test_count, align 4, !tbaa !5
  %8694 = load i32, ptr %585, align 4, !tbaa !5
  %8695 = icmp eq i32 %8694, 201326592
  br i1 %8695, label %8718, label %8696

8696:                                             ; preds = %8691
  %8697 = load i32, ptr %639, align 4, !tbaa !5
  %8698 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8699 = call i32 @s2n_print_stacktrace(ptr noundef %8698) #12
  %8700 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8701 = trunc nuw i8 %8700 to i1
  br i1 %8701, label %8702, label %8706

8702:                                             ; preds = %8696
  %8703 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8704 = call i32 @fileno(ptr noundef %8703) #12
  %8705 = call i32 @isatty(i32 noundef %8704) #12
  %.not1343 = icmp eq i32 %8705, 0
  br i1 %.not1343, label %8706, label %8707

8706:                                             ; preds = %8702, %8696
  br label %8707

8707:                                             ; preds = %8702, %8706
  %.str.5.sink4526 = phi ptr [ @.str.5, %8706 ], [ @.str.2, %8702 ]
  store i32 %8697, ptr %639, align 4, !tbaa !5
  %8708 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8709 = load i32, ptr @test_count, align 4, !tbaa !5
  %8710 = load i32, ptr %585, align 4, !tbaa !5
  %8711 = call ptr @s2n_strerror(i32 noundef %8710, ptr noundef nonnull @.str.4) #12
  %8712 = load i32, ptr %585, align 4, !tbaa !5
  %8713 = call ptr @s2n_strerror_debug(i32 noundef %8712, ptr noundef nonnull @.str.4) #12
  %8714 = load i32, ptr %639, align 4, !tbaa !5
  %8715 = call ptr @strerror(i32 noundef %8714) #12
  %8716 = load i32, ptr %639, align 4, !tbaa !5
  %8717 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8708, ptr noundef nonnull %.str.5.sink4526, i32 noundef %8709, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %8711, ptr noundef %8713, ptr noundef %8715, i32 noundef %8716) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8718:                                             ; preds = %8691
  %8719 = add nsw i32 %8692, 2
  store i32 %8719, ptr @test_count, align 4, !tbaa !5
  %8720 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %8721 = icmp eq ptr %8720, null
  br i1 %8721, label %8722, label %8744

8722:                                             ; preds = %8718
  %8723 = load i32, ptr %639, align 4, !tbaa !5
  %8724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8725 = call i32 @s2n_print_stacktrace(ptr noundef %8724) #12
  %8726 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8727 = trunc nuw i8 %8726 to i1
  br i1 %8727, label %8728, label %8732

8728:                                             ; preds = %8722
  %8729 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8730 = call i32 @fileno(ptr noundef %8729) #12
  %8731 = call i32 @isatty(i32 noundef %8730) #12
  %.not1536 = icmp eq i32 %8731, 0
  br i1 %.not1536, label %8732, label %8733

8732:                                             ; preds = %8728, %8722
  br label %8733

8733:                                             ; preds = %8728, %8732
  %.str.5.sink4535 = phi ptr [ @.str.5, %8732 ], [ @.str.2, %8728 ]
  store i32 %8723, ptr %639, align 4, !tbaa !5
  %8734 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8735 = load i32, ptr @test_count, align 4, !tbaa !5
  %8736 = load i32, ptr %585, align 4, !tbaa !5
  %8737 = call ptr @s2n_strerror(i32 noundef %8736, ptr noundef nonnull @.str.4) #12
  %8738 = load i32, ptr %585, align 4, !tbaa !5
  %8739 = call ptr @s2n_strerror_debug(i32 noundef %8738, ptr noundef nonnull @.str.4) #12
  %8740 = load i32, ptr %639, align 4, !tbaa !5
  %8741 = call ptr @strerror(i32 noundef %8740) #12
  %8742 = load i32, ptr %639, align 4, !tbaa !5
  %8743 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8734, ptr noundef nonnull %.str.5.sink4535, i32 noundef %8735, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 623, ptr noundef %8737, ptr noundef %8739, ptr noundef %8741, i32 noundef %8742) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8744:                                             ; preds = %8718
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %8745 = load i32, ptr @test_count, align 4, !tbaa !5
  %8746 = add nsw i32 %8745, 1
  store i32 %8746, ptr @test_count, align 4, !tbaa !5
  %8747 = load i32, ptr %86, align 4, !tbaa !5
  %8748 = icmp eq i32 %8747, 2
  br i1 %8748, label %8771, label %8749

8749:                                             ; preds = %8744
  %8750 = load i32, ptr %639, align 4, !tbaa !5
  %8751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8752 = call i32 @s2n_print_stacktrace(ptr noundef %8751) #12
  %8753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8754 = trunc nuw i8 %8753 to i1
  br i1 %8754, label %8755, label %8759

8755:                                             ; preds = %8749
  %8756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8757 = call i32 @fileno(ptr noundef %8756) #12
  %8758 = call i32 @isatty(i32 noundef %8757) #12
  %.not1344 = icmp eq i32 %8758, 0
  br i1 %.not1344, label %8759, label %8760

8759:                                             ; preds = %8755, %8749
  br label %8760

8760:                                             ; preds = %8755, %8759
  %.str.5.sink4544 = phi ptr [ @.str.5, %8759 ], [ @.str.2, %8755 ]
  store i32 %8750, ptr %639, align 4, !tbaa !5
  %8761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8762 = load i32, ptr @test_count, align 4, !tbaa !5
  %8763 = load i32, ptr %585, align 4, !tbaa !5
  %8764 = call ptr @s2n_strerror(i32 noundef %8763, ptr noundef nonnull @.str.4) #12
  %8765 = load i32, ptr %585, align 4, !tbaa !5
  %8766 = call ptr @s2n_strerror_debug(i32 noundef %8765, ptr noundef nonnull @.str.4) #12
  %8767 = load i32, ptr %639, align 4, !tbaa !5
  %8768 = call ptr @strerror(i32 noundef %8767) #12
  %8769 = load i32, ptr %639, align 4, !tbaa !5
  %8770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8761, ptr noundef nonnull %.str.5.sink4544, i32 noundef %8762, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 624, ptr noundef %8764, ptr noundef %8766, ptr noundef %8768, i32 noundef %8769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8771:                                             ; preds = %8744
  %8772 = add nsw i32 %8745, 2
  store i32 %8772, ptr @test_count, align 4, !tbaa !5
  %8773 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7736) #12
  %8774 = icmp eq i32 %8773, 1
  br i1 %8774, label %8797, label %8775

8775:                                             ; preds = %8771
  %8776 = load i32, ptr %639, align 4, !tbaa !5
  %8777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8778 = call i32 @s2n_print_stacktrace(ptr noundef %8777) #12
  %8779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8780 = trunc nuw i8 %8779 to i1
  br i1 %8780, label %8781, label %8785

8781:                                             ; preds = %8775
  %8782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8783 = call i32 @fileno(ptr noundef %8782) #12
  %8784 = call i32 @isatty(i32 noundef %8783) #12
  %.not1345 = icmp eq i32 %8784, 0
  br i1 %.not1345, label %8785, label %8786

8785:                                             ; preds = %8781, %8775
  br label %8786

8786:                                             ; preds = %8781, %8785
  %.str.5.sink4553 = phi ptr [ @.str.5, %8785 ], [ @.str.2, %8781 ]
  store i32 %8776, ptr %639, align 4, !tbaa !5
  %8787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8788 = load i32, ptr @test_count, align 4, !tbaa !5
  %8789 = load i32, ptr %585, align 4, !tbaa !5
  %8790 = call ptr @s2n_strerror(i32 noundef %8789, ptr noundef nonnull @.str.4) #12
  %8791 = load i32, ptr %585, align 4, !tbaa !5
  %8792 = call ptr @s2n_strerror_debug(i32 noundef %8791, ptr noundef nonnull @.str.4) #12
  %8793 = load i32, ptr %639, align 4, !tbaa !5
  %8794 = call ptr @strerror(i32 noundef %8793) #12
  %8795 = load i32, ptr %639, align 4, !tbaa !5
  %8796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8787, ptr noundef nonnull %.str.5.sink4553, i32 noundef %8788, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 624, ptr noundef %8790, ptr noundef %8792, ptr noundef %8794, i32 noundef %8795) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8797:                                             ; preds = %8771
  %8798 = load i32, ptr @test_count, align 4, !tbaa !5
  %8799 = add nsw i32 %8798, 1
  store i32 %8799, ptr @test_count, align 4, !tbaa !5
  %8800 = load i64, ptr %87, align 8, !tbaa !42
  %8801 = icmp eq i64 %8800, 0
  br i1 %8801, label %.preheader1691, label %8802

8802:                                             ; preds = %8797
  %8803 = load i32, ptr %639, align 4, !tbaa !5
  %8804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8805 = call i32 @s2n_print_stacktrace(ptr noundef %8804) #12
  %8806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8807 = trunc nuw i8 %8806 to i1
  br i1 %8807, label %8808, label %8812

8808:                                             ; preds = %8802
  %8809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8810 = call i32 @fileno(ptr noundef %8809) #12
  %8811 = call i32 @isatty(i32 noundef %8810) #12
  %.not1346 = icmp eq i32 %8811, 0
  br i1 %.not1346, label %8812, label %8813

8812:                                             ; preds = %8808, %8802
  br label %8813

8813:                                             ; preds = %8808, %8812
  %.str.5.sink4562 = phi ptr [ @.str.5, %8812 ], [ @.str.2, %8808 ]
  store i32 %8803, ptr %639, align 4, !tbaa !5
  %8814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8815 = load i32, ptr @test_count, align 4, !tbaa !5
  %8816 = load i32, ptr %585, align 4, !tbaa !5
  %8817 = call ptr @s2n_strerror(i32 noundef %8816, ptr noundef nonnull @.str.4) #12
  %8818 = load i32, ptr %585, align 4, !tbaa !5
  %8819 = call ptr @s2n_strerror_debug(i32 noundef %8818, ptr noundef nonnull @.str.4) #12
  %8820 = load i32, ptr %639, align 4, !tbaa !5
  %8821 = call ptr @strerror(i32 noundef %8820) #12
  %8822 = load i32, ptr %639, align 4, !tbaa !5
  %8823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8814, ptr noundef nonnull %.str.5.sink4562, i32 noundef %8815, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 625, ptr noundef %8817, ptr noundef %8819, ptr noundef %8821, i32 noundef %8822) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1691:                                   ; preds = %8797, %8932
  %8824 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7736) #12
  %.not1347 = icmp eq i32 %8824, 15
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  br i1 %.not1347, label %8958, label %8825

8825:                                             ; preds = %.preheader1691
  %8826 = load i32, ptr @test_count, align 4, !tbaa !5
  %8827 = add nsw i32 %8826, 1
  store i32 %8827, ptr @test_count, align 4, !tbaa !5
  %8828 = call i32 @s2n_recv_early_data(ptr noundef nonnull %7736, ptr noundef nonnull %85, i64 noundef 100, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8829 = icmp eq i32 %8828, -1
  br i1 %8829, label %8852, label %8830

8830:                                             ; preds = %8825
  %8831 = load i32, ptr %639, align 4, !tbaa !5
  %8832 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8833 = call i32 @s2n_print_stacktrace(ptr noundef %8832) #12
  %8834 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8835 = trunc nuw i8 %8834 to i1
  br i1 %8835, label %8836, label %8840

8836:                                             ; preds = %8830
  %8837 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8838 = call i32 @fileno(ptr noundef %8837) #12
  %8839 = call i32 @isatty(i32 noundef %8838) #12
  %.not1531 = icmp eq i32 %8839, 0
  br i1 %.not1531, label %8840, label %8841

8840:                                             ; preds = %8836, %8830
  br label %8841

8841:                                             ; preds = %8836, %8840
  %.str.5.sink4571 = phi ptr [ @.str.5, %8840 ], [ @.str.2, %8836 ]
  store i32 %8831, ptr %639, align 4, !tbaa !5
  %8842 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8843 = load i32, ptr @test_count, align 4, !tbaa !5
  %8844 = load i32, ptr %585, align 4, !tbaa !5
  %8845 = call ptr @s2n_strerror(i32 noundef %8844, ptr noundef nonnull @.str.4) #12
  %8846 = load i32, ptr %585, align 4, !tbaa !5
  %8847 = call ptr @s2n_strerror_debug(i32 noundef %8846, ptr noundef nonnull @.str.4) #12
  %8848 = load i32, ptr %639, align 4, !tbaa !5
  %8849 = call ptr @strerror(i32 noundef %8848) #12
  %8850 = load i32, ptr %639, align 4, !tbaa !5
  %8851 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8842, ptr noundef nonnull %.str.5.sink4571, i32 noundef %8843, ptr noundef nonnull @.str.107, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %8845, ptr noundef %8847, ptr noundef %8849, i32 noundef %8850) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8852:                                             ; preds = %8825
  %8853 = load i32, ptr @test_count, align 4, !tbaa !5
  %8854 = add nsw i32 %8853, 1
  store i32 %8854, ptr @test_count, align 4, !tbaa !5
  %8855 = load i32, ptr %585, align 4, !tbaa !5
  %8856 = icmp eq i32 %8855, 201326592
  br i1 %8856, label %8879, label %8857

8857:                                             ; preds = %8852
  %8858 = load i32, ptr %639, align 4, !tbaa !5
  %8859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8860 = call i32 @s2n_print_stacktrace(ptr noundef %8859) #12
  %8861 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8862 = trunc nuw i8 %8861 to i1
  br i1 %8862, label %8863, label %8867

8863:                                             ; preds = %8857
  %8864 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8865 = call i32 @fileno(ptr noundef %8864) #12
  %8866 = call i32 @isatty(i32 noundef %8865) #12
  %.not1532 = icmp eq i32 %8866, 0
  br i1 %.not1532, label %8867, label %8868

8867:                                             ; preds = %8863, %8857
  br label %8868

8868:                                             ; preds = %8863, %8867
  %.str.5.sink4580 = phi ptr [ @.str.5, %8867 ], [ @.str.2, %8863 ]
  store i32 %8858, ptr %639, align 4, !tbaa !5
  %8869 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8870 = load i32, ptr @test_count, align 4, !tbaa !5
  %8871 = load i32, ptr %585, align 4, !tbaa !5
  %8872 = call ptr @s2n_strerror(i32 noundef %8871, ptr noundef nonnull @.str.4) #12
  %8873 = load i32, ptr %585, align 4, !tbaa !5
  %8874 = call ptr @s2n_strerror_debug(i32 noundef %8873, ptr noundef nonnull @.str.4) #12
  %8875 = load i32, ptr %639, align 4, !tbaa !5
  %8876 = call ptr @strerror(i32 noundef %8875) #12
  %8877 = load i32, ptr %639, align 4, !tbaa !5
  %8878 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8869, ptr noundef nonnull %.str.5.sink4580, i32 noundef %8870, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %8872, ptr noundef %8874, ptr noundef %8876, i32 noundef %8877) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8879:                                             ; preds = %8852
  %8880 = add nsw i32 %8853, 2
  store i32 %8880, ptr @test_count, align 4, !tbaa !5
  %8881 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %8882 = icmp eq ptr %8881, null
  br i1 %8882, label %8883, label %8905

8883:                                             ; preds = %8879
  %8884 = load i32, ptr %639, align 4, !tbaa !5
  %8885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8886 = call i32 @s2n_print_stacktrace(ptr noundef %8885) #12
  %8887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8888 = trunc nuw i8 %8887 to i1
  br i1 %8888, label %8889, label %8893

8889:                                             ; preds = %8883
  %8890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8891 = call i32 @fileno(ptr noundef %8890) #12
  %8892 = call i32 @isatty(i32 noundef %8891) #12
  %.not1535 = icmp eq i32 %8892, 0
  br i1 %.not1535, label %8893, label %8894

8893:                                             ; preds = %8889, %8883
  br label %8894

8894:                                             ; preds = %8889, %8893
  %.str.5.sink4589 = phi ptr [ @.str.5, %8893 ], [ @.str.2, %8889 ]
  store i32 %8884, ptr %639, align 4, !tbaa !5
  %8895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8896 = load i32, ptr @test_count, align 4, !tbaa !5
  %8897 = load i32, ptr %585, align 4, !tbaa !5
  %8898 = call ptr @s2n_strerror(i32 noundef %8897, ptr noundef nonnull @.str.4) #12
  %8899 = load i32, ptr %585, align 4, !tbaa !5
  %8900 = call ptr @s2n_strerror_debug(i32 noundef %8899, ptr noundef nonnull @.str.4) #12
  %8901 = load i32, ptr %639, align 4, !tbaa !5
  %8902 = call ptr @strerror(i32 noundef %8901) #12
  %8903 = load i32, ptr %639, align 4, !tbaa !5
  %8904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8895, ptr noundef nonnull %.str.5.sink4589, i32 noundef %8896, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 631, ptr noundef %8898, ptr noundef %8900, ptr noundef %8902, i32 noundef %8903) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8905:                                             ; preds = %8879
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %8906 = load i32, ptr @test_count, align 4, !tbaa !5
  %8907 = add nsw i32 %8906, 1
  store i32 %8907, ptr @test_count, align 4, !tbaa !5
  %8908 = load i32, ptr %86, align 4, !tbaa !5
  %8909 = icmp eq i32 %8908, 2
  br i1 %8909, label %8932, label %8910

8910:                                             ; preds = %8905
  %8911 = load i32, ptr %639, align 4, !tbaa !5
  %8912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8913 = call i32 @s2n_print_stacktrace(ptr noundef %8912) #12
  %8914 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8915 = trunc nuw i8 %8914 to i1
  br i1 %8915, label %8916, label %8920

8916:                                             ; preds = %8910
  %8917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8918 = call i32 @fileno(ptr noundef %8917) #12
  %8919 = call i32 @isatty(i32 noundef %8918) #12
  %.not1533 = icmp eq i32 %8919, 0
  br i1 %.not1533, label %8920, label %8921

8920:                                             ; preds = %8916, %8910
  br label %8921

8921:                                             ; preds = %8916, %8920
  %.str.5.sink4598 = phi ptr [ @.str.5, %8920 ], [ @.str.2, %8916 ]
  store i32 %8911, ptr %639, align 4, !tbaa !5
  %8922 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8923 = load i32, ptr @test_count, align 4, !tbaa !5
  %8924 = load i32, ptr %585, align 4, !tbaa !5
  %8925 = call ptr @s2n_strerror(i32 noundef %8924, ptr noundef nonnull @.str.4) #12
  %8926 = load i32, ptr %585, align 4, !tbaa !5
  %8927 = call ptr @s2n_strerror_debug(i32 noundef %8926, ptr noundef nonnull @.str.4) #12
  %8928 = load i32, ptr %639, align 4, !tbaa !5
  %8929 = call ptr @strerror(i32 noundef %8928) #12
  %8930 = load i32, ptr %639, align 4, !tbaa !5
  %8931 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8922, ptr noundef nonnull %.str.5.sink4598, i32 noundef %8923, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 632, ptr noundef %8925, ptr noundef %8927, ptr noundef %8929, i32 noundef %8930) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8932:                                             ; preds = %8905
  %8933 = add nsw i32 %8906, 2
  store i32 %8933, ptr @test_count, align 4, !tbaa !5
  %8934 = load i64, ptr %87, align 8, !tbaa !42
  %8935 = icmp eq i64 %8934, 0
  br i1 %8935, label %.preheader1691, label %8936, !llvm.loop !50

8936:                                             ; preds = %8932
  %8937 = load i32, ptr %639, align 4, !tbaa !5
  %8938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8939 = call i32 @s2n_print_stacktrace(ptr noundef %8938) #12
  %8940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8941 = trunc nuw i8 %8940 to i1
  br i1 %8941, label %8942, label %8946

8942:                                             ; preds = %8936
  %8943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8944 = call i32 @fileno(ptr noundef %8943) #12
  %8945 = call i32 @isatty(i32 noundef %8944) #12
  %.not1534 = icmp eq i32 %8945, 0
  br i1 %.not1534, label %8946, label %8947

8946:                                             ; preds = %8942, %8936
  br label %8947

8947:                                             ; preds = %8942, %8946
  %.str.5.sink4607 = phi ptr [ @.str.5, %8946 ], [ @.str.2, %8942 ]
  store i32 %8937, ptr %639, align 4, !tbaa !5
  %8948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8949 = load i32, ptr @test_count, align 4, !tbaa !5
  %8950 = load i32, ptr %585, align 4, !tbaa !5
  %8951 = call ptr @s2n_strerror(i32 noundef %8950, ptr noundef nonnull @.str.4) #12
  %8952 = load i32, ptr %585, align 4, !tbaa !5
  %8953 = call ptr @s2n_strerror_debug(i32 noundef %8952, ptr noundef nonnull @.str.4) #12
  %8954 = load i32, ptr %639, align 4, !tbaa !5
  %8955 = call ptr @strerror(i32 noundef %8954) #12
  %8956 = load i32, ptr %639, align 4, !tbaa !5
  %8957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8948, ptr noundef nonnull %.str.5.sink4607, i32 noundef %8949, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 633, ptr noundef %8951, ptr noundef %8953, ptr noundef %8955, i32 noundef %8956) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8958:                                             ; preds = %.preheader1691
  store i8 0, ptr @s2n_allowed_reads, align 1, !tbaa !43
  %8959 = load i32, ptr @test_count, align 4, !tbaa !5
  %8960 = add nsw i32 %8959, 1
  store i32 %8960, ptr @test_count, align 4, !tbaa !5
  %8961 = call i32 @s2n_recv_early_data(ptr noundef nonnull %7736, ptr noundef nonnull %85, i64 noundef 100, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %8962 = icmp eq i32 %8961, -1
  br i1 %8962, label %8985, label %8963

8963:                                             ; preds = %8958
  %8964 = load i32, ptr %639, align 4, !tbaa !5
  %8965 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8966 = call i32 @s2n_print_stacktrace(ptr noundef %8965) #12
  %8967 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8968 = trunc nuw i8 %8967 to i1
  br i1 %8968, label %8969, label %8973

8969:                                             ; preds = %8963
  %8970 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8971 = call i32 @fileno(ptr noundef %8970) #12
  %8972 = call i32 @isatty(i32 noundef %8971) #12
  %.not1348 = icmp eq i32 %8972, 0
  br i1 %.not1348, label %8973, label %8974

8973:                                             ; preds = %8969, %8963
  br label %8974

8974:                                             ; preds = %8969, %8973
  %.str.5.sink4616 = phi ptr [ @.str.5, %8973 ], [ @.str.2, %8969 ]
  store i32 %8964, ptr %639, align 4, !tbaa !5
  %8975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8976 = load i32, ptr @test_count, align 4, !tbaa !5
  %8977 = load i32, ptr %585, align 4, !tbaa !5
  %8978 = call ptr @s2n_strerror(i32 noundef %8977, ptr noundef nonnull @.str.4) #12
  %8979 = load i32, ptr %585, align 4, !tbaa !5
  %8980 = call ptr @s2n_strerror_debug(i32 noundef %8979, ptr noundef nonnull @.str.4) #12
  %8981 = load i32, ptr %639, align 4, !tbaa !5
  %8982 = call ptr @strerror(i32 noundef %8981) #12
  %8983 = load i32, ptr %639, align 4, !tbaa !5
  %8984 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %8975, ptr noundef nonnull %.str.5.sink4616, i32 noundef %8976, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 639, ptr noundef %8978, ptr noundef %8980, ptr noundef %8982, i32 noundef %8983) #14
  call void @exit(i32 noundef 1) #15
  unreachable

8985:                                             ; preds = %8958
  %8986 = load i32, ptr @test_count, align 4, !tbaa !5
  %8987 = add nsw i32 %8986, 1
  store i32 %8987, ptr @test_count, align 4, !tbaa !5
  %8988 = load i32, ptr %585, align 4, !tbaa !5
  %8989 = icmp eq i32 %8988, 201326592
  br i1 %8989, label %9012, label %8990

8990:                                             ; preds = %8985
  %8991 = load i32, ptr %639, align 4, !tbaa !5
  %8992 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8993 = call i32 @s2n_print_stacktrace(ptr noundef %8992) #12
  %8994 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %8995 = trunc nuw i8 %8994 to i1
  br i1 %8995, label %8996, label %9000

8996:                                             ; preds = %8990
  %8997 = load ptr, ptr @stderr, align 8, !tbaa !9
  %8998 = call i32 @fileno(ptr noundef %8997) #12
  %8999 = call i32 @isatty(i32 noundef %8998) #12
  %.not1349 = icmp eq i32 %8999, 0
  br i1 %.not1349, label %9000, label %9001

9000:                                             ; preds = %8996, %8990
  br label %9001

9001:                                             ; preds = %8996, %9000
  %.str.5.sink4625 = phi ptr [ @.str.5, %9000 ], [ @.str.2, %8996 ]
  store i32 %8991, ptr %639, align 4, !tbaa !5
  %9002 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9003 = load i32, ptr @test_count, align 4, !tbaa !5
  %9004 = load i32, ptr %585, align 4, !tbaa !5
  %9005 = call ptr @s2n_strerror(i32 noundef %9004, ptr noundef nonnull @.str.4) #12
  %9006 = load i32, ptr %585, align 4, !tbaa !5
  %9007 = call ptr @s2n_strerror_debug(i32 noundef %9006, ptr noundef nonnull @.str.4) #12
  %9008 = load i32, ptr %639, align 4, !tbaa !5
  %9009 = call ptr @strerror(i32 noundef %9008) #12
  %9010 = load i32, ptr %639, align 4, !tbaa !5
  %9011 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9002, ptr noundef nonnull %.str.5.sink4625, i32 noundef %9003, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 639, ptr noundef %9005, ptr noundef %9007, ptr noundef %9009, i32 noundef %9010) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9012:                                             ; preds = %8985
  %9013 = add nsw i32 %8986, 2
  store i32 %9013, ptr @test_count, align 4, !tbaa !5
  %9014 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %9015 = icmp eq ptr %9014, null
  br i1 %9015, label %9016, label %9038

9016:                                             ; preds = %9012
  %9017 = load i32, ptr %639, align 4, !tbaa !5
  %9018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9019 = call i32 @s2n_print_stacktrace(ptr noundef %9018) #12
  %9020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9021 = trunc nuw i8 %9020 to i1
  br i1 %9021, label %9022, label %9026

9022:                                             ; preds = %9016
  %9023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9024 = call i32 @fileno(ptr noundef %9023) #12
  %9025 = call i32 @isatty(i32 noundef %9024) #12
  %.not1530 = icmp eq i32 %9025, 0
  br i1 %.not1530, label %9026, label %9027

9026:                                             ; preds = %9022, %9016
  br label %9027

9027:                                             ; preds = %9022, %9026
  %.str.5.sink4634 = phi ptr [ @.str.5, %9026 ], [ @.str.2, %9022 ]
  store i32 %9017, ptr %639, align 4, !tbaa !5
  %9028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9029 = load i32, ptr @test_count, align 4, !tbaa !5
  %9030 = load i32, ptr %585, align 4, !tbaa !5
  %9031 = call ptr @s2n_strerror(i32 noundef %9030, ptr noundef nonnull @.str.4) #12
  %9032 = load i32, ptr %585, align 4, !tbaa !5
  %9033 = call ptr @s2n_strerror_debug(i32 noundef %9032, ptr noundef nonnull @.str.4) #12
  %9034 = load i32, ptr %639, align 4, !tbaa !5
  %9035 = call ptr @strerror(i32 noundef %9034) #12
  %9036 = load i32, ptr %639, align 4, !tbaa !5
  %9037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9028, ptr noundef nonnull %.str.5.sink4634, i32 noundef %9029, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 639, ptr noundef %9031, ptr noundef %9033, ptr noundef %9035, i32 noundef %9036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9038:                                             ; preds = %9012
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %9039 = load i32, ptr @test_count, align 4, !tbaa !5
  %9040 = add nsw i32 %9039, 1
  store i32 %9040, ptr @test_count, align 4, !tbaa !5
  %9041 = load i32, ptr %86, align 4, !tbaa !5
  %9042 = icmp eq i32 %9041, 1
  br i1 %9042, label %9065, label %9043

9043:                                             ; preds = %9038
  %9044 = load i32, ptr %639, align 4, !tbaa !5
  %9045 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9046 = call i32 @s2n_print_stacktrace(ptr noundef %9045) #12
  %9047 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9048 = trunc nuw i8 %9047 to i1
  br i1 %9048, label %9049, label %9053

9049:                                             ; preds = %9043
  %9050 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9051 = call i32 @fileno(ptr noundef %9050) #12
  %9052 = call i32 @isatty(i32 noundef %9051) #12
  %.not1350 = icmp eq i32 %9052, 0
  br i1 %.not1350, label %9053, label %9054

9053:                                             ; preds = %9049, %9043
  br label %9054

9054:                                             ; preds = %9049, %9053
  %.str.5.sink4643 = phi ptr [ @.str.5, %9053 ], [ @.str.2, %9049 ]
  store i32 %9044, ptr %639, align 4, !tbaa !5
  %9055 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9056 = load i32, ptr @test_count, align 4, !tbaa !5
  %9057 = load i32, ptr %585, align 4, !tbaa !5
  %9058 = call ptr @s2n_strerror(i32 noundef %9057, ptr noundef nonnull @.str.4) #12
  %9059 = load i32, ptr %585, align 4, !tbaa !5
  %9060 = call ptr @s2n_strerror_debug(i32 noundef %9059, ptr noundef nonnull @.str.4) #12
  %9061 = load i32, ptr %639, align 4, !tbaa !5
  %9062 = call ptr @strerror(i32 noundef %9061) #12
  %9063 = load i32, ptr %639, align 4, !tbaa !5
  %9064 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9055, ptr noundef nonnull %.str.5.sink4643, i32 noundef %9056, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 640, ptr noundef %9058, ptr noundef %9060, ptr noundef %9062, i32 noundef %9063) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9065:                                             ; preds = %9038
  %9066 = add nsw i32 %9039, 2
  store i32 %9066, ptr @test_count, align 4, !tbaa !5
  %9067 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7736) #12
  %9068 = icmp eq i32 %9067, 19
  br i1 %9068, label %9091, label %9069

9069:                                             ; preds = %9065
  %9070 = load i32, ptr %639, align 4, !tbaa !5
  %9071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9072 = call i32 @s2n_print_stacktrace(ptr noundef %9071) #12
  %9073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9074 = trunc nuw i8 %9073 to i1
  br i1 %9074, label %9075, label %9079

9075:                                             ; preds = %9069
  %9076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9077 = call i32 @fileno(ptr noundef %9076) #12
  %9078 = call i32 @isatty(i32 noundef %9077) #12
  %.not1351 = icmp eq i32 %9078, 0
  br i1 %.not1351, label %9079, label %9080

9079:                                             ; preds = %9075, %9069
  br label %9080

9080:                                             ; preds = %9075, %9079
  %.str.5.sink4652 = phi ptr [ @.str.5, %9079 ], [ @.str.2, %9075 ]
  store i32 %9070, ptr %639, align 4, !tbaa !5
  %9081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9082 = load i32, ptr @test_count, align 4, !tbaa !5
  %9083 = load i32, ptr %585, align 4, !tbaa !5
  %9084 = call ptr @s2n_strerror(i32 noundef %9083, ptr noundef nonnull @.str.4) #12
  %9085 = load i32, ptr %585, align 4, !tbaa !5
  %9086 = call ptr @s2n_strerror_debug(i32 noundef %9085, ptr noundef nonnull @.str.4) #12
  %9087 = load i32, ptr %639, align 4, !tbaa !5
  %9088 = call ptr @strerror(i32 noundef %9087) #12
  %9089 = load i32, ptr %639, align 4, !tbaa !5
  %9090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9081, ptr noundef nonnull %.str.5.sink4652, i32 noundef %9082, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 640, ptr noundef %9084, ptr noundef %9086, ptr noundef %9088, i32 noundef %9089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9091:                                             ; preds = %9065
  %9092 = load i32, ptr @test_count, align 4, !tbaa !5
  %9093 = add nsw i32 %9092, 1
  store i32 %9093, ptr @test_count, align 4, !tbaa !5
  %9094 = load i64, ptr %87, align 8, !tbaa !42
  %9095 = icmp eq i64 %9094, 0
  br i1 %9095, label %9118, label %9096

9096:                                             ; preds = %9091
  %9097 = load i32, ptr %639, align 4, !tbaa !5
  %9098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9099 = call i32 @s2n_print_stacktrace(ptr noundef %9098) #12
  %9100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9101 = trunc nuw i8 %9100 to i1
  br i1 %9101, label %9102, label %9106

9102:                                             ; preds = %9096
  %9103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9104 = call i32 @fileno(ptr noundef %9103) #12
  %9105 = call i32 @isatty(i32 noundef %9104) #12
  %.not1352 = icmp eq i32 %9105, 0
  br i1 %.not1352, label %9106, label %9107

9106:                                             ; preds = %9102, %9096
  br label %9107

9107:                                             ; preds = %9102, %9106
  %.str.5.sink4661 = phi ptr [ @.str.5, %9106 ], [ @.str.2, %9102 ]
  store i32 %9097, ptr %639, align 4, !tbaa !5
  %9108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9109 = load i32, ptr @test_count, align 4, !tbaa !5
  %9110 = load i32, ptr %585, align 4, !tbaa !5
  %9111 = call ptr @s2n_strerror(i32 noundef %9110, ptr noundef nonnull @.str.4) #12
  %9112 = load i32, ptr %585, align 4, !tbaa !5
  %9113 = call ptr @s2n_strerror_debug(i32 noundef %9112, ptr noundef nonnull @.str.4) #12
  %9114 = load i32, ptr %639, align 4, !tbaa !5
  %9115 = call ptr @strerror(i32 noundef %9114) #12
  %9116 = load i32, ptr %639, align 4, !tbaa !5
  %9117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9108, ptr noundef nonnull %.str.5.sink4661, i32 noundef %9109, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 641, ptr noundef %9111, ptr noundef %9113, ptr noundef %9115, i32 noundef %9116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9118:                                             ; preds = %9091
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  %9119 = add nsw i32 %9092, 2
  store i32 %9119, ptr @test_count, align 4, !tbaa !5
  %9120 = call i32 @s2n_recv_early_data(ptr noundef nonnull %7736, ptr noundef nonnull %85, i64 noundef 100, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %9121 = icmp eq i32 %9120, -1
  br i1 %9121, label %9144, label %9122

9122:                                             ; preds = %9118
  %9123 = load i32, ptr %639, align 4, !tbaa !5
  %9124 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9125 = call i32 @s2n_print_stacktrace(ptr noundef %9124) #12
  %9126 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9127 = trunc nuw i8 %9126 to i1
  br i1 %9127, label %9128, label %9132

9128:                                             ; preds = %9122
  %9129 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9130 = call i32 @fileno(ptr noundef %9129) #12
  %9131 = call i32 @isatty(i32 noundef %9130) #12
  %.not1353 = icmp eq i32 %9131, 0
  br i1 %.not1353, label %9132, label %9133

9132:                                             ; preds = %9128, %9122
  br label %9133

9133:                                             ; preds = %9128, %9132
  %.str.5.sink4670 = phi ptr [ @.str.5, %9132 ], [ @.str.2, %9128 ]
  store i32 %9123, ptr %639, align 4, !tbaa !5
  %9134 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9135 = load i32, ptr @test_count, align 4, !tbaa !5
  %9136 = load i32, ptr %585, align 4, !tbaa !5
  %9137 = call ptr @s2n_strerror(i32 noundef %9136, ptr noundef nonnull @.str.4) #12
  %9138 = load i32, ptr %585, align 4, !tbaa !5
  %9139 = call ptr @s2n_strerror_debug(i32 noundef %9138, ptr noundef nonnull @.str.4) #12
  %9140 = load i32, ptr %639, align 4, !tbaa !5
  %9141 = call ptr @strerror(i32 noundef %9140) #12
  %9142 = load i32, ptr %639, align 4, !tbaa !5
  %9143 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9134, ptr noundef nonnull %.str.5.sink4670, i32 noundef %9135, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 645, ptr noundef %9137, ptr noundef %9139, ptr noundef %9141, i32 noundef %9142) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9144:                                             ; preds = %9118
  %9145 = load i32, ptr @test_count, align 4, !tbaa !5
  %9146 = add nsw i32 %9145, 1
  store i32 %9146, ptr @test_count, align 4, !tbaa !5
  %9147 = load i32, ptr %585, align 4, !tbaa !5
  %9148 = icmp eq i32 %9147, 201326592
  br i1 %9148, label %9171, label %9149

9149:                                             ; preds = %9144
  %9150 = load i32, ptr %639, align 4, !tbaa !5
  %9151 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9152 = call i32 @s2n_print_stacktrace(ptr noundef %9151) #12
  %9153 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9154 = trunc nuw i8 %9153 to i1
  br i1 %9154, label %9155, label %9159

9155:                                             ; preds = %9149
  %9156 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9157 = call i32 @fileno(ptr noundef %9156) #12
  %9158 = call i32 @isatty(i32 noundef %9157) #12
  %.not1354 = icmp eq i32 %9158, 0
  br i1 %.not1354, label %9159, label %9160

9159:                                             ; preds = %9155, %9149
  br label %9160

9160:                                             ; preds = %9155, %9159
  %.str.5.sink4679 = phi ptr [ @.str.5, %9159 ], [ @.str.2, %9155 ]
  store i32 %9150, ptr %639, align 4, !tbaa !5
  %9161 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9162 = load i32, ptr @test_count, align 4, !tbaa !5
  %9163 = load i32, ptr %585, align 4, !tbaa !5
  %9164 = call ptr @s2n_strerror(i32 noundef %9163, ptr noundef nonnull @.str.4) #12
  %9165 = load i32, ptr %585, align 4, !tbaa !5
  %9166 = call ptr @s2n_strerror_debug(i32 noundef %9165, ptr noundef nonnull @.str.4) #12
  %9167 = load i32, ptr %639, align 4, !tbaa !5
  %9168 = call ptr @strerror(i32 noundef %9167) #12
  %9169 = load i32, ptr %639, align 4, !tbaa !5
  %9170 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9161, ptr noundef nonnull %.str.5.sink4679, i32 noundef %9162, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 645, ptr noundef %9164, ptr noundef %9166, ptr noundef %9168, i32 noundef %9169) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9171:                                             ; preds = %9144
  %9172 = add nsw i32 %9145, 2
  store i32 %9172, ptr @test_count, align 4, !tbaa !5
  %9173 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %9174 = icmp eq ptr %9173, null
  br i1 %9174, label %9175, label %9197

9175:                                             ; preds = %9171
  %9176 = load i32, ptr %639, align 4, !tbaa !5
  %9177 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9178 = call i32 @s2n_print_stacktrace(ptr noundef %9177) #12
  %9179 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9180 = trunc nuw i8 %9179 to i1
  br i1 %9180, label %9181, label %9185

9181:                                             ; preds = %9175
  %9182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9183 = call i32 @fileno(ptr noundef %9182) #12
  %9184 = call i32 @isatty(i32 noundef %9183) #12
  %.not1529 = icmp eq i32 %9184, 0
  br i1 %.not1529, label %9185, label %9186

9185:                                             ; preds = %9181, %9175
  br label %9186

9186:                                             ; preds = %9181, %9185
  %.str.5.sink4688 = phi ptr [ @.str.5, %9185 ], [ @.str.2, %9181 ]
  store i32 %9176, ptr %639, align 4, !tbaa !5
  %9187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9188 = load i32, ptr @test_count, align 4, !tbaa !5
  %9189 = load i32, ptr %585, align 4, !tbaa !5
  %9190 = call ptr @s2n_strerror(i32 noundef %9189, ptr noundef nonnull @.str.4) #12
  %9191 = load i32, ptr %585, align 4, !tbaa !5
  %9192 = call ptr @s2n_strerror_debug(i32 noundef %9191, ptr noundef nonnull @.str.4) #12
  %9193 = load i32, ptr %639, align 4, !tbaa !5
  %9194 = call ptr @strerror(i32 noundef %9193) #12
  %9195 = load i32, ptr %639, align 4, !tbaa !5
  %9196 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9187, ptr noundef nonnull %.str.5.sink4688, i32 noundef %9188, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 645, ptr noundef %9190, ptr noundef %9192, ptr noundef %9194, i32 noundef %9195) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9197:                                             ; preds = %9171
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %9198 = load i32, ptr @test_count, align 4, !tbaa !5
  %9199 = add nsw i32 %9198, 1
  store i32 %9199, ptr @test_count, align 4, !tbaa !5
  %9200 = load i32, ptr %86, align 4, !tbaa !5
  %9201 = icmp eq i32 %9200, 1
  br i1 %9201, label %9224, label %9202

9202:                                             ; preds = %9197
  %9203 = load i32, ptr %639, align 4, !tbaa !5
  %9204 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9205 = call i32 @s2n_print_stacktrace(ptr noundef %9204) #12
  %9206 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9207 = trunc nuw i8 %9206 to i1
  br i1 %9207, label %9208, label %9212

9208:                                             ; preds = %9202
  %9209 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9210 = call i32 @fileno(ptr noundef %9209) #12
  %9211 = call i32 @isatty(i32 noundef %9210) #12
  %.not1355 = icmp eq i32 %9211, 0
  br i1 %.not1355, label %9212, label %9213

9212:                                             ; preds = %9208, %9202
  br label %9213

9213:                                             ; preds = %9208, %9212
  %.str.5.sink4697 = phi ptr [ @.str.5, %9212 ], [ @.str.2, %9208 ]
  store i32 %9203, ptr %639, align 4, !tbaa !5
  %9214 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9215 = load i32, ptr @test_count, align 4, !tbaa !5
  %9216 = load i32, ptr %585, align 4, !tbaa !5
  %9217 = call ptr @s2n_strerror(i32 noundef %9216, ptr noundef nonnull @.str.4) #12
  %9218 = load i32, ptr %585, align 4, !tbaa !5
  %9219 = call ptr @s2n_strerror_debug(i32 noundef %9218, ptr noundef nonnull @.str.4) #12
  %9220 = load i32, ptr %639, align 4, !tbaa !5
  %9221 = call ptr @strerror(i32 noundef %9220) #12
  %9222 = load i32, ptr %639, align 4, !tbaa !5
  %9223 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9214, ptr noundef nonnull %.str.5.sink4697, i32 noundef %9215, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 646, ptr noundef %9217, ptr noundef %9219, ptr noundef %9221, i32 noundef %9222) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9224:                                             ; preds = %9197
  %9225 = add nsw i32 %9198, 2
  store i32 %9225, ptr @test_count, align 4, !tbaa !5
  %9226 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7736) #12
  %9227 = icmp eq i32 %9226, 19
  br i1 %9227, label %9250, label %9228

9228:                                             ; preds = %9224
  %9229 = load i32, ptr %639, align 4, !tbaa !5
  %9230 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9231 = call i32 @s2n_print_stacktrace(ptr noundef %9230) #12
  %9232 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9233 = trunc nuw i8 %9232 to i1
  br i1 %9233, label %9234, label %9238

9234:                                             ; preds = %9228
  %9235 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9236 = call i32 @fileno(ptr noundef %9235) #12
  %9237 = call i32 @isatty(i32 noundef %9236) #12
  %.not1356 = icmp eq i32 %9237, 0
  br i1 %.not1356, label %9238, label %9239

9238:                                             ; preds = %9234, %9228
  br label %9239

9239:                                             ; preds = %9234, %9238
  %.str.5.sink4706 = phi ptr [ @.str.5, %9238 ], [ @.str.2, %9234 ]
  store i32 %9229, ptr %639, align 4, !tbaa !5
  %9240 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9241 = load i32, ptr @test_count, align 4, !tbaa !5
  %9242 = load i32, ptr %585, align 4, !tbaa !5
  %9243 = call ptr @s2n_strerror(i32 noundef %9242, ptr noundef nonnull @.str.4) #12
  %9244 = load i32, ptr %585, align 4, !tbaa !5
  %9245 = call ptr @s2n_strerror_debug(i32 noundef %9244, ptr noundef nonnull @.str.4) #12
  %9246 = load i32, ptr %639, align 4, !tbaa !5
  %9247 = call ptr @strerror(i32 noundef %9246) #12
  %9248 = load i32, ptr %639, align 4, !tbaa !5
  %9249 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9240, ptr noundef nonnull %.str.5.sink4706, i32 noundef %9241, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 646, ptr noundef %9243, ptr noundef %9245, ptr noundef %9247, i32 noundef %9248) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9250:                                             ; preds = %9224
  %9251 = load i32, ptr @test_count, align 4, !tbaa !5
  %9252 = add nsw i32 %9251, 1
  store i32 %9252, ptr @test_count, align 4, !tbaa !5
  %9253 = load i64, ptr %87, align 8, !tbaa !42
  %9254 = icmp eq i64 %9253, 0
  br i1 %9254, label %9277, label %9255

9255:                                             ; preds = %9250
  %9256 = load i32, ptr %639, align 4, !tbaa !5
  %9257 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9258 = call i32 @s2n_print_stacktrace(ptr noundef %9257) #12
  %9259 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9260 = trunc nuw i8 %9259 to i1
  br i1 %9260, label %9261, label %9265

9261:                                             ; preds = %9255
  %9262 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9263 = call i32 @fileno(ptr noundef %9262) #12
  %9264 = call i32 @isatty(i32 noundef %9263) #12
  %.not1357 = icmp eq i32 %9264, 0
  br i1 %.not1357, label %9265, label %9266

9265:                                             ; preds = %9261, %9255
  br label %9266

9266:                                             ; preds = %9261, %9265
  %.str.5.sink4715 = phi ptr [ @.str.5, %9265 ], [ @.str.2, %9261 ]
  store i32 %9256, ptr %639, align 4, !tbaa !5
  %9267 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9268 = load i32, ptr @test_count, align 4, !tbaa !5
  %9269 = load i32, ptr %585, align 4, !tbaa !5
  %9270 = call ptr @s2n_strerror(i32 noundef %9269, ptr noundef nonnull @.str.4) #12
  %9271 = load i32, ptr %585, align 4, !tbaa !5
  %9272 = call ptr @s2n_strerror_debug(i32 noundef %9271, ptr noundef nonnull @.str.4) #12
  %9273 = load i32, ptr %639, align 4, !tbaa !5
  %9274 = call ptr @strerror(i32 noundef %9273) #12
  %9275 = load i32, ptr %639, align 4, !tbaa !5
  %9276 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9267, ptr noundef nonnull %.str.5.sink4715, i32 noundef %9268, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 647, ptr noundef %9270, ptr noundef %9272, ptr noundef %9274, i32 noundef %9275) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9277:                                             ; preds = %9250
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  %9278 = add nsw i32 %9251, 2
  store i32 %9278, ptr @test_count, align 4, !tbaa !5
  %9279 = call i32 @s2n_recv_early_data(ptr noundef nonnull %7736, ptr noundef nonnull %85, i64 noundef 100, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %9280 = icmp eq i32 %9279, -1
  br i1 %9280, label %9303, label %9281

9281:                                             ; preds = %9277
  %9282 = load i32, ptr %639, align 4, !tbaa !5
  %9283 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9284 = call i32 @s2n_print_stacktrace(ptr noundef %9283) #12
  %9285 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9286 = trunc nuw i8 %9285 to i1
  br i1 %9286, label %9287, label %9291

9287:                                             ; preds = %9281
  %9288 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9289 = call i32 @fileno(ptr noundef %9288) #12
  %9290 = call i32 @isatty(i32 noundef %9289) #12
  %.not1358 = icmp eq i32 %9290, 0
  br i1 %.not1358, label %9291, label %9292

9291:                                             ; preds = %9287, %9281
  br label %9292

9292:                                             ; preds = %9287, %9291
  %.str.5.sink4724 = phi ptr [ @.str.5, %9291 ], [ @.str.2, %9287 ]
  store i32 %9282, ptr %639, align 4, !tbaa !5
  %9293 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9294 = load i32, ptr @test_count, align 4, !tbaa !5
  %9295 = load i32, ptr %585, align 4, !tbaa !5
  %9296 = call ptr @s2n_strerror(i32 noundef %9295, ptr noundef nonnull @.str.4) #12
  %9297 = load i32, ptr %585, align 4, !tbaa !5
  %9298 = call ptr @s2n_strerror_debug(i32 noundef %9297, ptr noundef nonnull @.str.4) #12
  %9299 = load i32, ptr %639, align 4, !tbaa !5
  %9300 = call ptr @strerror(i32 noundef %9299) #12
  %9301 = load i32, ptr %639, align 4, !tbaa !5
  %9302 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9293, ptr noundef nonnull %.str.5.sink4724, i32 noundef %9294, ptr noundef nonnull @.str.73, ptr noundef nonnull @.str.1, i32 noundef 651, ptr noundef %9296, ptr noundef %9298, ptr noundef %9300, i32 noundef %9301) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9303:                                             ; preds = %9277
  %9304 = load i32, ptr @test_count, align 4, !tbaa !5
  %9305 = add nsw i32 %9304, 1
  store i32 %9305, ptr @test_count, align 4, !tbaa !5
  %9306 = load i32, ptr %585, align 4, !tbaa !5
  %9307 = icmp eq i32 %9306, 201326592
  br i1 %9307, label %9330, label %9308

9308:                                             ; preds = %9303
  %9309 = load i32, ptr %639, align 4, !tbaa !5
  %9310 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9311 = call i32 @s2n_print_stacktrace(ptr noundef %9310) #12
  %9312 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9313 = trunc nuw i8 %9312 to i1
  br i1 %9313, label %9314, label %9318

9314:                                             ; preds = %9308
  %9315 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9316 = call i32 @fileno(ptr noundef %9315) #12
  %9317 = call i32 @isatty(i32 noundef %9316) #12
  %.not1359 = icmp eq i32 %9317, 0
  br i1 %.not1359, label %9318, label %9319

9318:                                             ; preds = %9314, %9308
  br label %9319

9319:                                             ; preds = %9314, %9318
  %.str.5.sink4733 = phi ptr [ @.str.5, %9318 ], [ @.str.2, %9314 ]
  store i32 %9309, ptr %639, align 4, !tbaa !5
  %9320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9321 = load i32, ptr @test_count, align 4, !tbaa !5
  %9322 = load i32, ptr %585, align 4, !tbaa !5
  %9323 = call ptr @s2n_strerror(i32 noundef %9322, ptr noundef nonnull @.str.4) #12
  %9324 = load i32, ptr %585, align 4, !tbaa !5
  %9325 = call ptr @s2n_strerror_debug(i32 noundef %9324, ptr noundef nonnull @.str.4) #12
  %9326 = load i32, ptr %639, align 4, !tbaa !5
  %9327 = call ptr @strerror(i32 noundef %9326) #12
  %9328 = load i32, ptr %639, align 4, !tbaa !5
  %9329 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9320, ptr noundef nonnull %.str.5.sink4733, i32 noundef %9321, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 651, ptr noundef %9323, ptr noundef %9325, ptr noundef %9327, i32 noundef %9328) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9330:                                             ; preds = %9303
  %9331 = add nsw i32 %9304, 2
  store i32 %9331, ptr @test_count, align 4, !tbaa !5
  %9332 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %9333 = icmp eq ptr %9332, null
  br i1 %9333, label %9334, label %9356

9334:                                             ; preds = %9330
  %9335 = load i32, ptr %639, align 4, !tbaa !5
  %9336 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9337 = call i32 @s2n_print_stacktrace(ptr noundef %9336) #12
  %9338 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9339 = trunc nuw i8 %9338 to i1
  br i1 %9339, label %9340, label %9344

9340:                                             ; preds = %9334
  %9341 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9342 = call i32 @fileno(ptr noundef %9341) #12
  %9343 = call i32 @isatty(i32 noundef %9342) #12
  %.not1528 = icmp eq i32 %9343, 0
  br i1 %.not1528, label %9344, label %9345

9344:                                             ; preds = %9340, %9334
  br label %9345

9345:                                             ; preds = %9340, %9344
  %.str.5.sink4742 = phi ptr [ @.str.5, %9344 ], [ @.str.2, %9340 ]
  store i32 %9335, ptr %639, align 4, !tbaa !5
  %9346 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9347 = load i32, ptr @test_count, align 4, !tbaa !5
  %9348 = load i32, ptr %585, align 4, !tbaa !5
  %9349 = call ptr @s2n_strerror(i32 noundef %9348, ptr noundef nonnull @.str.4) #12
  %9350 = load i32, ptr %585, align 4, !tbaa !5
  %9351 = call ptr @s2n_strerror_debug(i32 noundef %9350, ptr noundef nonnull @.str.4) #12
  %9352 = load i32, ptr %639, align 4, !tbaa !5
  %9353 = call ptr @strerror(i32 noundef %9352) #12
  %9354 = load i32, ptr %639, align 4, !tbaa !5
  %9355 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9346, ptr noundef nonnull %.str.5.sink4742, i32 noundef %9347, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 651, ptr noundef %9349, ptr noundef %9351, ptr noundef %9353, i32 noundef %9354) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9356:                                             ; preds = %9330
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %9357 = load i32, ptr @test_count, align 4, !tbaa !5
  %9358 = add nsw i32 %9357, 1
  store i32 %9358, ptr @test_count, align 4, !tbaa !5
  %9359 = load i32, ptr %86, align 4, !tbaa !5
  %9360 = icmp eq i32 %9359, 1
  br i1 %9360, label %9383, label %9361

9361:                                             ; preds = %9356
  %9362 = load i32, ptr %639, align 4, !tbaa !5
  %9363 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9364 = call i32 @s2n_print_stacktrace(ptr noundef %9363) #12
  %9365 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9366 = trunc nuw i8 %9365 to i1
  br i1 %9366, label %9367, label %9371

9367:                                             ; preds = %9361
  %9368 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9369 = call i32 @fileno(ptr noundef %9368) #12
  %9370 = call i32 @isatty(i32 noundef %9369) #12
  %.not1360 = icmp eq i32 %9370, 0
  br i1 %.not1360, label %9371, label %9372

9371:                                             ; preds = %9367, %9361
  br label %9372

9372:                                             ; preds = %9367, %9371
  %.str.5.sink4751 = phi ptr [ @.str.5, %9371 ], [ @.str.2, %9367 ]
  store i32 %9362, ptr %639, align 4, !tbaa !5
  %9373 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9374 = load i32, ptr @test_count, align 4, !tbaa !5
  %9375 = load i32, ptr %585, align 4, !tbaa !5
  %9376 = call ptr @s2n_strerror(i32 noundef %9375, ptr noundef nonnull @.str.4) #12
  %9377 = load i32, ptr %585, align 4, !tbaa !5
  %9378 = call ptr @s2n_strerror_debug(i32 noundef %9377, ptr noundef nonnull @.str.4) #12
  %9379 = load i32, ptr %639, align 4, !tbaa !5
  %9380 = call ptr @strerror(i32 noundef %9379) #12
  %9381 = load i32, ptr %639, align 4, !tbaa !5
  %9382 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9373, ptr noundef nonnull %.str.5.sink4751, i32 noundef %9374, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 652, ptr noundef %9376, ptr noundef %9378, ptr noundef %9380, i32 noundef %9381) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9383:                                             ; preds = %9356
  %9384 = add nsw i32 %9357, 2
  store i32 %9384, ptr @test_count, align 4, !tbaa !5
  %9385 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7736) #12
  %9386 = icmp eq i32 %9385, 19
  br i1 %9386, label %9409, label %9387

9387:                                             ; preds = %9383
  %9388 = load i32, ptr %639, align 4, !tbaa !5
  %9389 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9390 = call i32 @s2n_print_stacktrace(ptr noundef %9389) #12
  %9391 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9392 = trunc nuw i8 %9391 to i1
  br i1 %9392, label %9393, label %9397

9393:                                             ; preds = %9387
  %9394 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9395 = call i32 @fileno(ptr noundef %9394) #12
  %9396 = call i32 @isatty(i32 noundef %9395) #12
  %.not1361 = icmp eq i32 %9396, 0
  br i1 %.not1361, label %9397, label %9398

9397:                                             ; preds = %9393, %9387
  br label %9398

9398:                                             ; preds = %9393, %9397
  %.str.5.sink4760 = phi ptr [ @.str.5, %9397 ], [ @.str.2, %9393 ]
  store i32 %9388, ptr %639, align 4, !tbaa !5
  %9399 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9400 = load i32, ptr @test_count, align 4, !tbaa !5
  %9401 = load i32, ptr %585, align 4, !tbaa !5
  %9402 = call ptr @s2n_strerror(i32 noundef %9401, ptr noundef nonnull @.str.4) #12
  %9403 = load i32, ptr %585, align 4, !tbaa !5
  %9404 = call ptr @s2n_strerror_debug(i32 noundef %9403, ptr noundef nonnull @.str.4) #12
  %9405 = load i32, ptr %639, align 4, !tbaa !5
  %9406 = call ptr @strerror(i32 noundef %9405) #12
  %9407 = load i32, ptr %639, align 4, !tbaa !5
  %9408 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9399, ptr noundef nonnull %.str.5.sink4760, i32 noundef %9400, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 652, ptr noundef %9402, ptr noundef %9404, ptr noundef %9406, i32 noundef %9407) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9409:                                             ; preds = %9383
  %9410 = load i32, ptr @test_count, align 4, !tbaa !5
  %9411 = add nsw i32 %9410, 1
  store i32 %9411, ptr @test_count, align 4, !tbaa !5
  %9412 = load i64, ptr %87, align 8, !tbaa !42
  %9413 = icmp eq i64 %9412, 12
  br i1 %9413, label %9436, label %9414

9414:                                             ; preds = %9409
  %9415 = load i32, ptr %639, align 4, !tbaa !5
  %9416 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9417 = call i32 @s2n_print_stacktrace(ptr noundef %9416) #12
  %9418 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9419 = trunc nuw i8 %9418 to i1
  br i1 %9419, label %9420, label %9424

9420:                                             ; preds = %9414
  %9421 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9422 = call i32 @fileno(ptr noundef %9421) #12
  %9423 = call i32 @isatty(i32 noundef %9422) #12
  %.not1362 = icmp eq i32 %9423, 0
  br i1 %.not1362, label %9424, label %9425

9424:                                             ; preds = %9420, %9414
  br label %9425

9425:                                             ; preds = %9420, %9424
  %.str.5.sink4769 = phi ptr [ @.str.5, %9424 ], [ @.str.2, %9420 ]
  store i32 %9415, ptr %639, align 4, !tbaa !5
  %9426 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9427 = load i32, ptr @test_count, align 4, !tbaa !5
  %9428 = load i32, ptr %585, align 4, !tbaa !5
  %9429 = call ptr @s2n_strerror(i32 noundef %9428, ptr noundef nonnull @.str.4) #12
  %9430 = load i32, ptr %585, align 4, !tbaa !5
  %9431 = call ptr @s2n_strerror_debug(i32 noundef %9430, ptr noundef nonnull @.str.4) #12
  %9432 = load i32, ptr %639, align 4, !tbaa !5
  %9433 = call ptr @strerror(i32 noundef %9432) #12
  %9434 = load i32, ptr %639, align 4, !tbaa !5
  %9435 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9426, ptr noundef nonnull %.str.5.sink4769, i32 noundef %9427, ptr noundef nonnull @.str.72, ptr noundef nonnull @.str.1, i32 noundef 653, ptr noundef %9429, ptr noundef %9431, ptr noundef %9433, i32 noundef %9434) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9436:                                             ; preds = %9409
  store i8 2, ptr @s2n_allowed_reads, align 1, !tbaa !43
  store i8 0, ptr @s2n_allowed_writes, align 1, !tbaa !43
  %9437 = add nsw i32 %9410, 2
  store i32 %9437, ptr @test_count, align 4, !tbaa !5
  %9438 = call i32 @s2n_send_early_data(ptr noundef nonnull %7656, ptr noundef nonnull %3, i64 noundef 12, ptr noundef nonnull %87, ptr noundef nonnull %86) #12
  %9439 = icmp eq i32 %9438, -1
  br i1 %9439, label %9462, label %9440

9440:                                             ; preds = %9436
  %9441 = load i32, ptr %639, align 4, !tbaa !5
  %9442 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9443 = call i32 @s2n_print_stacktrace(ptr noundef %9442) #12
  %9444 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9445 = trunc nuw i8 %9444 to i1
  br i1 %9445, label %9446, label %9450

9446:                                             ; preds = %9440
  %9447 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9448 = call i32 @fileno(ptr noundef %9447) #12
  %9449 = call i32 @isatty(i32 noundef %9448) #12
  %.not1363 = icmp eq i32 %9449, 0
  br i1 %.not1363, label %9450, label %9451

9450:                                             ; preds = %9446, %9440
  br label %9451

9451:                                             ; preds = %9446, %9450
  %.str.5.sink4778 = phi ptr [ @.str.5, %9450 ], [ @.str.2, %9446 ]
  store i32 %9441, ptr %639, align 4, !tbaa !5
  %9452 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9453 = load i32, ptr @test_count, align 4, !tbaa !5
  %9454 = load i32, ptr %585, align 4, !tbaa !5
  %9455 = call ptr @s2n_strerror(i32 noundef %9454, ptr noundef nonnull @.str.4) #12
  %9456 = load i32, ptr %585, align 4, !tbaa !5
  %9457 = call ptr @s2n_strerror_debug(i32 noundef %9456, ptr noundef nonnull @.str.4) #12
  %9458 = load i32, ptr %639, align 4, !tbaa !5
  %9459 = call ptr @strerror(i32 noundef %9458) #12
  %9460 = load i32, ptr %639, align 4, !tbaa !5
  %9461 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9452, ptr noundef nonnull %.str.5.sink4778, i32 noundef %9453, ptr noundef nonnull @.str.60, ptr noundef nonnull @.str.1, i32 noundef 658, ptr noundef %9455, ptr noundef %9457, ptr noundef %9459, i32 noundef %9460) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9462:                                             ; preds = %9436
  %9463 = load i32, ptr @test_count, align 4, !tbaa !5
  %9464 = add nsw i32 %9463, 1
  store i32 %9464, ptr @test_count, align 4, !tbaa !5
  %9465 = load i32, ptr %585, align 4, !tbaa !5
  %9466 = icmp eq i32 %9465, 201326592
  br i1 %9466, label %9489, label %9467

9467:                                             ; preds = %9462
  %9468 = load i32, ptr %639, align 4, !tbaa !5
  %9469 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9470 = call i32 @s2n_print_stacktrace(ptr noundef %9469) #12
  %9471 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9472 = trunc nuw i8 %9471 to i1
  br i1 %9472, label %9473, label %9477

9473:                                             ; preds = %9467
  %9474 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9475 = call i32 @fileno(ptr noundef %9474) #12
  %9476 = call i32 @isatty(i32 noundef %9475) #12
  %.not1364 = icmp eq i32 %9476, 0
  br i1 %.not1364, label %9477, label %9478

9477:                                             ; preds = %9473, %9467
  br label %9478

9478:                                             ; preds = %9473, %9477
  %.str.5.sink4787 = phi ptr [ @.str.5, %9477 ], [ @.str.2, %9473 ]
  store i32 %9468, ptr %639, align 4, !tbaa !5
  %9479 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9480 = load i32, ptr @test_count, align 4, !tbaa !5
  %9481 = load i32, ptr %585, align 4, !tbaa !5
  %9482 = call ptr @s2n_strerror(i32 noundef %9481, ptr noundef nonnull @.str.4) #12
  %9483 = load i32, ptr %585, align 4, !tbaa !5
  %9484 = call ptr @s2n_strerror_debug(i32 noundef %9483, ptr noundef nonnull @.str.4) #12
  %9485 = load i32, ptr %639, align 4, !tbaa !5
  %9486 = call ptr @strerror(i32 noundef %9485) #12
  %9487 = load i32, ptr %639, align 4, !tbaa !5
  %9488 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9479, ptr noundef nonnull %.str.5.sink4787, i32 noundef %9480, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 658, ptr noundef %9482, ptr noundef %9484, ptr noundef %9486, i32 noundef %9487) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9489:                                             ; preds = %9462
  %9490 = add nsw i32 %9463, 2
  store i32 %9490, ptr @test_count, align 4, !tbaa !5
  %9491 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %9492 = icmp eq ptr %9491, null
  br i1 %9492, label %9493, label %9515

9493:                                             ; preds = %9489
  %9494 = load i32, ptr %639, align 4, !tbaa !5
  %9495 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9496 = call i32 @s2n_print_stacktrace(ptr noundef %9495) #12
  %9497 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9498 = trunc nuw i8 %9497 to i1
  br i1 %9498, label %9499, label %9503

9499:                                             ; preds = %9493
  %9500 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9501 = call i32 @fileno(ptr noundef %9500) #12
  %9502 = call i32 @isatty(i32 noundef %9501) #12
  %.not1527 = icmp eq i32 %9502, 0
  br i1 %.not1527, label %9503, label %9504

9503:                                             ; preds = %9499, %9493
  br label %9504

9504:                                             ; preds = %9499, %9503
  %.str.5.sink4796 = phi ptr [ @.str.5, %9503 ], [ @.str.2, %9499 ]
  store i32 %9494, ptr %639, align 4, !tbaa !5
  %9505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9506 = load i32, ptr @test_count, align 4, !tbaa !5
  %9507 = load i32, ptr %585, align 4, !tbaa !5
  %9508 = call ptr @s2n_strerror(i32 noundef %9507, ptr noundef nonnull @.str.4) #12
  %9509 = load i32, ptr %585, align 4, !tbaa !5
  %9510 = call ptr @s2n_strerror_debug(i32 noundef %9509, ptr noundef nonnull @.str.4) #12
  %9511 = load i32, ptr %639, align 4, !tbaa !5
  %9512 = call ptr @strerror(i32 noundef %9511) #12
  %9513 = load i32, ptr %639, align 4, !tbaa !5
  %9514 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9505, ptr noundef nonnull %.str.5.sink4796, i32 noundef %9506, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 658, ptr noundef %9508, ptr noundef %9510, ptr noundef %9512, i32 noundef %9513) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9515:                                             ; preds = %9489
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %9516 = load i32, ptr @test_count, align 4, !tbaa !5
  %9517 = add nsw i32 %9516, 1
  store i32 %9517, ptr @test_count, align 4, !tbaa !5
  %9518 = load i32, ptr %86, align 4, !tbaa !5
  %9519 = icmp eq i32 %9518, 2
  br i1 %9519, label %9542, label %9520

9520:                                             ; preds = %9515
  %9521 = load i32, ptr %639, align 4, !tbaa !5
  %9522 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9523 = call i32 @s2n_print_stacktrace(ptr noundef %9522) #12
  %9524 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9525 = trunc nuw i8 %9524 to i1
  br i1 %9525, label %9526, label %9530

9526:                                             ; preds = %9520
  %9527 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9528 = call i32 @fileno(ptr noundef %9527) #12
  %9529 = call i32 @isatty(i32 noundef %9528) #12
  %.not1365 = icmp eq i32 %9529, 0
  br i1 %.not1365, label %9530, label %9531

9530:                                             ; preds = %9526, %9520
  br label %9531

9531:                                             ; preds = %9526, %9530
  %.str.5.sink4805 = phi ptr [ @.str.5, %9530 ], [ @.str.2, %9526 ]
  store i32 %9521, ptr %639, align 4, !tbaa !5
  %9532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9533 = load i32, ptr @test_count, align 4, !tbaa !5
  %9534 = load i32, ptr %585, align 4, !tbaa !5
  %9535 = call ptr @s2n_strerror(i32 noundef %9534, ptr noundef nonnull @.str.4) #12
  %9536 = load i32, ptr %585, align 4, !tbaa !5
  %9537 = call ptr @s2n_strerror_debug(i32 noundef %9536, ptr noundef nonnull @.str.4) #12
  %9538 = load i32, ptr %639, align 4, !tbaa !5
  %9539 = call ptr @strerror(i32 noundef %9538) #12
  %9540 = load i32, ptr %639, align 4, !tbaa !5
  %9541 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9532, ptr noundef nonnull %.str.5.sink4805, i32 noundef %9533, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 659, ptr noundef %9535, ptr noundef %9537, ptr noundef %9539, i32 noundef %9540) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9542:                                             ; preds = %9515
  %9543 = add nsw i32 %9516, 2
  store i32 %9543, ptr @test_count, align 4, !tbaa !5
  %9544 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %7656) #12
  %9545 = icmp eq i32 %9544, 16
  br i1 %9545, label %9568, label %9546

9546:                                             ; preds = %9542
  %9547 = load i32, ptr %639, align 4, !tbaa !5
  %9548 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9549 = call i32 @s2n_print_stacktrace(ptr noundef %9548) #12
  %9550 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9551 = trunc nuw i8 %9550 to i1
  br i1 %9551, label %9552, label %9556

9552:                                             ; preds = %9546
  %9553 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9554 = call i32 @fileno(ptr noundef %9553) #12
  %9555 = call i32 @isatty(i32 noundef %9554) #12
  %.not1366 = icmp eq i32 %9555, 0
  br i1 %.not1366, label %9556, label %9557

9556:                                             ; preds = %9552, %9546
  br label %9557

9557:                                             ; preds = %9552, %9556
  %.str.5.sink4814 = phi ptr [ @.str.5, %9556 ], [ @.str.2, %9552 ]
  store i32 %9547, ptr %639, align 4, !tbaa !5
  %9558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9559 = load i32, ptr @test_count, align 4, !tbaa !5
  %9560 = load i32, ptr %585, align 4, !tbaa !5
  %9561 = call ptr @s2n_strerror(i32 noundef %9560, ptr noundef nonnull @.str.4) #12
  %9562 = load i32, ptr %585, align 4, !tbaa !5
  %9563 = call ptr @s2n_strerror_debug(i32 noundef %9562, ptr noundef nonnull @.str.4) #12
  %9564 = load i32, ptr %639, align 4, !tbaa !5
  %9565 = call ptr @strerror(i32 noundef %9564) #12
  %9566 = load i32, ptr %639, align 4, !tbaa !5
  %9567 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9558, ptr noundef nonnull %.str.5.sink4814, i32 noundef %9559, ptr noundef nonnull @.str.109, ptr noundef nonnull @.str.1, i32 noundef 659, ptr noundef %9561, ptr noundef %9563, ptr noundef %9565, i32 noundef %9566) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9568:                                             ; preds = %9542
  %9569 = load i32, ptr @test_count, align 4, !tbaa !5
  %9570 = add nsw i32 %9569, 1
  store i32 %9570, ptr @test_count, align 4, !tbaa !5
  %9571 = load i64, ptr %87, align 8, !tbaa !42
  %9572 = icmp eq i64 %9571, 0
  br i1 %9572, label %9595, label %9573

9573:                                             ; preds = %9568
  %9574 = load i32, ptr %639, align 4, !tbaa !5
  %9575 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9576 = call i32 @s2n_print_stacktrace(ptr noundef %9575) #12
  %9577 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9578 = trunc nuw i8 %9577 to i1
  br i1 %9578, label %9579, label %9583

9579:                                             ; preds = %9573
  %9580 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9581 = call i32 @fileno(ptr noundef %9580) #12
  %9582 = call i32 @isatty(i32 noundef %9581) #12
  %.not1367 = icmp eq i32 %9582, 0
  br i1 %.not1367, label %9583, label %9584

9583:                                             ; preds = %9579, %9573
  br label %9584

9584:                                             ; preds = %9579, %9583
  %.str.5.sink4823 = phi ptr [ @.str.5, %9583 ], [ @.str.2, %9579 ]
  store i32 %9574, ptr %639, align 4, !tbaa !5
  %9585 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9586 = load i32, ptr @test_count, align 4, !tbaa !5
  %9587 = load i32, ptr %585, align 4, !tbaa !5
  %9588 = call ptr @s2n_strerror(i32 noundef %9587, ptr noundef nonnull @.str.4) #12
  %9589 = load i32, ptr %585, align 4, !tbaa !5
  %9590 = call ptr @s2n_strerror_debug(i32 noundef %9589, ptr noundef nonnull @.str.4) #12
  %9591 = load i32, ptr %639, align 4, !tbaa !5
  %9592 = call ptr @strerror(i32 noundef %9591) #12
  %9593 = load i32, ptr %639, align 4, !tbaa !5
  %9594 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9585, ptr noundef nonnull %.str.5.sink4823, i32 noundef %9586, ptr noundef nonnull @.str.41, ptr noundef nonnull @.str.1, i32 noundef 660, ptr noundef %9588, ptr noundef %9590, ptr noundef %9592, i32 noundef %9593) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9595:                                             ; preds = %9568
  %9596 = add nsw i32 %9569, 2
  store i32 %9596, ptr @test_count, align 4, !tbaa !5
  %9597 = call i32 @s2n_connection_free(ptr noundef nonnull %7656) #12
  %9598 = icmp eq i32 %9597, -1
  br i1 %9598, label %9599, label %9621

9599:                                             ; preds = %9595
  %9600 = load i32, ptr %639, align 4, !tbaa !5
  %9601 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9602 = call i32 @s2n_print_stacktrace(ptr noundef %9601) #12
  %9603 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9604 = trunc nuw i8 %9603 to i1
  br i1 %9604, label %9605, label %9609

9605:                                             ; preds = %9599
  %9606 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9607 = call i32 @fileno(ptr noundef %9606) #12
  %9608 = call i32 @isatty(i32 noundef %9607) #12
  %.not1526 = icmp eq i32 %9608, 0
  br i1 %.not1526, label %9609, label %9610

9609:                                             ; preds = %9605, %9599
  br label %9610

9610:                                             ; preds = %9605, %9609
  %.str.5.sink4832 = phi ptr [ @.str.5, %9609 ], [ @.str.2, %9605 ]
  store i32 %9600, ptr %639, align 4, !tbaa !5
  %9611 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9612 = load i32, ptr @test_count, align 4, !tbaa !5
  %9613 = load i32, ptr %585, align 4, !tbaa !5
  %9614 = call ptr @s2n_strerror(i32 noundef %9613, ptr noundef nonnull @.str.4) #12
  %9615 = load i32, ptr %585, align 4, !tbaa !5
  %9616 = call ptr @s2n_strerror_debug(i32 noundef %9615, ptr noundef nonnull @.str.4) #12
  %9617 = load i32, ptr %639, align 4, !tbaa !5
  %9618 = call ptr @strerror(i32 noundef %9617) #12
  %9619 = load i32, ptr %639, align 4, !tbaa !5
  %9620 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9611, ptr noundef nonnull %.str.5.sink4832, i32 noundef %9612, ptr noundef nonnull @.str.44, ptr noundef nonnull @.str.1, i32 noundef 662, ptr noundef %9614, ptr noundef %9616, ptr noundef %9618, i32 noundef %9619) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9621:                                             ; preds = %9595
  %9622 = load i32, ptr @test_count, align 4, !tbaa !5
  %9623 = add nsw i32 %9622, 1
  store i32 %9623, ptr @test_count, align 4, !tbaa !5
  %9624 = call i32 @s2n_connection_free(ptr noundef nonnull %7736) #12
  %9625 = icmp eq i32 %9624, -1
  br i1 %9625, label %9626, label %9648

9626:                                             ; preds = %9621
  %9627 = load i32, ptr %639, align 4, !tbaa !5
  %9628 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9629 = call i32 @s2n_print_stacktrace(ptr noundef %9628) #12
  %9630 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9631 = trunc nuw i8 %9630 to i1
  br i1 %9631, label %9632, label %9636

9632:                                             ; preds = %9626
  %9633 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9634 = call i32 @fileno(ptr noundef %9633) #12
  %9635 = call i32 @isatty(i32 noundef %9634) #12
  %.not1525 = icmp eq i32 %9635, 0
  br i1 %.not1525, label %9636, label %9637

9636:                                             ; preds = %9632, %9626
  br label %9637

9637:                                             ; preds = %9632, %9636
  %.str.5.sink4841 = phi ptr [ @.str.5, %9636 ], [ @.str.2, %9632 ]
  store i32 %9627, ptr %639, align 4, !tbaa !5
  %9638 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9639 = load i32, ptr @test_count, align 4, !tbaa !5
  %9640 = load i32, ptr %585, align 4, !tbaa !5
  %9641 = call ptr @s2n_strerror(i32 noundef %9640, ptr noundef nonnull @.str.4) #12
  %9642 = load i32, ptr %585, align 4, !tbaa !5
  %9643 = call ptr @s2n_strerror_debug(i32 noundef %9642, ptr noundef nonnull @.str.4) #12
  %9644 = load i32, ptr %639, align 4, !tbaa !5
  %9645 = call ptr @strerror(i32 noundef %9644) #12
  %9646 = load i32, ptr %639, align 4, !tbaa !5
  %9647 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9638, ptr noundef nonnull %.str.5.sink4841, i32 noundef %9639, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 663, ptr noundef %9641, ptr noundef %9643, ptr noundef %9645, i32 noundef %9646) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9648:                                             ; preds = %9621
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %87) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %86) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %85) #12
  %9649 = call i32 @s2n_stuffer_free(ptr noundef nonnull %84) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %84) #12
  %9650 = call i32 @s2n_stuffer_free(ptr noundef nonnull %83) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %83) #12
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %88) #12
  %9651 = call ptr @s2n_external_psk_new() #12
  store ptr %9651, ptr %88, align 8, !tbaa !9
  %9652 = load i32, ptr @test_count, align 4, !tbaa !5
  %9653 = add nsw i32 %9652, 1
  store i32 %9653, ptr @test_count, align 4, !tbaa !5
  %9654 = call i32 @s2n_psk_set_identity(ptr noundef %9651, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %9655 = icmp eq i32 %9654, -1
  br i1 %9655, label %9656, label %9678

9656:                                             ; preds = %9648
  %9657 = load i32, ptr %639, align 4, !tbaa !5
  %9658 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9659 = call i32 @s2n_print_stacktrace(ptr noundef %9658) #12
  %9660 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9661 = trunc nuw i8 %9660 to i1
  br i1 %9661, label %9662, label %9666

9662:                                             ; preds = %9656
  %9663 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9664 = call i32 @fileno(ptr noundef %9663) #12
  %9665 = call i32 @isatty(i32 noundef %9664) #12
  %.not1524 = icmp eq i32 %9665, 0
  br i1 %.not1524, label %9666, label %9667

9666:                                             ; preds = %9662, %9656
  br label %9667

9667:                                             ; preds = %9662, %9666
  %.str.5.sink4850 = phi ptr [ @.str.5, %9666 ], [ @.str.2, %9662 ]
  store i32 %9657, ptr %639, align 4, !tbaa !5
  %9668 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9669 = load i32, ptr @test_count, align 4, !tbaa !5
  %9670 = load i32, ptr %585, align 4, !tbaa !5
  %9671 = call ptr @s2n_strerror(i32 noundef %9670, ptr noundef nonnull @.str.4) #12
  %9672 = load i32, ptr %585, align 4, !tbaa !5
  %9673 = call ptr @s2n_strerror_debug(i32 noundef %9672, ptr noundef nonnull @.str.4) #12
  %9674 = load i32, ptr %639, align 4, !tbaa !5
  %9675 = call ptr @strerror(i32 noundef %9674) #12
  %9676 = load i32, ptr %639, align 4, !tbaa !5
  %9677 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9668, ptr noundef nonnull %.str.5.sink4850, i32 noundef %9669, ptr noundef nonnull @.str.110, ptr noundef nonnull @.str.1, i32 noundef 674, ptr noundef %9671, ptr noundef %9673, ptr noundef %9675, i32 noundef %9676) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9678:                                             ; preds = %9648
  %9679 = load i32, ptr @test_count, align 4, !tbaa !5
  %9680 = add nsw i32 %9679, 1
  store i32 %9680, ptr @test_count, align 4, !tbaa !5
  %9681 = load ptr, ptr %88, align 8, !tbaa !9
  %9682 = call i32 @s2n_psk_set_secret(ptr noundef %9681, ptr noundef nonnull %3, i16 noundef zeroext 12) #12
  %9683 = icmp eq i32 %9682, -1
  br i1 %9683, label %9684, label %9706

9684:                                             ; preds = %9678
  %9685 = load i32, ptr %639, align 4, !tbaa !5
  %9686 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9687 = call i32 @s2n_print_stacktrace(ptr noundef %9686) #12
  %9688 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9689 = trunc nuw i8 %9688 to i1
  br i1 %9689, label %9690, label %9694

9690:                                             ; preds = %9684
  %9691 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9692 = call i32 @fileno(ptr noundef %9691) #12
  %9693 = call i32 @isatty(i32 noundef %9692) #12
  %.not1523 = icmp eq i32 %9693, 0
  br i1 %.not1523, label %9694, label %9695

9694:                                             ; preds = %9690, %9684
  br label %9695

9695:                                             ; preds = %9690, %9694
  %.str.5.sink4859 = phi ptr [ @.str.5, %9694 ], [ @.str.2, %9690 ]
  store i32 %9685, ptr %639, align 4, !tbaa !5
  %9696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9697 = load i32, ptr @test_count, align 4, !tbaa !5
  %9698 = load i32, ptr %585, align 4, !tbaa !5
  %9699 = call ptr @s2n_strerror(i32 noundef %9698, ptr noundef nonnull @.str.4) #12
  %9700 = load i32, ptr %585, align 4, !tbaa !5
  %9701 = call ptr @s2n_strerror_debug(i32 noundef %9700, ptr noundef nonnull @.str.4) #12
  %9702 = load i32, ptr %639, align 4, !tbaa !5
  %9703 = call ptr @strerror(i32 noundef %9702) #12
  %9704 = load i32, ptr %639, align 4, !tbaa !5
  %9705 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9696, ptr noundef nonnull %.str.5.sink4859, i32 noundef %9697, ptr noundef nonnull @.str.111, ptr noundef nonnull @.str.1, i32 noundef 675, ptr noundef %9699, ptr noundef %9701, ptr noundef %9703, i32 noundef %9704) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9706:                                             ; preds = %9678
  %9707 = load i32, ptr @test_count, align 4, !tbaa !5
  %9708 = add nsw i32 %9707, 1
  store i32 %9708, ptr @test_count, align 4, !tbaa !5
  %9709 = load ptr, ptr %88, align 8, !tbaa !9
  %9710 = call i32 @s2n_psk_configure_early_data(ptr noundef %9709, i32 noundef 65535, i8 noundef zeroext 19, i8 noundef zeroext 1) #12
  %9711 = icmp eq i32 %9710, -1
  br i1 %9711, label %9712, label %9734

9712:                                             ; preds = %9706
  %9713 = load i32, ptr %639, align 4, !tbaa !5
  %9714 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9715 = call i32 @s2n_print_stacktrace(ptr noundef %9714) #12
  %9716 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9717 = trunc nuw i8 %9716 to i1
  br i1 %9717, label %9718, label %9722

9718:                                             ; preds = %9712
  %9719 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9720 = call i32 @fileno(ptr noundef %9719) #12
  %9721 = call i32 @isatty(i32 noundef %9720) #12
  %.not1522 = icmp eq i32 %9721, 0
  br i1 %.not1522, label %9722, label %9723

9722:                                             ; preds = %9718, %9712
  br label %9723

9723:                                             ; preds = %9718, %9722
  %.str.5.sink4868 = phi ptr [ @.str.5, %9722 ], [ @.str.2, %9718 ]
  store i32 %9713, ptr %639, align 4, !tbaa !5
  %9724 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9725 = load i32, ptr @test_count, align 4, !tbaa !5
  %9726 = load i32, ptr %585, align 4, !tbaa !5
  %9727 = call ptr @s2n_strerror(i32 noundef %9726, ptr noundef nonnull @.str.4) #12
  %9728 = load i32, ptr %585, align 4, !tbaa !5
  %9729 = call ptr @s2n_strerror_debug(i32 noundef %9728, ptr noundef nonnull @.str.4) #12
  %9730 = load i32, ptr %639, align 4, !tbaa !5
  %9731 = call ptr @strerror(i32 noundef %9730) #12
  %9732 = load i32, ptr %639, align 4, !tbaa !5
  %9733 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9724, ptr noundef nonnull %.str.5.sink4868, i32 noundef %9725, ptr noundef nonnull @.str.112, ptr noundef nonnull @.str.1, i32 noundef 676, ptr noundef %9727, ptr noundef %9729, ptr noundef %9731, i32 noundef %9732) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9734:                                             ; preds = %9706
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %89) #12
  %9735 = call ptr @s2n_connection_new(i32 noundef 1) #12
  store ptr %9735, ptr %89, align 8, !tbaa !9
  %9736 = load i32, ptr @test_count, align 4, !tbaa !5
  %9737 = add nsw i32 %9736, 1
  store i32 %9737, ptr @test_count, align 4, !tbaa !5
  %9738 = icmp eq ptr %9735, null
  br i1 %9738, label %9739, label %9761

9739:                                             ; preds = %9734
  %9740 = load i32, ptr %639, align 4, !tbaa !5
  %9741 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9742 = call i32 @s2n_print_stacktrace(ptr noundef %9741) #12
  %9743 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9744 = trunc nuw i8 %9743 to i1
  br i1 %9744, label %9745, label %9749

9745:                                             ; preds = %9739
  %9746 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9747 = call i32 @fileno(ptr noundef %9746) #12
  %9748 = call i32 @isatty(i32 noundef %9747) #12
  %.not1521 = icmp eq i32 %9748, 0
  br i1 %.not1521, label %9749, label %9750

9749:                                             ; preds = %9745, %9739
  br label %9750

9750:                                             ; preds = %9745, %9749
  %.str.5.sink4877 = phi ptr [ @.str.5, %9749 ], [ @.str.2, %9745 ]
  store i32 %9740, ptr %639, align 4, !tbaa !5
  %9751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9752 = load i32, ptr @test_count, align 4, !tbaa !5
  %9753 = load i32, ptr %585, align 4, !tbaa !5
  %9754 = call ptr @s2n_strerror(i32 noundef %9753, ptr noundef nonnull @.str.4) #12
  %9755 = load i32, ptr %585, align 4, !tbaa !5
  %9756 = call ptr @s2n_strerror_debug(i32 noundef %9755, ptr noundef nonnull @.str.4) #12
  %9757 = load i32, ptr %639, align 4, !tbaa !5
  %9758 = call ptr @strerror(i32 noundef %9757) #12
  %9759 = load i32, ptr %639, align 4, !tbaa !5
  %9760 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9751, ptr noundef nonnull %.str.5.sink4877, i32 noundef %9752, ptr noundef nonnull @.str.30, ptr noundef nonnull @.str.1, i32 noundef 680, ptr noundef %9754, ptr noundef %9756, ptr noundef %9758, i32 noundef %9759) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9761:                                             ; preds = %9734
  %9762 = add nsw i32 %9736, 2
  store i32 %9762, ptr @test_count, align 4, !tbaa !5
  %9763 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %9735, ptr noundef nonnull @.str.31) #12
  %9764 = icmp eq i32 %9763, -1
  br i1 %9764, label %9765, label %9787

9765:                                             ; preds = %9761
  %9766 = load i32, ptr %639, align 4, !tbaa !5
  %9767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9768 = call i32 @s2n_print_stacktrace(ptr noundef %9767) #12
  %9769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9770 = trunc nuw i8 %9769 to i1
  br i1 %9770, label %9771, label %9775

9771:                                             ; preds = %9765
  %9772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9773 = call i32 @fileno(ptr noundef %9772) #12
  %9774 = call i32 @isatty(i32 noundef %9773) #12
  %.not1520 = icmp eq i32 %9774, 0
  br i1 %.not1520, label %9775, label %9776

9775:                                             ; preds = %9771, %9765
  br label %9776

9776:                                             ; preds = %9771, %9775
  %.str.5.sink4886 = phi ptr [ @.str.5, %9775 ], [ @.str.2, %9771 ]
  store i32 %9766, ptr %639, align 4, !tbaa !5
  %9777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9778 = load i32, ptr @test_count, align 4, !tbaa !5
  %9779 = load i32, ptr %585, align 4, !tbaa !5
  %9780 = call ptr @s2n_strerror(i32 noundef %9779, ptr noundef nonnull @.str.4) #12
  %9781 = load i32, ptr %585, align 4, !tbaa !5
  %9782 = call ptr @s2n_strerror_debug(i32 noundef %9781, ptr noundef nonnull @.str.4) #12
  %9783 = load i32, ptr %639, align 4, !tbaa !5
  %9784 = call ptr @strerror(i32 noundef %9783) #12
  %9785 = load i32, ptr %639, align 4, !tbaa !5
  %9786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9777, ptr noundef nonnull %.str.5.sink4886, i32 noundef %9778, ptr noundef nonnull @.str.32, ptr noundef nonnull @.str.1, i32 noundef 681, ptr noundef %9780, ptr noundef %9782, ptr noundef %9784, i32 noundef %9785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9787:                                             ; preds = %9761
  %9788 = load i32, ptr @test_count, align 4, !tbaa !5
  %9789 = add nsw i32 %9788, 1
  store i32 %9789, ptr @test_count, align 4, !tbaa !5
  %9790 = load ptr, ptr %89, align 8, !tbaa !9
  %9791 = load ptr, ptr %88, align 8, !tbaa !9
  %9792 = call i32 @s2n_connection_append_psk(ptr noundef %9790, ptr noundef %9791) #12
  %9793 = icmp eq i32 %9792, -1
  br i1 %9793, label %9794, label %9816

9794:                                             ; preds = %9787
  %9795 = load i32, ptr %639, align 4, !tbaa !5
  %9796 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9797 = call i32 @s2n_print_stacktrace(ptr noundef %9796) #12
  %9798 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9799 = trunc nuw i8 %9798 to i1
  br i1 %9799, label %9800, label %9804

9800:                                             ; preds = %9794
  %9801 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9802 = call i32 @fileno(ptr noundef %9801) #12
  %9803 = call i32 @isatty(i32 noundef %9802) #12
  %.not1519 = icmp eq i32 %9803, 0
  br i1 %.not1519, label %9804, label %9805

9804:                                             ; preds = %9800, %9794
  br label %9805

9805:                                             ; preds = %9800, %9804
  %.str.5.sink4895 = phi ptr [ @.str.5, %9804 ], [ @.str.2, %9800 ]
  store i32 %9795, ptr %639, align 4, !tbaa !5
  %9806 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9807 = load i32, ptr @test_count, align 4, !tbaa !5
  %9808 = load i32, ptr %585, align 4, !tbaa !5
  %9809 = call ptr @s2n_strerror(i32 noundef %9808, ptr noundef nonnull @.str.4) #12
  %9810 = load i32, ptr %585, align 4, !tbaa !5
  %9811 = call ptr @s2n_strerror_debug(i32 noundef %9810, ptr noundef nonnull @.str.4) #12
  %9812 = load i32, ptr %639, align 4, !tbaa !5
  %9813 = call ptr @strerror(i32 noundef %9812) #12
  %9814 = load i32, ptr %639, align 4, !tbaa !5
  %9815 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9806, ptr noundef nonnull %.str.5.sink4895, i32 noundef %9807, ptr noundef nonnull @.str.113, ptr noundef nonnull @.str.1, i32 noundef 682, ptr noundef %9809, ptr noundef %9811, ptr noundef %9813, i32 noundef %9814) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9816:                                             ; preds = %9787
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %90) #12
  %9817 = call ptr @s2n_connection_new(i32 noundef 0) #12
  store ptr %9817, ptr %90, align 8, !tbaa !9
  %9818 = load i32, ptr @test_count, align 4, !tbaa !5
  %9819 = add nsw i32 %9818, 1
  store i32 %9819, ptr @test_count, align 4, !tbaa !5
  %9820 = icmp eq ptr %9817, null
  br i1 %9820, label %9821, label %9843

9821:                                             ; preds = %9816
  %9822 = load i32, ptr %639, align 4, !tbaa !5
  %9823 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9824 = call i32 @s2n_print_stacktrace(ptr noundef %9823) #12
  %9825 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9826 = trunc nuw i8 %9825 to i1
  br i1 %9826, label %9827, label %9831

9827:                                             ; preds = %9821
  %9828 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9829 = call i32 @fileno(ptr noundef %9828) #12
  %9830 = call i32 @isatty(i32 noundef %9829) #12
  %.not1518 = icmp eq i32 %9830, 0
  br i1 %.not1518, label %9831, label %9832

9831:                                             ; preds = %9827, %9821
  br label %9832

9832:                                             ; preds = %9827, %9831
  %.str.5.sink4904 = phi ptr [ @.str.5, %9831 ], [ @.str.2, %9827 ]
  store i32 %9822, ptr %639, align 4, !tbaa !5
  %9833 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9834 = load i32, ptr @test_count, align 4, !tbaa !5
  %9835 = load i32, ptr %585, align 4, !tbaa !5
  %9836 = call ptr @s2n_strerror(i32 noundef %9835, ptr noundef nonnull @.str.4) #12
  %9837 = load i32, ptr %585, align 4, !tbaa !5
  %9838 = call ptr @s2n_strerror_debug(i32 noundef %9837, ptr noundef nonnull @.str.4) #12
  %9839 = load i32, ptr %639, align 4, !tbaa !5
  %9840 = call ptr @strerror(i32 noundef %9839) #12
  %9841 = load i32, ptr %639, align 4, !tbaa !5
  %9842 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9833, ptr noundef nonnull %.str.5.sink4904, i32 noundef %9834, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 686, ptr noundef %9836, ptr noundef %9838, ptr noundef %9840, i32 noundef %9841) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9843:                                             ; preds = %9816
  %9844 = add nsw i32 %9818, 2
  store i32 %9844, ptr @test_count, align 4, !tbaa !5
  %9845 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %9817, ptr noundef nonnull @.str.31) #12
  %9846 = icmp eq i32 %9845, -1
  br i1 %9846, label %9847, label %9869

9847:                                             ; preds = %9843
  %9848 = load i32, ptr %639, align 4, !tbaa !5
  %9849 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9850 = call i32 @s2n_print_stacktrace(ptr noundef %9849) #12
  %9851 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9852 = trunc nuw i8 %9851 to i1
  br i1 %9852, label %9853, label %9857

9853:                                             ; preds = %9847
  %9854 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9855 = call i32 @fileno(ptr noundef %9854) #12
  %9856 = call i32 @isatty(i32 noundef %9855) #12
  %.not1517 = icmp eq i32 %9856, 0
  br i1 %.not1517, label %9857, label %9858

9857:                                             ; preds = %9853, %9847
  br label %9858

9858:                                             ; preds = %9853, %9857
  %.str.5.sink4913 = phi ptr [ @.str.5, %9857 ], [ @.str.2, %9853 ]
  store i32 %9848, ptr %639, align 4, !tbaa !5
  %9859 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9860 = load i32, ptr @test_count, align 4, !tbaa !5
  %9861 = load i32, ptr %585, align 4, !tbaa !5
  %9862 = call ptr @s2n_strerror(i32 noundef %9861, ptr noundef nonnull @.str.4) #12
  %9863 = load i32, ptr %585, align 4, !tbaa !5
  %9864 = call ptr @s2n_strerror_debug(i32 noundef %9863, ptr noundef nonnull @.str.4) #12
  %9865 = load i32, ptr %639, align 4, !tbaa !5
  %9866 = call ptr @strerror(i32 noundef %9865) #12
  %9867 = load i32, ptr %639, align 4, !tbaa !5
  %9868 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9859, ptr noundef nonnull %.str.5.sink4913, i32 noundef %9860, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 687, ptr noundef %9862, ptr noundef %9864, ptr noundef %9866, i32 noundef %9867) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9869:                                             ; preds = %9843
  %9870 = load i32, ptr @test_count, align 4, !tbaa !5
  %9871 = add nsw i32 %9870, 1
  store i32 %9871, ptr @test_count, align 4, !tbaa !5
  %9872 = load ptr, ptr %90, align 8, !tbaa !9
  %9873 = load ptr, ptr %88, align 8, !tbaa !9
  %9874 = call i32 @s2n_connection_append_psk(ptr noundef %9872, ptr noundef %9873) #12
  %9875 = icmp eq i32 %9874, -1
  br i1 %9875, label %9876, label %9898

9876:                                             ; preds = %9869
  %9877 = load i32, ptr %639, align 4, !tbaa !5
  %9878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9879 = call i32 @s2n_print_stacktrace(ptr noundef %9878) #12
  %9880 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9881 = trunc nuw i8 %9880 to i1
  br i1 %9881, label %9882, label %9886

9882:                                             ; preds = %9876
  %9883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9884 = call i32 @fileno(ptr noundef %9883) #12
  %9885 = call i32 @isatty(i32 noundef %9884) #12
  %.not1516 = icmp eq i32 %9885, 0
  br i1 %.not1516, label %9886, label %9887

9886:                                             ; preds = %9882, %9876
  br label %9887

9887:                                             ; preds = %9882, %9886
  %.str.5.sink4922 = phi ptr [ @.str.5, %9886 ], [ @.str.2, %9882 ]
  store i32 %9877, ptr %639, align 4, !tbaa !5
  %9888 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9889 = load i32, ptr @test_count, align 4, !tbaa !5
  %9890 = load i32, ptr %585, align 4, !tbaa !5
  %9891 = call ptr @s2n_strerror(i32 noundef %9890, ptr noundef nonnull @.str.4) #12
  %9892 = load i32, ptr %585, align 4, !tbaa !5
  %9893 = call ptr @s2n_strerror_debug(i32 noundef %9892, ptr noundef nonnull @.str.4) #12
  %9894 = load i32, ptr %639, align 4, !tbaa !5
  %9895 = call ptr @strerror(i32 noundef %9894) #12
  %9896 = load i32, ptr %639, align 4, !tbaa !5
  %9897 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9888, ptr noundef nonnull %.str.5.sink4922, i32 noundef %9889, ptr noundef nonnull @.str.114, ptr noundef nonnull @.str.1, i32 noundef 688, ptr noundef %9891, ptr noundef %9893, ptr noundef %9895, i32 noundef %9896) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9898:                                             ; preds = %9869
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %91) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %91, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %92) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %92, i8 0, i64 40, i1 false)
  %9899 = load i32, ptr @test_count, align 4, !tbaa !5
  %9900 = add nsw i32 %9899, 1
  store i32 %9900, ptr @test_count, align 4, !tbaa !5
  %9901 = load ptr, ptr %89, align 8, !tbaa !9
  %9902 = load ptr, ptr %90, align 8, !tbaa !9
  %9903 = call i32 @s2n_test_set_blocking_stuffer_io(ptr noundef %9901, ptr noundef %9902, ptr noundef nonnull %91, ptr noundef nonnull %92)
  %9904 = call zeroext i1 @s2n_result_is_ok(i32 %9903)
  br i1 %9904, label %9927, label %9905

9905:                                             ; preds = %9898
  %9906 = load i32, ptr %639, align 4, !tbaa !5
  %9907 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9908 = call i32 @s2n_print_stacktrace(ptr noundef %9907) #12
  %9909 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9910 = trunc nuw i8 %9909 to i1
  br i1 %9910, label %9911, label %9915

9911:                                             ; preds = %9905
  %9912 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9913 = call i32 @fileno(ptr noundef %9912) #12
  %9914 = call i32 @isatty(i32 noundef %9913) #12
  %.not1368 = icmp eq i32 %9914, 0
  br i1 %.not1368, label %9915, label %9916

9915:                                             ; preds = %9911, %9905
  br label %9916

9916:                                             ; preds = %9911, %9915
  %.str.5.sink4931 = phi ptr [ @.str.5, %9915 ], [ @.str.2, %9911 ]
  store i32 %9906, ptr %639, align 4, !tbaa !5
  %9917 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9918 = load i32, ptr @test_count, align 4, !tbaa !5
  %9919 = load i32, ptr %585, align 4, !tbaa !5
  %9920 = call ptr @s2n_strerror(i32 noundef %9919, ptr noundef nonnull @.str.4) #12
  %9921 = load i32, ptr %585, align 4, !tbaa !5
  %9922 = call ptr @s2n_strerror_debug(i32 noundef %9921, ptr noundef nonnull @.str.4) #12
  %9923 = load i32, ptr %639, align 4, !tbaa !5
  %9924 = call ptr @strerror(i32 noundef %9923) #12
  %9925 = load i32, ptr %639, align 4, !tbaa !5
  %9926 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9917, ptr noundef nonnull %.str.5.sink4931, i32 noundef %9918, ptr noundef nonnull @.str.101, ptr noundef nonnull @.str.1, i32 noundef 692, ptr noundef %9920, ptr noundef %9922, ptr noundef %9924, i32 noundef %9925) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9927:                                             ; preds = %9898
  call void @llvm.lifetime.start.p0(i64 16174, ptr nonnull %93) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 16 dereferenceable(16174) %93, ptr noundef nonnull align 16 dereferenceable(16174) @__const.main.large_data, i64 16174, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %94) #12
  store i32 0, ptr %94, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %95) #12
  store i64 0, ptr %95, align 8, !tbaa !42
  %.pre = load i32, ptr @test_count, align 4, !tbaa !5
  %.pre1709 = load ptr, ptr %89, align 8, !tbaa !9
  br label %9928

9928:                                             ; preds = %10143, %9927
  %9929 = phi ptr [ %.pre1709, %9927 ], [ %10117, %10143 ]
  %9930 = phi i32 [ %.pre, %9927 ], [ %10145, %10143 ]
  %.01154 = phi i64 [ 0, %9927 ], [ %10144, %10143 ]
  store i8 1, ptr @s2n_allowed_writes, align 1, !tbaa !43
  %9931 = add nsw i32 %9930, 1
  store i32 %9931, ptr @test_count, align 4, !tbaa !5
  %9932 = call i32 @s2n_send_early_data(ptr noundef %9929, ptr noundef nonnull %93, i64 noundef 16174, ptr noundef nonnull %95, ptr noundef nonnull %94) #12
  %9933 = icmp eq i32 %9932, -1
  br i1 %9933, label %9956, label %9934

9934:                                             ; preds = %9928
  %9935 = load i32, ptr %639, align 4, !tbaa !5
  %9936 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9937 = call i32 @s2n_print_stacktrace(ptr noundef %9936) #12
  %9938 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9939 = trunc nuw i8 %9938 to i1
  br i1 %9939, label %9940, label %9944

9940:                                             ; preds = %9934
  %9941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9942 = call i32 @fileno(ptr noundef %9941) #12
  %9943 = call i32 @isatty(i32 noundef %9942) #12
  %.not1369 = icmp eq i32 %9943, 0
  br i1 %.not1369, label %9944, label %9945

9944:                                             ; preds = %9940, %9934
  br label %9945

9945:                                             ; preds = %9940, %9944
  %.str.5.sink4940 = phi ptr [ @.str.5, %9944 ], [ @.str.2, %9940 ]
  store i32 %9935, ptr %639, align 4, !tbaa !5
  %9946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9947 = load i32, ptr @test_count, align 4, !tbaa !5
  %9948 = load i32, ptr %585, align 4, !tbaa !5
  %9949 = call ptr @s2n_strerror(i32 noundef %9948, ptr noundef nonnull @.str.4) #12
  %9950 = load i32, ptr %585, align 4, !tbaa !5
  %9951 = call ptr @s2n_strerror_debug(i32 noundef %9950, ptr noundef nonnull @.str.4) #12
  %9952 = load i32, ptr %639, align 4, !tbaa !5
  %9953 = call ptr @strerror(i32 noundef %9952) #12
  %9954 = load i32, ptr %639, align 4, !tbaa !5
  %9955 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9946, ptr noundef nonnull %.str.5.sink4940, i32 noundef %9947, ptr noundef nonnull @.str.115, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %9949, ptr noundef %9951, ptr noundef %9953, i32 noundef %9954) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9956:                                             ; preds = %9928
  %9957 = load i32, ptr @test_count, align 4, !tbaa !5
  %9958 = add nsw i32 %9957, 1
  store i32 %9958, ptr @test_count, align 4, !tbaa !5
  %9959 = load i32, ptr %585, align 4, !tbaa !5
  %9960 = icmp eq i32 %9959, 201326592
  br i1 %9960, label %9983, label %9961

9961:                                             ; preds = %9956
  %9962 = load i32, ptr %639, align 4, !tbaa !5
  %9963 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9964 = call i32 @s2n_print_stacktrace(ptr noundef %9963) #12
  %9965 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9966 = trunc nuw i8 %9965 to i1
  br i1 %9966, label %9967, label %9971

9967:                                             ; preds = %9961
  %9968 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9969 = call i32 @fileno(ptr noundef %9968) #12
  %9970 = call i32 @isatty(i32 noundef %9969) #12
  %.not1370 = icmp eq i32 %9970, 0
  br i1 %.not1370, label %9971, label %9972

9971:                                             ; preds = %9967, %9961
  br label %9972

9972:                                             ; preds = %9967, %9971
  %.str.5.sink4949 = phi ptr [ @.str.5, %9971 ], [ @.str.2, %9967 ]
  store i32 %9962, ptr %639, align 4, !tbaa !5
  %9973 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9974 = load i32, ptr @test_count, align 4, !tbaa !5
  %9975 = load i32, ptr %585, align 4, !tbaa !5
  %9976 = call ptr @s2n_strerror(i32 noundef %9975, ptr noundef nonnull @.str.4) #12
  %9977 = load i32, ptr %585, align 4, !tbaa !5
  %9978 = call ptr @s2n_strerror_debug(i32 noundef %9977, ptr noundef nonnull @.str.4) #12
  %9979 = load i32, ptr %639, align 4, !tbaa !5
  %9980 = call ptr @strerror(i32 noundef %9979) #12
  %9981 = load i32, ptr %639, align 4, !tbaa !5
  %9982 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9973, ptr noundef nonnull %.str.5.sink4949, i32 noundef %9974, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %9976, ptr noundef %9978, ptr noundef %9980, i32 noundef %9981) #14
  call void @exit(i32 noundef 1) #15
  unreachable

9983:                                             ; preds = %9956
  %9984 = add nsw i32 %9957, 2
  store i32 %9984, ptr @test_count, align 4, !tbaa !5
  %9985 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %9986 = icmp eq ptr %9985, null
  br i1 %9986, label %9987, label %10009

9987:                                             ; preds = %9983
  %9988 = load i32, ptr %639, align 4, !tbaa !5
  %9989 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9990 = call i32 @s2n_print_stacktrace(ptr noundef %9989) #12
  %9991 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %9992 = trunc nuw i8 %9991 to i1
  br i1 %9992, label %9993, label %9997

9993:                                             ; preds = %9987
  %9994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %9995 = call i32 @fileno(ptr noundef %9994) #12
  %9996 = call i32 @isatty(i32 noundef %9995) #12
  %.not1515 = icmp eq i32 %9996, 0
  br i1 %.not1515, label %9997, label %9998

9997:                                             ; preds = %9993, %9987
  br label %9998

9998:                                             ; preds = %9993, %9997
  %.str.5.sink4958 = phi ptr [ @.str.5, %9997 ], [ @.str.2, %9993 ]
  store i32 %9988, ptr %639, align 4, !tbaa !5
  %9999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10000 = load i32, ptr @test_count, align 4, !tbaa !5
  %10001 = load i32, ptr %585, align 4, !tbaa !5
  %10002 = call ptr @s2n_strerror(i32 noundef %10001, ptr noundef nonnull @.str.4) #12
  %10003 = load i32, ptr %585, align 4, !tbaa !5
  %10004 = call ptr @s2n_strerror_debug(i32 noundef %10003, ptr noundef nonnull @.str.4) #12
  %10005 = load i32, ptr %639, align 4, !tbaa !5
  %10006 = call ptr @strerror(i32 noundef %10005) #12
  %10007 = load i32, ptr %639, align 4, !tbaa !5
  %10008 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %9999, ptr noundef nonnull %.str.5.sink4958, i32 noundef %10000, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 712, ptr noundef %10002, ptr noundef %10004, ptr noundef %10006, i32 noundef %10007) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10009:                                            ; preds = %9983
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %10010 = load i64, ptr %95, align 8, !tbaa !42
  %.not1371 = icmp eq i64 %10010, 0
  %10011 = load i32, ptr @test_count, align 4, !tbaa !5
  %10012 = add nsw i32 %10011, 1
  store i32 %10012, ptr @test_count, align 4, !tbaa !5
  %10013 = load i32, ptr %94, align 4, !tbaa !5
  br i1 %.not1371, label %10091, label %10014

10014:                                            ; preds = %10009
  %10015 = icmp eq i32 %10013, 1
  br i1 %10015, label %10038, label %10016

10016:                                            ; preds = %10014
  %10017 = load i32, ptr %639, align 4, !tbaa !5
  %10018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10019 = call i32 @s2n_print_stacktrace(ptr noundef %10018) #12
  %10020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10021 = trunc nuw i8 %10020 to i1
  br i1 %10021, label %10022, label %10026

10022:                                            ; preds = %10016
  %10023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10024 = call i32 @fileno(ptr noundef %10023) #12
  %10025 = call i32 @isatty(i32 noundef %10024) #12
  %.not1375 = icmp eq i32 %10025, 0
  br i1 %.not1375, label %10026, label %10027

10026:                                            ; preds = %10022, %10016
  br label %10027

10027:                                            ; preds = %10022, %10026
  %.str.5.sink4967 = phi ptr [ @.str.5, %10026 ], [ @.str.2, %10022 ]
  store i32 %10017, ptr %639, align 4, !tbaa !5
  %10028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10029 = load i32, ptr @test_count, align 4, !tbaa !5
  %10030 = load i32, ptr %585, align 4, !tbaa !5
  %10031 = call ptr @s2n_strerror(i32 noundef %10030, ptr noundef nonnull @.str.4) #12
  %10032 = load i32, ptr %585, align 4, !tbaa !5
  %10033 = call ptr @s2n_strerror_debug(i32 noundef %10032, ptr noundef nonnull @.str.4) #12
  %10034 = load i32, ptr %639, align 4, !tbaa !5
  %10035 = call ptr @strerror(i32 noundef %10034) #12
  %10036 = load i32, ptr %639, align 4, !tbaa !5
  %10037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10028, ptr noundef nonnull %.str.5.sink4967, i32 noundef %10029, ptr noundef nonnull @.str.116, ptr noundef nonnull @.str.1, i32 noundef 719, ptr noundef %10031, ptr noundef %10033, ptr noundef %10035, i32 noundef %10036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10038:                                            ; preds = %10014
  %10039 = add nsw i32 %10011, 2
  store i32 %10039, ptr @test_count, align 4, !tbaa !5
  %10040 = icmp eq i64 %10010, 8087
  br i1 %10040, label %10063, label %10041

10041:                                            ; preds = %10038
  %10042 = load i32, ptr %639, align 4, !tbaa !5
  %10043 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10044 = call i32 @s2n_print_stacktrace(ptr noundef %10043) #12
  %10045 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10046 = trunc nuw i8 %10045 to i1
  br i1 %10046, label %10047, label %10051

10047:                                            ; preds = %10041
  %10048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10049 = call i32 @fileno(ptr noundef %10048) #12
  %10050 = call i32 @isatty(i32 noundef %10049) #12
  %.not1376 = icmp eq i32 %10050, 0
  br i1 %.not1376, label %10051, label %10052

10051:                                            ; preds = %10047, %10041
  br label %10052

10052:                                            ; preds = %10047, %10051
  %.str.5.sink4976 = phi ptr [ @.str.5, %10051 ], [ @.str.2, %10047 ]
  store i32 %10042, ptr %639, align 4, !tbaa !5
  %10053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10054 = load i32, ptr @test_count, align 4, !tbaa !5
  %10055 = load i32, ptr %585, align 4, !tbaa !5
  %10056 = call ptr @s2n_strerror(i32 noundef %10055, ptr noundef nonnull @.str.4) #12
  %10057 = load i32, ptr %585, align 4, !tbaa !5
  %10058 = call ptr @s2n_strerror_debug(i32 noundef %10057, ptr noundef nonnull @.str.4) #12
  %10059 = load i32, ptr %639, align 4, !tbaa !5
  %10060 = call ptr @strerror(i32 noundef %10059) #12
  %10061 = load i32, ptr %639, align 4, !tbaa !5
  %10062 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10053, ptr noundef nonnull %.str.5.sink4976, i32 noundef %10054, ptr noundef nonnull @.str.117, ptr noundef nonnull @.str.1, i32 noundef 722, ptr noundef %10056, ptr noundef %10058, ptr noundef %10060, i32 noundef %10061) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10063:                                            ; preds = %10038
  %10064 = add nsw i32 %10011, 3
  store i32 %10064, ptr @test_count, align 4, !tbaa !5
  %10065 = load ptr, ptr %89, align 8, !tbaa !9
  %10066 = getelementptr inbounds i8, ptr %10065, i64 2256
  %10067 = load i64, ptr %10066, align 8, !tbaa !51
  %10068 = icmp eq i64 %10067, 8087
  br i1 %10068, label %10168, label %10069

10069:                                            ; preds = %10063
  %10070 = load i32, ptr %639, align 4, !tbaa !5
  %10071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10072 = call i32 @s2n_print_stacktrace(ptr noundef %10071) #12
  %10073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10074 = trunc nuw i8 %10073 to i1
  br i1 %10074, label %10075, label %10079

10075:                                            ; preds = %10069
  %10076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10077 = call i32 @fileno(ptr noundef %10076) #12
  %10078 = call i32 @isatty(i32 noundef %10077) #12
  %.not1377 = icmp eq i32 %10078, 0
  br i1 %.not1377, label %10079, label %10080

10079:                                            ; preds = %10075, %10069
  br label %10080

10080:                                            ; preds = %10075, %10079
  %.str.5.sink4985 = phi ptr [ @.str.5, %10079 ], [ @.str.2, %10075 ]
  store i32 %10070, ptr %639, align 4, !tbaa !5
  %10081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10082 = load i32, ptr @test_count, align 4, !tbaa !5
  %10083 = load i32, ptr %585, align 4, !tbaa !5
  %10084 = call ptr @s2n_strerror(i32 noundef %10083, ptr noundef nonnull @.str.4) #12
  %10085 = load i32, ptr %585, align 4, !tbaa !5
  %10086 = call ptr @s2n_strerror_debug(i32 noundef %10085, ptr noundef nonnull @.str.4) #12
  %10087 = load i32, ptr %639, align 4, !tbaa !5
  %10088 = call ptr @strerror(i32 noundef %10087) #12
  %10089 = load i32, ptr %639, align 4, !tbaa !5
  %10090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10081, ptr noundef nonnull %.str.5.sink4985, i32 noundef %10082, ptr noundef nonnull @.str.118, ptr noundef nonnull @.str.1, i32 noundef 723, ptr noundef %10084, ptr noundef %10086, ptr noundef %10088, i32 noundef %10089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10091:                                            ; preds = %10009
  %10092 = icmp eq i32 %10013, 2
  br i1 %10092, label %10115, label %10093

10093:                                            ; preds = %10091
  %10094 = load i32, ptr %639, align 4, !tbaa !5
  %10095 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10096 = call i32 @s2n_print_stacktrace(ptr noundef %10095) #12
  %10097 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10098 = trunc nuw i8 %10097 to i1
  br i1 %10098, label %10099, label %10103

10099:                                            ; preds = %10093
  %10100 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10101 = call i32 @fileno(ptr noundef %10100) #12
  %10102 = call i32 @isatty(i32 noundef %10101) #12
  %.not1372 = icmp eq i32 %10102, 0
  br i1 %.not1372, label %10103, label %10104

10103:                                            ; preds = %10099, %10093
  br label %10104

10104:                                            ; preds = %10099, %10103
  %.str.5.sink4994 = phi ptr [ @.str.5, %10103 ], [ @.str.2, %10099 ]
  store i32 %10094, ptr %639, align 4, !tbaa !5
  %10105 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10106 = load i32, ptr @test_count, align 4, !tbaa !5
  %10107 = load i32, ptr %585, align 4, !tbaa !5
  %10108 = call ptr @s2n_strerror(i32 noundef %10107, ptr noundef nonnull @.str.4) #12
  %10109 = load i32, ptr %585, align 4, !tbaa !5
  %10110 = call ptr @s2n_strerror_debug(i32 noundef %10109, ptr noundef nonnull @.str.4) #12
  %10111 = load i32, ptr %639, align 4, !tbaa !5
  %10112 = call ptr @strerror(i32 noundef %10111) #12
  %10113 = load i32, ptr %639, align 4, !tbaa !5
  %10114 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10105, ptr noundef nonnull %.str.5.sink4994, i32 noundef %10106, ptr noundef nonnull @.str.108, ptr noundef nonnull @.str.1, i32 noundef 729, ptr noundef %10108, ptr noundef %10110, ptr noundef %10112, i32 noundef %10113) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10115:                                            ; preds = %10091
  %10116 = add nsw i32 %10011, 2
  store i32 %10116, ptr @test_count, align 4, !tbaa !5
  %10117 = load ptr, ptr %89, align 8, !tbaa !9
  %10118 = getelementptr inbounds i8, ptr %10117, i64 2256
  %10119 = load i64, ptr %10118, align 8, !tbaa !51
  %10120 = icmp eq i64 %10119, 0
  br i1 %10120, label %10143, label %10121

10121:                                            ; preds = %10115
  %10122 = load i32, ptr %639, align 4, !tbaa !5
  %10123 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10124 = call i32 @s2n_print_stacktrace(ptr noundef %10123) #12
  %10125 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10126 = trunc nuw i8 %10125 to i1
  br i1 %10126, label %10127, label %10131

10127:                                            ; preds = %10121
  %10128 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10129 = call i32 @fileno(ptr noundef %10128) #12
  %10130 = call i32 @isatty(i32 noundef %10129) #12
  %.not1373 = icmp eq i32 %10130, 0
  br i1 %.not1373, label %10131, label %10132

10131:                                            ; preds = %10127, %10121
  br label %10132

10132:                                            ; preds = %10127, %10131
  %.str.5.sink5003 = phi ptr [ @.str.5, %10131 ], [ @.str.2, %10127 ]
  store i32 %10122, ptr %639, align 4, !tbaa !5
  %10133 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10134 = load i32, ptr @test_count, align 4, !tbaa !5
  %10135 = load i32, ptr %585, align 4, !tbaa !5
  %10136 = call ptr @s2n_strerror(i32 noundef %10135, ptr noundef nonnull @.str.4) #12
  %10137 = load i32, ptr %585, align 4, !tbaa !5
  %10138 = call ptr @s2n_strerror_debug(i32 noundef %10137, ptr noundef nonnull @.str.4) #12
  %10139 = load i32, ptr %639, align 4, !tbaa !5
  %10140 = call ptr @strerror(i32 noundef %10139) #12
  %10141 = load i32, ptr %639, align 4, !tbaa !5
  %10142 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10133, ptr noundef nonnull %.str.5.sink5003, i32 noundef %10134, ptr noundef nonnull @.str.119, ptr noundef nonnull @.str.1, i32 noundef 732, ptr noundef %10136, ptr noundef %10138, ptr noundef %10140, i32 noundef %10141) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10143:                                            ; preds = %10115
  %10144 = add nuw nsw i64 %.01154, 1
  %10145 = add nsw i32 %10011, 3
  store i32 %10145, ptr @test_count, align 4, !tbaa !5
  %exitcond1703.not = icmp eq i64 %10144, 100
  br i1 %exitcond1703.not, label %10146, label %9928

10146:                                            ; preds = %10143
  %10147 = load i32, ptr %639, align 4, !tbaa !5
  %10148 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10149 = call i32 @s2n_print_stacktrace(ptr noundef %10148) #12
  %10150 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10151 = trunc nuw i8 %10150 to i1
  br i1 %10151, label %10152, label %10156

10152:                                            ; preds = %10146
  %10153 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10154 = call i32 @fileno(ptr noundef %10153) #12
  %10155 = call i32 @isatty(i32 noundef %10154) #12
  %.not1374 = icmp eq i32 %10155, 0
  br i1 %.not1374, label %10156, label %10157

10156:                                            ; preds = %10152, %10146
  br label %10157

10157:                                            ; preds = %10152, %10156
  %.str.5.sink5012 = phi ptr [ @.str.5, %10156 ], [ @.str.2, %10152 ]
  store i32 %10147, ptr %639, align 4, !tbaa !5
  %10158 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10159 = load i32, ptr @test_count, align 4, !tbaa !5
  %10160 = load i32, ptr %585, align 4, !tbaa !5
  %10161 = call ptr @s2n_strerror(i32 noundef %10160, ptr noundef nonnull @.str.4) #12
  %10162 = load i32, ptr %585, align 4, !tbaa !5
  %10163 = call ptr @s2n_strerror_debug(i32 noundef %10162, ptr noundef nonnull @.str.4) #12
  %10164 = load i32, ptr %639, align 4, !tbaa !5
  %10165 = call ptr @strerror(i32 noundef %10164) #12
  %10166 = load i32, ptr %639, align 4, !tbaa !5
  %10167 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10158, ptr noundef nonnull %.str.5.sink5012, i32 noundef %10159, ptr noundef nonnull @.str.120, ptr noundef nonnull @.str.1, i32 noundef 736, ptr noundef %10161, ptr noundef %10163, ptr noundef %10165, i32 noundef %10166) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10168:                                            ; preds = %10063
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %95) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %94) #12
  call void @llvm.lifetime.end.p0(i64 16174, ptr nonnull %93) #12
  %10169 = call i32 @s2n_stuffer_free(ptr noundef nonnull %92) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %92) #12
  %10170 = call i32 @s2n_stuffer_free(ptr noundef nonnull %91) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %91) #12
  %10171 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %90) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %90) #12
  %10172 = call i32 @s2n_connection_ptr_free(ptr noundef nonnull %89) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %89) #12
  %10173 = call i32 @s2n_psk_free(ptr noundef nonnull %88) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %88) #12
  %10174 = call i32 (...) @s2n_is_evp_apis_supported() #12
  %.not1378 = icmp eq i32 %10174, 0
  br i1 %.not1378, label %14134, label %10175

10175:                                            ; preds = %10168
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %96) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %96, i8 0, i64 168, i1 false)
  %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 = call i32 @s2n_psk_init(ptr noundef nonnull %96, i32 noundef 0) #12
  %10179 = call zeroext i1 @s2n_result_is_ok(i32 %10178)
  br i1 %10179, label %10202, label %10180

10180:                                            ; preds = %10175
  %10181 = load i32, ptr %639, align 4, !tbaa !5
  %10182 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10183 = call i32 @s2n_print_stacktrace(ptr noundef %10182) #12
  %10184 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10185 = trunc nuw i8 %10184 to i1
  br i1 %10185, label %10186, label %10190

10186:                                            ; preds = %10180
  %10187 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10188 = call i32 @fileno(ptr noundef %10187) #12
  %10189 = call i32 @isatty(i32 noundef %10188) #12
  %.not1379 = icmp eq i32 %10189, 0
  br i1 %.not1379, label %10190, label %10191

10190:                                            ; preds = %10186, %10180
  br label %10191

10191:                                            ; preds = %10186, %10190
  %.str.5.sink5021 = phi ptr [ @.str.5, %10190 ], [ @.str.2, %10186 ]
  store i32 %10181, ptr %639, align 4, !tbaa !5
  %10192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10193 = load i32, ptr @test_count, align 4, !tbaa !5
  %10194 = load i32, ptr %585, align 4, !tbaa !5
  %10195 = call ptr @s2n_strerror(i32 noundef %10194, ptr noundef nonnull @.str.4) #12
  %10196 = load i32, ptr %585, align 4, !tbaa !5
  %10197 = call ptr @s2n_strerror_debug(i32 noundef %10196, ptr noundef nonnull @.str.4) #12
  %10198 = load i32, ptr %639, align 4, !tbaa !5
  %10199 = call ptr @strerror(i32 noundef %10198) #12
  %10200 = load i32, ptr %639, align 4, !tbaa !5
  %10201 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10192, ptr noundef nonnull %.str.5.sink5021, i32 noundef %10193, ptr noundef nonnull @.str.121, ptr noundef nonnull @.str.1, i32 noundef 745, ptr noundef %10195, ptr noundef %10197, ptr noundef %10199, i32 noundef %10200) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10202:                                            ; preds = %10175
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %97) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %97, i8 0, i64 24, i1 false)
  %10203 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %97, ptr noundef nonnull @.str.122) #12
  %10204 = call zeroext i1 @s2n_result_is_ok(i32 %10203)
  br i1 %10204, label %10205, label %14131

10205:                                            ; preds = %10202
  %10206 = load i32, ptr @test_count, align 4, !tbaa !5
  %10207 = add nsw i32 %10206, 1
  store i32 %10207, ptr @test_count, align 4, !tbaa !5
  %10208 = load ptr, ptr %97, align 8, !tbaa !52
  %10209 = getelementptr inbounds i8, ptr %97, i64 8
  %10210 = load i32, ptr %10209, align 8, !tbaa !53
  %10211 = trunc i32 %10210 to i16
  %10212 = call i32 @s2n_psk_set_secret(ptr noundef nonnull %96, ptr noundef %10208, i16 noundef zeroext %10211) #12
  %10213 = icmp eq i32 %10212, -1
  br i1 %10213, label %10214, label %10236

10214:                                            ; preds = %10205
  %10215 = load i32, ptr %639, align 4, !tbaa !5
  %10216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10217 = call i32 @s2n_print_stacktrace(ptr noundef %10216) #12
  %10218 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10219 = trunc nuw i8 %10218 to i1
  br i1 %10219, label %10220, label %10224

10220:                                            ; preds = %10214
  %10221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10222 = call i32 @fileno(ptr noundef %10221) #12
  %10223 = call i32 @isatty(i32 noundef %10222) #12
  %.not1514 = icmp eq i32 %10223, 0
  br i1 %.not1514, label %10224, label %10225

10224:                                            ; preds = %10220, %10214
  br label %10225

10225:                                            ; preds = %10220, %10224
  %.str.5.sink5030 = phi ptr [ @.str.5, %10224 ], [ @.str.2, %10220 ]
  store i32 %10215, ptr %639, align 4, !tbaa !5
  %10226 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10227 = load i32, ptr @test_count, align 4, !tbaa !5
  %10228 = load i32, ptr %585, align 4, !tbaa !5
  %10229 = call ptr @s2n_strerror(i32 noundef %10228, ptr noundef nonnull @.str.4) #12
  %10230 = load i32, ptr %585, align 4, !tbaa !5
  %10231 = call ptr @s2n_strerror_debug(i32 noundef %10230, ptr noundef nonnull @.str.4) #12
  %10232 = load i32, ptr %639, align 4, !tbaa !5
  %10233 = call ptr @strerror(i32 noundef %10232) #12
  %10234 = load i32, ptr %639, align 4, !tbaa !5
  %10235 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10226, ptr noundef nonnull %.str.5.sink5030, i32 noundef %10227, ptr noundef nonnull @.str.123, ptr noundef nonnull @.str.1, i32 noundef 767, ptr noundef %10229, ptr noundef %10231, ptr noundef %10233, i32 noundef %10234) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10236:                                            ; preds = %10205
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %98) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %98, i8 0, i64 24, i1 false)
  %10237 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %98, ptr noundef nonnull @.str.124) #12
  %10238 = call zeroext i1 @s2n_result_is_ok(i32 %10237)
  br i1 %10238, label %10239, label %14129

10239:                                            ; preds = %10236
  %10240 = load i32, ptr @test_count, align 4, !tbaa !5
  %10241 = add nsw i32 %10240, 1
  store i32 %10241, ptr @test_count, align 4, !tbaa !5
  %10242 = load ptr, ptr %98, align 8, !tbaa !52
  %10243 = getelementptr inbounds i8, ptr %98, i64 8
  %10244 = load i32, ptr %10243, align 8, !tbaa !53
  %10245 = trunc i32 %10244 to i16
  %10246 = call i32 @s2n_psk_set_identity(ptr noundef nonnull %96, ptr noundef %10242, i16 noundef zeroext %10245) #12
  %10247 = icmp eq i32 %10246, -1
  br i1 %10247, label %10248, label %10270

10248:                                            ; preds = %10239
  %10249 = load i32, ptr %639, align 4, !tbaa !5
  %10250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10251 = call i32 @s2n_print_stacktrace(ptr noundef %10250) #12
  %10252 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10253 = trunc nuw i8 %10252 to i1
  br i1 %10253, label %10254, label %10258

10254:                                            ; preds = %10248
  %10255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10256 = call i32 @fileno(ptr noundef %10255) #12
  %10257 = call i32 @isatty(i32 noundef %10256) #12
  %.not1513 = icmp eq i32 %10257, 0
  br i1 %.not1513, label %10258, label %10259

10258:                                            ; preds = %10254, %10248
  br label %10259

10259:                                            ; preds = %10254, %10258
  %.str.5.sink5039 = phi ptr [ @.str.5, %10258 ], [ @.str.2, %10254 ]
  store i32 %10249, ptr %639, align 4, !tbaa !5
  %10260 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10261 = load i32, ptr @test_count, align 4, !tbaa !5
  %10262 = load i32, ptr %585, align 4, !tbaa !5
  %10263 = call ptr @s2n_strerror(i32 noundef %10262, ptr noundef nonnull @.str.4) #12
  %10264 = load i32, ptr %585, align 4, !tbaa !5
  %10265 = call ptr @s2n_strerror_debug(i32 noundef %10264, ptr noundef nonnull @.str.4) #12
  %10266 = load i32, ptr %639, align 4, !tbaa !5
  %10267 = call ptr @strerror(i32 noundef %10266) #12
  %10268 = load i32, ptr %639, align 4, !tbaa !5
  %10269 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10260, ptr noundef nonnull %.str.5.sink5039, i32 noundef %10261, ptr noundef nonnull @.str.125, ptr noundef nonnull @.str.1, i32 noundef 800, ptr noundef %10263, ptr noundef %10265, ptr noundef %10267, i32 noundef %10268) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10270:                                            ; preds = %10239
  %10271 = load i32, ptr @test_count, align 4, !tbaa !5
  %10272 = add nsw i32 %10271, 1
  store i32 %10272, ptr @test_count, align 4, !tbaa !5
  %10273 = call i32 @s2n_psk_configure_early_data(ptr noundef nonnull %96, i32 noundef 1024, i8 noundef zeroext 19, i8 noundef zeroext 1) #12
  %10274 = icmp eq i32 %10273, -1
  br i1 %10274, label %10275, label %10297

10275:                                            ; preds = %10270
  %10276 = load i32, ptr %639, align 4, !tbaa !5
  %10277 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10278 = call i32 @s2n_print_stacktrace(ptr noundef %10277) #12
  %10279 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10280 = trunc nuw i8 %10279 to i1
  br i1 %10280, label %10281, label %10285

10281:                                            ; preds = %10275
  %10282 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10283 = call i32 @fileno(ptr noundef %10282) #12
  %10284 = call i32 @isatty(i32 noundef %10283) #12
  %.not1512 = icmp eq i32 %10284, 0
  br i1 %.not1512, label %10285, label %10286

10285:                                            ; preds = %10281, %10275
  br label %10286

10286:                                            ; preds = %10281, %10285
  %.str.5.sink5048 = phi ptr [ @.str.5, %10285 ], [ @.str.2, %10281 ]
  store i32 %10276, ptr %639, align 4, !tbaa !5
  %10287 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10288 = load i32, ptr @test_count, align 4, !tbaa !5
  %10289 = load i32, ptr %585, align 4, !tbaa !5
  %10290 = call ptr @s2n_strerror(i32 noundef %10289, ptr noundef nonnull @.str.4) #12
  %10291 = load i32, ptr %585, align 4, !tbaa !5
  %10292 = call ptr @s2n_strerror_debug(i32 noundef %10291, ptr noundef nonnull @.str.4) #12
  %10293 = load i32, ptr %639, align 4, !tbaa !5
  %10294 = call ptr @strerror(i32 noundef %10293) #12
  %10295 = load i32, ptr %639, align 4, !tbaa !5
  %10296 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10287, ptr noundef nonnull %.str.5.sink5048, i32 noundef %10288, ptr noundef nonnull @.str.126, ptr noundef nonnull @.str.1, i32 noundef 806, ptr noundef %10290, ptr noundef %10292, ptr noundef %10294, i32 noundef %10295) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10297:                                            ; preds = %10270
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %99) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %99, i8 0, i64 24, i1 false)
  %10298 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %99, ptr noundef nonnull @.str.127) #12
  %10299 = call zeroext i1 @s2n_result_is_ok(i32 %10298)
  br i1 %10299, label %10300, label %14127

10300:                                            ; preds = %10297
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %100) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %100, i8 0, i64 24, i1 false)
  %10301 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %100, ptr noundef nonnull @.str.128) #12
  %10302 = call zeroext i1 @s2n_result_is_ok(i32 %10301)
  br i1 %10302, label %10303, label %14125

10303:                                            ; preds = %10300
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %101) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %101, i8 0, i64 24, i1 false)
  %10304 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %101, ptr noundef nonnull @.str.129) #12
  %10305 = call zeroext i1 @s2n_result_is_ok(i32 %10304)
  br i1 %10305, label %10306, label %14123

10306:                                            ; preds = %10303
  call void @llvm.lifetime.start.p0(i64 24, ptr nonnull %102) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(24) %102, i8 0, i64 24, i1 false)
  %10307 = call i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef nonnull %102, ptr noundef nonnull @.str.130) #12
  %10308 = call zeroext i1 @s2n_result_is_ok(i32 %10307)
  br i1 %10308, label %10309, label %14121

10309:                                            ; preds = %10306
  %10310 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %10311 = load i32, ptr @test_count, align 4, !tbaa !5
  %10312 = add nsw i32 %10311, 1
  store i32 %10312, ptr @test_count, align 4, !tbaa !5
  %10313 = icmp eq ptr %10310, null
  br i1 %10313, label %10314, label %10336

10314:                                            ; preds = %10309
  %10315 = load i32, ptr %639, align 4, !tbaa !5
  %10316 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10317 = call i32 @s2n_print_stacktrace(ptr noundef %10316) #12
  %10318 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10319 = trunc nuw i8 %10318 to i1
  br i1 %10319, label %10320, label %10324

10320:                                            ; preds = %10314
  %10321 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10322 = call i32 @fileno(ptr noundef %10321) #12
  %10323 = call i32 @isatty(i32 noundef %10322) #12
  %.not1511 = icmp eq i32 %10323, 0
  br i1 %.not1511, label %10324, label %10325

10324:                                            ; preds = %10320, %10314
  br label %10325

10325:                                            ; preds = %10320, %10324
  %.str.5.sink5057 = phi ptr [ @.str.5, %10324 ], [ @.str.2, %10320 ]
  store i32 %10315, ptr %639, align 4, !tbaa !5
  %10326 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10327 = load i32, ptr @test_count, align 4, !tbaa !5
  %10328 = load i32, ptr %585, align 4, !tbaa !5
  %10329 = call ptr @s2n_strerror(i32 noundef %10328, ptr noundef nonnull @.str.4) #12
  %10330 = load i32, ptr %585, align 4, !tbaa !5
  %10331 = call ptr @s2n_strerror_debug(i32 noundef %10330, ptr noundef nonnull @.str.4) #12
  %10332 = load i32, ptr %639, align 4, !tbaa !5
  %10333 = call ptr @strerror(i32 noundef %10332) #12
  %10334 = load i32, ptr %639, align 4, !tbaa !5
  %10335 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10326, ptr noundef nonnull %.str.5.sink5057, i32 noundef %10327, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 896, ptr noundef %10329, ptr noundef %10331, ptr noundef %10333, i32 noundef %10334) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10336:                                            ; preds = %10309
  %10337 = add nsw i32 %10311, 2
  store i32 %10337, ptr @test_count, align 4, !tbaa !5
  %10338 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %10310, i32 noundef 1) #12
  %10339 = icmp eq i32 %10338, -1
  br i1 %10339, label %10340, label %10362

10340:                                            ; preds = %10336
  %10341 = load i32, ptr %639, align 4, !tbaa !5
  %10342 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10343 = call i32 @s2n_print_stacktrace(ptr noundef %10342) #12
  %10344 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10345 = trunc nuw i8 %10344 to i1
  br i1 %10345, label %10346, label %10350

10346:                                            ; preds = %10340
  %10347 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10348 = call i32 @fileno(ptr noundef %10347) #12
  %10349 = call i32 @isatty(i32 noundef %10348) #12
  %.not1510 = icmp eq i32 %10349, 0
  br i1 %.not1510, label %10350, label %10351

10350:                                            ; preds = %10346, %10340
  br label %10351

10351:                                            ; preds = %10346, %10350
  %.str.5.sink5066 = phi ptr [ @.str.5, %10350 ], [ @.str.2, %10346 ]
  store i32 %10341, ptr %639, align 4, !tbaa !5
  %10352 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10353 = load i32, ptr @test_count, align 4, !tbaa !5
  %10354 = load i32, ptr %585, align 4, !tbaa !5
  %10355 = call ptr @s2n_strerror(i32 noundef %10354, ptr noundef nonnull @.str.4) #12
  %10356 = load i32, ptr %585, align 4, !tbaa !5
  %10357 = call ptr @s2n_strerror_debug(i32 noundef %10356, ptr noundef nonnull @.str.4) #12
  %10358 = load i32, ptr %639, align 4, !tbaa !5
  %10359 = call ptr @strerror(i32 noundef %10358) #12
  %10360 = load i32, ptr %639, align 4, !tbaa !5
  %10361 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10352, ptr noundef nonnull %.str.5.sink5066, i32 noundef %10353, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 897, ptr noundef %10355, ptr noundef %10357, ptr noundef %10359, i32 noundef %10360) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10362:                                            ; preds = %10336
  %10363 = load i32, ptr @test_count, align 4, !tbaa !5
  %10364 = add nsw i32 %10363, 1
  store i32 %10364, ptr @test_count, align 4, !tbaa !5
  %10365 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %10310, ptr noundef nonnull @.str.31) #12
  %10366 = icmp eq i32 %10365, -1
  br i1 %10366, label %10367, label %10389

10367:                                            ; preds = %10362
  %10368 = load i32, ptr %639, align 4, !tbaa !5
  %10369 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10370 = call i32 @s2n_print_stacktrace(ptr noundef %10369) #12
  %10371 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10372 = trunc nuw i8 %10371 to i1
  br i1 %10372, label %10373, label %10377

10373:                                            ; preds = %10367
  %10374 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10375 = call i32 @fileno(ptr noundef %10374) #12
  %10376 = call i32 @isatty(i32 noundef %10375) #12
  %.not1509 = icmp eq i32 %10376, 0
  br i1 %.not1509, label %10377, label %10378

10377:                                            ; preds = %10373, %10367
  br label %10378

10378:                                            ; preds = %10373, %10377
  %.str.5.sink5075 = phi ptr [ @.str.5, %10377 ], [ @.str.2, %10373 ]
  store i32 %10368, ptr %639, align 4, !tbaa !5
  %10379 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10380 = load i32, ptr @test_count, align 4, !tbaa !5
  %10381 = load i32, ptr %585, align 4, !tbaa !5
  %10382 = call ptr @s2n_strerror(i32 noundef %10381, ptr noundef nonnull @.str.4) #12
  %10383 = load i32, ptr %585, align 4, !tbaa !5
  %10384 = call ptr @s2n_strerror_debug(i32 noundef %10383, ptr noundef nonnull @.str.4) #12
  %10385 = load i32, ptr %639, align 4, !tbaa !5
  %10386 = call ptr @strerror(i32 noundef %10385) #12
  %10387 = load i32, ptr %639, align 4, !tbaa !5
  %10388 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10379, ptr noundef nonnull %.str.5.sink5075, i32 noundef %10380, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 898, ptr noundef %10382, ptr noundef %10384, ptr noundef %10386, i32 noundef %10387) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10389:                                            ; preds = %10362
  %10390 = load i32, ptr @test_count, align 4, !tbaa !5
  %10391 = add nsw i32 %10390, 1
  store i32 %10391, ptr @test_count, align 4, !tbaa !5
  %10392 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10310, ptr noundef nonnull %96) #12
  %10393 = icmp eq i32 %10392, -1
  br i1 %10393, label %10394, label %10416

10394:                                            ; preds = %10389
  %10395 = load i32, ptr %639, align 4, !tbaa !5
  %10396 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10397 = call i32 @s2n_print_stacktrace(ptr noundef %10396) #12
  %10398 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10399 = trunc nuw i8 %10398 to i1
  br i1 %10399, label %10400, label %10404

10400:                                            ; preds = %10394
  %10401 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10402 = call i32 @fileno(ptr noundef %10401) #12
  %10403 = call i32 @isatty(i32 noundef %10402) #12
  %.not1508 = icmp eq i32 %10403, 0
  br i1 %.not1508, label %10404, label %10405

10404:                                            ; preds = %10400, %10394
  br label %10405

10405:                                            ; preds = %10400, %10404
  %.str.5.sink5084 = phi ptr [ @.str.5, %10404 ], [ @.str.2, %10400 ]
  store i32 %10395, ptr %639, align 4, !tbaa !5
  %10406 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10407 = load i32, ptr @test_count, align 4, !tbaa !5
  %10408 = load i32, ptr %585, align 4, !tbaa !5
  %10409 = call ptr @s2n_strerror(i32 noundef %10408, ptr noundef nonnull @.str.4) #12
  %10410 = load i32, ptr %585, align 4, !tbaa !5
  %10411 = call ptr @s2n_strerror_debug(i32 noundef %10410, ptr noundef nonnull @.str.4) #12
  %10412 = load i32, ptr %639, align 4, !tbaa !5
  %10413 = call ptr @strerror(i32 noundef %10412) #12
  %10414 = load i32, ptr %639, align 4, !tbaa !5
  %10415 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10406, ptr noundef nonnull %.str.5.sink5084, i32 noundef %10407, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 899, ptr noundef %10409, ptr noundef %10411, ptr noundef %10413, i32 noundef %10414) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10416:                                            ; preds = %10389
  %10417 = load i32, ptr @test_count, align 4, !tbaa !5
  %10418 = add nsw i32 %10417, 1
  store i32 %10418, ptr @test_count, align 4, !tbaa !5
  %10419 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %10310, i32 noundef 1024) #12
  %10420 = icmp eq i32 %10419, -1
  br i1 %10420, label %10421, label %10443

10421:                                            ; preds = %10416
  %10422 = load i32, ptr %639, align 4, !tbaa !5
  %10423 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10424 = call i32 @s2n_print_stacktrace(ptr noundef %10423) #12
  %10425 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10426 = trunc nuw i8 %10425 to i1
  br i1 %10426, label %10427, label %10431

10427:                                            ; preds = %10421
  %10428 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10429 = call i32 @fileno(ptr noundef %10428) #12
  %10430 = call i32 @isatty(i32 noundef %10429) #12
  %.not1507 = icmp eq i32 %10430, 0
  br i1 %.not1507, label %10431, label %10432

10431:                                            ; preds = %10427, %10421
  br label %10432

10432:                                            ; preds = %10427, %10431
  %.str.5.sink5093 = phi ptr [ @.str.5, %10431 ], [ @.str.2, %10427 ]
  store i32 %10422, ptr %639, align 4, !tbaa !5
  %10433 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10434 = load i32, ptr @test_count, align 4, !tbaa !5
  %10435 = load i32, ptr %585, align 4, !tbaa !5
  %10436 = call ptr @s2n_strerror(i32 noundef %10435, ptr noundef nonnull @.str.4) #12
  %10437 = load i32, ptr %585, align 4, !tbaa !5
  %10438 = call ptr @s2n_strerror_debug(i32 noundef %10437, ptr noundef nonnull @.str.4) #12
  %10439 = load i32, ptr %639, align 4, !tbaa !5
  %10440 = call ptr @strerror(i32 noundef %10439) #12
  %10441 = load i32, ptr %639, align 4, !tbaa !5
  %10442 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10433, ptr noundef nonnull %.str.5.sink5093, i32 noundef %10434, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 900, ptr noundef %10436, ptr noundef %10438, ptr noundef %10440, i32 noundef %10441) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10443:                                            ; preds = %10416
  %10444 = getelementptr inbounds i8, ptr %10310, i64 1688
  store i32 1, ptr %10444, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %103) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %103, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %104) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %104, i8 0, i64 40, i1 false)
  %10445 = load i32, ptr @test_count, align 4, !tbaa !5
  %10446 = add nsw i32 %10445, 1
  store i32 %10446, ptr @test_count, align 4, !tbaa !5
  %10447 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %103, i32 noundef 8092) #12
  %10448 = icmp eq i32 %10447, -1
  br i1 %10448, label %10449, label %10471

10449:                                            ; preds = %10443
  %10450 = load i32, ptr %639, align 4, !tbaa !5
  %10451 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10452 = call i32 @s2n_print_stacktrace(ptr noundef %10451) #12
  %10453 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10454 = trunc nuw i8 %10453 to i1
  br i1 %10454, label %10455, label %10459

10455:                                            ; preds = %10449
  %10456 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10457 = call i32 @fileno(ptr noundef %10456) #12
  %10458 = call i32 @isatty(i32 noundef %10457) #12
  %.not1506 = icmp eq i32 %10458, 0
  br i1 %.not1506, label %10459, label %10460

10459:                                            ; preds = %10455, %10449
  br label %10460

10460:                                            ; preds = %10455, %10459
  %.str.5.sink5102 = phi ptr [ @.str.5, %10459 ], [ @.str.2, %10455 ]
  store i32 %10450, ptr %639, align 4, !tbaa !5
  %10461 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10462 = load i32, ptr @test_count, align 4, !tbaa !5
  %10463 = load i32, ptr %585, align 4, !tbaa !5
  %10464 = call ptr @s2n_strerror(i32 noundef %10463, ptr noundef nonnull @.str.4) #12
  %10465 = load i32, ptr %585, align 4, !tbaa !5
  %10466 = call ptr @s2n_strerror_debug(i32 noundef %10465, ptr noundef nonnull @.str.4) #12
  %10467 = load i32, ptr %639, align 4, !tbaa !5
  %10468 = call ptr @strerror(i32 noundef %10467) #12
  %10469 = load i32, ptr %639, align 4, !tbaa !5
  %10470 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10461, ptr noundef nonnull %.str.5.sink5102, i32 noundef %10462, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 908, ptr noundef %10464, ptr noundef %10466, ptr noundef %10468, i32 noundef %10469) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10471:                                            ; preds = %10443
  %10472 = load i32, ptr @test_count, align 4, !tbaa !5
  %10473 = add nsw i32 %10472, 1
  store i32 %10473, ptr @test_count, align 4, !tbaa !5
  %10474 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %104, i32 noundef 8092) #12
  %10475 = icmp eq i32 %10474, -1
  br i1 %10475, label %10476, label %10498

10476:                                            ; preds = %10471
  %10477 = load i32, ptr %639, align 4, !tbaa !5
  %10478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10479 = call i32 @s2n_print_stacktrace(ptr noundef %10478) #12
  %10480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10481 = trunc nuw i8 %10480 to i1
  br i1 %10481, label %10482, label %10486

10482:                                            ; preds = %10476
  %10483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10484 = call i32 @fileno(ptr noundef %10483) #12
  %10485 = call i32 @isatty(i32 noundef %10484) #12
  %.not1505 = icmp eq i32 %10485, 0
  br i1 %.not1505, label %10486, label %10487

10486:                                            ; preds = %10482, %10476
  br label %10487

10487:                                            ; preds = %10482, %10486
  %.str.5.sink5111 = phi ptr [ @.str.5, %10486 ], [ @.str.2, %10482 ]
  store i32 %10477, ptr %639, align 4, !tbaa !5
  %10488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10489 = load i32, ptr @test_count, align 4, !tbaa !5
  %10490 = load i32, ptr %585, align 4, !tbaa !5
  %10491 = call ptr @s2n_strerror(i32 noundef %10490, ptr noundef nonnull @.str.4) #12
  %10492 = load i32, ptr %585, align 4, !tbaa !5
  %10493 = call ptr @s2n_strerror_debug(i32 noundef %10492, ptr noundef nonnull @.str.4) #12
  %10494 = load i32, ptr %639, align 4, !tbaa !5
  %10495 = call ptr @strerror(i32 noundef %10494) #12
  %10496 = load i32, ptr %639, align 4, !tbaa !5
  %10497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10488, ptr noundef nonnull %.str.5.sink5111, i32 noundef %10489, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 909, ptr noundef %10491, ptr noundef %10493, ptr noundef %10495, i32 noundef %10496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10498:                                            ; preds = %10471
  %10499 = load i32, ptr @test_count, align 4, !tbaa !5
  %10500 = add nsw i32 %10499, 1
  store i32 %10500, ptr @test_count, align 4, !tbaa !5
  %10501 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %103, ptr noundef nonnull %104, ptr noundef nonnull %10310) #12
  %10502 = icmp eq i32 %10501, -1
  br i1 %10502, label %10503, label %10525

10503:                                            ; preds = %10498
  %10504 = load i32, ptr %639, align 4, !tbaa !5
  %10505 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10506 = call i32 @s2n_print_stacktrace(ptr noundef %10505) #12
  %10507 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10508 = trunc nuw i8 %10507 to i1
  br i1 %10508, label %10509, label %10513

10509:                                            ; preds = %10503
  %10510 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10511 = call i32 @fileno(ptr noundef %10510) #12
  %10512 = call i32 @isatty(i32 noundef %10511) #12
  %.not1504 = icmp eq i32 %10512, 0
  br i1 %.not1504, label %10513, label %10514

10513:                                            ; preds = %10509, %10503
  br label %10514

10514:                                            ; preds = %10509, %10513
  %.str.5.sink5120 = phi ptr [ @.str.5, %10513 ], [ @.str.2, %10509 ]
  store i32 %10504, ptr %639, align 4, !tbaa !5
  %10515 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10516 = load i32, ptr @test_count, align 4, !tbaa !5
  %10517 = load i32, ptr %585, align 4, !tbaa !5
  %10518 = call ptr @s2n_strerror(i32 noundef %10517, ptr noundef nonnull @.str.4) #12
  %10519 = load i32, ptr %585, align 4, !tbaa !5
  %10520 = call ptr @s2n_strerror_debug(i32 noundef %10519, ptr noundef nonnull @.str.4) #12
  %10521 = load i32, ptr %639, align 4, !tbaa !5
  %10522 = call ptr @strerror(i32 noundef %10521) #12
  %10523 = load i32, ptr %639, align 4, !tbaa !5
  %10524 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10515, ptr noundef nonnull %.str.5.sink5120, i32 noundef %10516, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 910, ptr noundef %10518, ptr noundef %10520, ptr noundef %10522, i32 noundef %10523) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10525:                                            ; preds = %10498
  %10526 = load i32, ptr @test_count, align 4, !tbaa !5
  %10527 = add nsw i32 %10526, 1
  store i32 %10527, ptr @test_count, align 4, !tbaa !5
  %10528 = call i32 @s2n_stuffer_write(ptr noundef nonnull %103, ptr noundef nonnull %99) #12
  %10529 = icmp eq i32 %10528, -1
  br i1 %10529, label %10530, label %10552

10530:                                            ; preds = %10525
  %10531 = load i32, ptr %639, align 4, !tbaa !5
  %10532 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10533 = call i32 @s2n_print_stacktrace(ptr noundef %10532) #12
  %10534 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10535 = trunc nuw i8 %10534 to i1
  br i1 %10535, label %10536, label %10540

10536:                                            ; preds = %10530
  %10537 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10538 = call i32 @fileno(ptr noundef %10537) #12
  %10539 = call i32 @isatty(i32 noundef %10538) #12
  %.not1503 = icmp eq i32 %10539, 0
  br i1 %.not1503, label %10540, label %10541

10540:                                            ; preds = %10536, %10530
  br label %10541

10541:                                            ; preds = %10536, %10540
  %.str.5.sink5129 = phi ptr [ @.str.5, %10540 ], [ @.str.2, %10536 ]
  store i32 %10531, ptr %639, align 4, !tbaa !5
  %10542 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10543 = load i32, ptr @test_count, align 4, !tbaa !5
  %10544 = load i32, ptr %585, align 4, !tbaa !5
  %10545 = call ptr @s2n_strerror(i32 noundef %10544, ptr noundef nonnull @.str.4) #12
  %10546 = load i32, ptr %585, align 4, !tbaa !5
  %10547 = call ptr @s2n_strerror_debug(i32 noundef %10546, ptr noundef nonnull @.str.4) #12
  %10548 = load i32, ptr %639, align 4, !tbaa !5
  %10549 = call ptr @strerror(i32 noundef %10548) #12
  %10550 = load i32, ptr %639, align 4, !tbaa !5
  %10551 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10542, ptr noundef nonnull %.str.5.sink5129, i32 noundef %10543, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 912, ptr noundef %10545, ptr noundef %10547, ptr noundef %10549, i32 noundef %10550) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10552:                                            ; preds = %10525
  %10553 = load i32, ptr @test_count, align 4, !tbaa !5
  %10554 = add nsw i32 %10553, 1
  store i32 %10554, ptr @test_count, align 4, !tbaa !5
  %10555 = call i32 @s2n_stuffer_write(ptr noundef nonnull %103, ptr noundef nonnull %101) #12
  %10556 = icmp eq i32 %10555, -1
  br i1 %10556, label %10557, label %10579

10557:                                            ; preds = %10552
  %10558 = load i32, ptr %639, align 4, !tbaa !5
  %10559 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10560 = call i32 @s2n_print_stacktrace(ptr noundef %10559) #12
  %10561 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10562 = trunc nuw i8 %10561 to i1
  br i1 %10562, label %10563, label %10567

10563:                                            ; preds = %10557
  %10564 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10565 = call i32 @fileno(ptr noundef %10564) #12
  %10566 = call i32 @isatty(i32 noundef %10565) #12
  %.not1502 = icmp eq i32 %10566, 0
  br i1 %.not1502, label %10567, label %10568

10567:                                            ; preds = %10563, %10557
  br label %10568

10568:                                            ; preds = %10563, %10567
  %.str.5.sink5138 = phi ptr [ @.str.5, %10567 ], [ @.str.2, %10563 ]
  store i32 %10558, ptr %639, align 4, !tbaa !5
  %10569 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10570 = load i32, ptr @test_count, align 4, !tbaa !5
  %10571 = load i32, ptr %585, align 4, !tbaa !5
  %10572 = call ptr @s2n_strerror(i32 noundef %10571, ptr noundef nonnull @.str.4) #12
  %10573 = load i32, ptr %585, align 4, !tbaa !5
  %10574 = call ptr @s2n_strerror_debug(i32 noundef %10573, ptr noundef nonnull @.str.4) #12
  %10575 = load i32, ptr %639, align 4, !tbaa !5
  %10576 = call ptr @strerror(i32 noundef %10575) #12
  %10577 = load i32, ptr %639, align 4, !tbaa !5
  %10578 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10569, ptr noundef nonnull %.str.5.sink5138, i32 noundef %10570, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 913, ptr noundef %10572, ptr noundef %10574, ptr noundef %10576, i32 noundef %10577) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10579:                                            ; preds = %10552
  %10580 = load i32, ptr @test_count, align 4, !tbaa !5
  %10581 = add nsw i32 %10580, 1
  store i32 %10581, ptr @test_count, align 4, !tbaa !5
  %10582 = call i32 @s2n_stuffer_write(ptr noundef nonnull %103, ptr noundef nonnull %102) #12
  %10583 = icmp eq i32 %10582, -1
  br i1 %10583, label %10584, label %10606

10584:                                            ; preds = %10579
  %10585 = load i32, ptr %639, align 4, !tbaa !5
  %10586 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10587 = call i32 @s2n_print_stacktrace(ptr noundef %10586) #12
  %10588 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10589 = trunc nuw i8 %10588 to i1
  br i1 %10589, label %10590, label %10594

10590:                                            ; preds = %10584
  %10591 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10592 = call i32 @fileno(ptr noundef %10591) #12
  %10593 = call i32 @isatty(i32 noundef %10592) #12
  %.not1501 = icmp eq i32 %10593, 0
  br i1 %.not1501, label %10594, label %10595

10594:                                            ; preds = %10590, %10584
  br label %10595

10595:                                            ; preds = %10590, %10594
  %.str.5.sink5147 = phi ptr [ @.str.5, %10594 ], [ @.str.2, %10590 ]
  store i32 %10585, ptr %639, align 4, !tbaa !5
  %10596 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10597 = load i32, ptr @test_count, align 4, !tbaa !5
  %10598 = load i32, ptr %585, align 4, !tbaa !5
  %10599 = call ptr @s2n_strerror(i32 noundef %10598, ptr noundef nonnull @.str.4) #12
  %10600 = load i32, ptr %585, align 4, !tbaa !5
  %10601 = call ptr @s2n_strerror_debug(i32 noundef %10600, ptr noundef nonnull @.str.4) #12
  %10602 = load i32, ptr %639, align 4, !tbaa !5
  %10603 = call ptr @strerror(i32 noundef %10602) #12
  %10604 = load i32, ptr %639, align 4, !tbaa !5
  %10605 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10596, ptr noundef nonnull %.str.5.sink5147, i32 noundef %10597, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 914, ptr noundef %10599, ptr noundef %10601, ptr noundef %10603, i32 noundef %10604) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10606:                                            ; preds = %10579
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %105) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %105, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %106) #12
  store i32 0, ptr %106, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %107) #12
  store i64 0, ptr %107, align 8, !tbaa !42
  %10607 = load i32, ptr @test_count, align 4, !tbaa !5
  %10608 = add nsw i32 %10607, 1
  store i32 %10608, ptr @test_count, align 4, !tbaa !5
  %10609 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10310, ptr noundef nonnull %105, i64 noundef 100, ptr noundef nonnull %107, ptr noundef nonnull %106) #12
  %10610 = icmp eq i32 %10609, -1
  br i1 %10610, label %10611, label %10633

10611:                                            ; preds = %10606
  %10612 = load i32, ptr %639, align 4, !tbaa !5
  %10613 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10614 = call i32 @s2n_print_stacktrace(ptr noundef %10613) #12
  %10615 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10616 = trunc nuw i8 %10615 to i1
  br i1 %10616, label %10617, label %10621

10617:                                            ; preds = %10611
  %10618 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10619 = call i32 @fileno(ptr noundef %10618) #12
  %10620 = call i32 @isatty(i32 noundef %10619) #12
  %.not1500 = icmp eq i32 %10620, 0
  br i1 %.not1500, label %10621, label %10622

10621:                                            ; preds = %10617, %10611
  br label %10622

10622:                                            ; preds = %10617, %10621
  %.str.5.sink5156 = phi ptr [ @.str.5, %10621 ], [ @.str.2, %10617 ]
  store i32 %10612, ptr %639, align 4, !tbaa !5
  %10623 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10624 = load i32, ptr @test_count, align 4, !tbaa !5
  %10625 = load i32, ptr %585, align 4, !tbaa !5
  %10626 = call ptr @s2n_strerror(i32 noundef %10625, ptr noundef nonnull @.str.4) #12
  %10627 = load i32, ptr %585, align 4, !tbaa !5
  %10628 = call ptr @s2n_strerror_debug(i32 noundef %10627, ptr noundef nonnull @.str.4) #12
  %10629 = load i32, ptr %639, align 4, !tbaa !5
  %10630 = call ptr @strerror(i32 noundef %10629) #12
  %10631 = load i32, ptr %639, align 4, !tbaa !5
  %10632 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10623, ptr noundef nonnull %.str.5.sink5156, i32 noundef %10624, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 921, ptr noundef %10626, ptr noundef %10628, ptr noundef %10630, i32 noundef %10631) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10633:                                            ; preds = %10606
  %10634 = load i32, ptr @test_count, align 4, !tbaa !5
  %10635 = add nsw i32 %10634, 1
  store i32 %10635, ptr @test_count, align 4, !tbaa !5
  %10636 = load i32, ptr %106, align 4, !tbaa !5
  %10637 = icmp eq i32 %10636, 0
  br i1 %10637, label %10660, label %10638

10638:                                            ; preds = %10633
  %10639 = load i32, ptr %639, align 4, !tbaa !5
  %10640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10641 = call i32 @s2n_print_stacktrace(ptr noundef %10640) #12
  %10642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10643 = trunc nuw i8 %10642 to i1
  br i1 %10643, label %10644, label %10648

10644:                                            ; preds = %10638
  %10645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10646 = call i32 @fileno(ptr noundef %10645) #12
  %10647 = call i32 @isatty(i32 noundef %10646) #12
  %.not1380 = icmp eq i32 %10647, 0
  br i1 %.not1380, label %10648, label %10649

10648:                                            ; preds = %10644, %10638
  br label %10649

10649:                                            ; preds = %10644, %10648
  %.str.5.sink5165 = phi ptr [ @.str.5, %10648 ], [ @.str.2, %10644 ]
  store i32 %10639, ptr %639, align 4, !tbaa !5
  %10650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10651 = load i32, ptr @test_count, align 4, !tbaa !5
  %10652 = load i32, ptr %585, align 4, !tbaa !5
  %10653 = call ptr @s2n_strerror(i32 noundef %10652, ptr noundef nonnull @.str.4) #12
  %10654 = load i32, ptr %585, align 4, !tbaa !5
  %10655 = call ptr @s2n_strerror_debug(i32 noundef %10654, ptr noundef nonnull @.str.4) #12
  %10656 = load i32, ptr %639, align 4, !tbaa !5
  %10657 = call ptr @strerror(i32 noundef %10656) #12
  %10658 = load i32, ptr %639, align 4, !tbaa !5
  %10659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10650, ptr noundef nonnull %.str.5.sink5165, i32 noundef %10651, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 922, ptr noundef %10653, ptr noundef %10655, ptr noundef %10657, i32 noundef %10658) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10660:                                            ; preds = %10633
  %10661 = add nsw i32 %10634, 2
  store i32 %10661, ptr @test_count, align 4, !tbaa !5
  %10662 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10310) #12
  %10663 = icmp eq i32 %10662, 13
  br i1 %10663, label %10686, label %10664

10664:                                            ; preds = %10660
  %10665 = load i32, ptr %639, align 4, !tbaa !5
  %10666 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10667 = call i32 @s2n_print_stacktrace(ptr noundef %10666) #12
  %10668 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10669 = trunc nuw i8 %10668 to i1
  br i1 %10669, label %10670, label %10674

10670:                                            ; preds = %10664
  %10671 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10672 = call i32 @fileno(ptr noundef %10671) #12
  %10673 = call i32 @isatty(i32 noundef %10672) #12
  %.not1381 = icmp eq i32 %10673, 0
  br i1 %.not1381, label %10674, label %10675

10674:                                            ; preds = %10670, %10664
  br label %10675

10675:                                            ; preds = %10670, %10674
  %.str.5.sink5174 = phi ptr [ @.str.5, %10674 ], [ @.str.2, %10670 ]
  store i32 %10665, ptr %639, align 4, !tbaa !5
  %10676 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10677 = load i32, ptr @test_count, align 4, !tbaa !5
  %10678 = load i32, ptr %585, align 4, !tbaa !5
  %10679 = call ptr @s2n_strerror(i32 noundef %10678, ptr noundef nonnull @.str.4) #12
  %10680 = load i32, ptr %585, align 4, !tbaa !5
  %10681 = call ptr @s2n_strerror_debug(i32 noundef %10680, ptr noundef nonnull @.str.4) #12
  %10682 = load i32, ptr %639, align 4, !tbaa !5
  %10683 = call ptr @strerror(i32 noundef %10682) #12
  %10684 = load i32, ptr %639, align 4, !tbaa !5
  %10685 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10676, ptr noundef nonnull %.str.5.sink5174, i32 noundef %10677, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 922, ptr noundef %10679, ptr noundef %10681, ptr noundef %10683, i32 noundef %10684) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10686:                                            ; preds = %10660
  %10687 = load i32, ptr @test_count, align 4, !tbaa !5
  %10688 = add nsw i32 %10687, 1
  store i32 %10688, ptr @test_count, align 4, !tbaa !5
  %10689 = load i64, ptr %107, align 8, !tbaa !42
  %10690 = getelementptr inbounds i8, ptr %100, i64 8
  %10691 = load i32, ptr %10690, align 8, !tbaa !53
  %10692 = zext i32 %10691 to i64
  %10693 = icmp eq i64 %10689, %10692
  br i1 %10693, label %10716, label %10694

10694:                                            ; preds = %10686
  %10695 = load i32, ptr %639, align 4, !tbaa !5
  %10696 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10697 = call i32 @s2n_print_stacktrace(ptr noundef %10696) #12
  %10698 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10699 = trunc nuw i8 %10698 to i1
  br i1 %10699, label %10700, label %10704

10700:                                            ; preds = %10694
  %10701 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10702 = call i32 @fileno(ptr noundef %10701) #12
  %10703 = call i32 @isatty(i32 noundef %10702) #12
  %.not1382 = icmp eq i32 %10703, 0
  br i1 %.not1382, label %10704, label %10705

10704:                                            ; preds = %10700, %10694
  br label %10705

10705:                                            ; preds = %10700, %10704
  %.str.5.sink5183 = phi ptr [ @.str.5, %10704 ], [ @.str.2, %10700 ]
  store i32 %10695, ptr %639, align 4, !tbaa !5
  %10706 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10707 = load i32, ptr @test_count, align 4, !tbaa !5
  %10708 = load i32, ptr %585, align 4, !tbaa !5
  %10709 = call ptr @s2n_strerror(i32 noundef %10708, ptr noundef nonnull @.str.4) #12
  %10710 = load i32, ptr %585, align 4, !tbaa !5
  %10711 = call ptr @s2n_strerror_debug(i32 noundef %10710, ptr noundef nonnull @.str.4) #12
  %10712 = load i32, ptr %639, align 4, !tbaa !5
  %10713 = call ptr @strerror(i32 noundef %10712) #12
  %10714 = load i32, ptr %639, align 4, !tbaa !5
  %10715 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10706, ptr noundef nonnull %.str.5.sink5183, i32 noundef %10707, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 923, ptr noundef %10709, ptr noundef %10711, ptr noundef %10713, i32 noundef %10714) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10716:                                            ; preds = %10686
  %.not1383 = icmp eq i32 %10691, 0
  br i1 %.not1383, label %10743, label %10717

10717:                                            ; preds = %10716
  %10718 = add nsw i32 %10687, 2
  store i32 %10718, ptr @test_count, align 4, !tbaa !5
  %10719 = load ptr, ptr %100, align 8, !tbaa !52
  %bcmp1384 = call i32 @bcmp(ptr nonnull %105, ptr %10719, i64 %10689)
  %10720 = icmp eq i32 %bcmp1384, 0
  br i1 %10720, label %10743, label %10721

10721:                                            ; preds = %10717
  %10722 = load i32, ptr %639, align 4, !tbaa !5
  %10723 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10724 = call i32 @s2n_print_stacktrace(ptr noundef %10723) #12
  %10725 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10726 = trunc nuw i8 %10725 to i1
  br i1 %10726, label %10727, label %10731

10727:                                            ; preds = %10721
  %10728 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10729 = call i32 @fileno(ptr noundef %10728) #12
  %10730 = call i32 @isatty(i32 noundef %10729) #12
  %.not1385 = icmp eq i32 %10730, 0
  br i1 %.not1385, label %10731, label %10732

10731:                                            ; preds = %10727, %10721
  br label %10732

10732:                                            ; preds = %10727, %10731
  %.str.5.sink5192 = phi ptr [ @.str.5, %10731 ], [ @.str.2, %10727 ]
  store i32 %10722, ptr %639, align 4, !tbaa !5
  %10733 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10734 = load i32, ptr @test_count, align 4, !tbaa !5
  %10735 = load i32, ptr %585, align 4, !tbaa !5
  %10736 = call ptr @s2n_strerror(i32 noundef %10735, ptr noundef nonnull @.str.4) #12
  %10737 = load i32, ptr %585, align 4, !tbaa !5
  %10738 = call ptr @s2n_strerror_debug(i32 noundef %10737, ptr noundef nonnull @.str.4) #12
  %10739 = load i32, ptr %639, align 4, !tbaa !5
  %10740 = call ptr @strerror(i32 noundef %10739) #12
  %10741 = load i32, ptr %639, align 4, !tbaa !5
  %10742 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10733, ptr noundef nonnull %.str.5.sink5192, i32 noundef %10734, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 924, ptr noundef %10736, ptr noundef %10738, ptr noundef %10740, i32 noundef %10741) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10743:                                            ; preds = %10716, %10717
  %10744 = phi i32 [ %10688, %10716 ], [ %10718, %10717 ]
  %10745 = add nsw i32 %10744, 1
  store i32 %10745, ptr @test_count, align 4, !tbaa !5
  %10746 = getelementptr inbounds i8, ptr %10310, i64 4088
  %10747 = load i32, ptr %10746, align 8, !tbaa !55
  %10748 = icmp eq i32 %10747, 5
  br i1 %10748, label %10771, label %10749

10749:                                            ; preds = %10743
  %10750 = load i32, ptr %639, align 4, !tbaa !5
  %10751 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10752 = call i32 @s2n_print_stacktrace(ptr noundef %10751) #12
  %10753 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10754 = trunc nuw i8 %10753 to i1
  br i1 %10754, label %10755, label %10759

10755:                                            ; preds = %10749
  %10756 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10757 = call i32 @fileno(ptr noundef %10756) #12
  %10758 = call i32 @isatty(i32 noundef %10757) #12
  %.not1386 = icmp eq i32 %10758, 0
  br i1 %.not1386, label %10759, label %10760

10759:                                            ; preds = %10755, %10749
  br label %10760

10760:                                            ; preds = %10755, %10759
  %.str.5.sink5201 = phi ptr [ @.str.5, %10759 ], [ @.str.2, %10755 ]
  store i32 %10750, ptr %639, align 4, !tbaa !5
  %10761 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10762 = load i32, ptr @test_count, align 4, !tbaa !5
  %10763 = load i32, ptr %585, align 4, !tbaa !5
  %10764 = call ptr @s2n_strerror(i32 noundef %10763, ptr noundef nonnull @.str.4) #12
  %10765 = load i32, ptr %585, align 4, !tbaa !5
  %10766 = call ptr @s2n_strerror_debug(i32 noundef %10765, ptr noundef nonnull @.str.4) #12
  %10767 = load i32, ptr %639, align 4, !tbaa !5
  %10768 = call ptr @strerror(i32 noundef %10767) #12
  %10769 = load i32, ptr %639, align 4, !tbaa !5
  %10770 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10761, ptr noundef nonnull %.str.5.sink5201, i32 noundef %10762, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 925, ptr noundef %10764, ptr noundef %10766, ptr noundef %10768, i32 noundef %10769) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10771:                                            ; preds = %10743
  %10772 = add nsw i32 %10744, 2
  store i32 %10772, ptr @test_count, align 4, !tbaa !5
  %10773 = call i32 @s2n_stuffer_free(ptr noundef nonnull %103) #12
  %10774 = icmp eq i32 %10773, -1
  br i1 %10774, label %10775, label %10797

10775:                                            ; preds = %10771
  %10776 = load i32, ptr %639, align 4, !tbaa !5
  %10777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10778 = call i32 @s2n_print_stacktrace(ptr noundef %10777) #12
  %10779 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10780 = trunc nuw i8 %10779 to i1
  br i1 %10780, label %10781, label %10785

10781:                                            ; preds = %10775
  %10782 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10783 = call i32 @fileno(ptr noundef %10782) #12
  %10784 = call i32 @isatty(i32 noundef %10783) #12
  %.not1499 = icmp eq i32 %10784, 0
  br i1 %.not1499, label %10785, label %10786

10785:                                            ; preds = %10781, %10775
  br label %10786

10786:                                            ; preds = %10781, %10785
  %.str.5.sink5210 = phi ptr [ @.str.5, %10785 ], [ @.str.2, %10781 ]
  store i32 %10776, ptr %639, align 4, !tbaa !5
  %10787 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10788 = load i32, ptr @test_count, align 4, !tbaa !5
  %10789 = load i32, ptr %585, align 4, !tbaa !5
  %10790 = call ptr @s2n_strerror(i32 noundef %10789, ptr noundef nonnull @.str.4) #12
  %10791 = load i32, ptr %585, align 4, !tbaa !5
  %10792 = call ptr @s2n_strerror_debug(i32 noundef %10791, ptr noundef nonnull @.str.4) #12
  %10793 = load i32, ptr %639, align 4, !tbaa !5
  %10794 = call ptr @strerror(i32 noundef %10793) #12
  %10795 = load i32, ptr %639, align 4, !tbaa !5
  %10796 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10787, ptr noundef nonnull %.str.5.sink5210, i32 noundef %10788, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 927, ptr noundef %10790, ptr noundef %10792, ptr noundef %10794, i32 noundef %10795) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10797:                                            ; preds = %10771
  %10798 = load i32, ptr @test_count, align 4, !tbaa !5
  %10799 = add nsw i32 %10798, 1
  store i32 %10799, ptr @test_count, align 4, !tbaa !5
  %10800 = call i32 @s2n_stuffer_free(ptr noundef nonnull %104) #12
  %10801 = icmp eq i32 %10800, -1
  br i1 %10801, label %10802, label %10824

10802:                                            ; preds = %10797
  %10803 = load i32, ptr %639, align 4, !tbaa !5
  %10804 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10805 = call i32 @s2n_print_stacktrace(ptr noundef %10804) #12
  %10806 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10807 = trunc nuw i8 %10806 to i1
  br i1 %10807, label %10808, label %10812

10808:                                            ; preds = %10802
  %10809 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10810 = call i32 @fileno(ptr noundef %10809) #12
  %10811 = call i32 @isatty(i32 noundef %10810) #12
  %.not1498 = icmp eq i32 %10811, 0
  br i1 %.not1498, label %10812, label %10813

10812:                                            ; preds = %10808, %10802
  br label %10813

10813:                                            ; preds = %10808, %10812
  %.str.5.sink5219 = phi ptr [ @.str.5, %10812 ], [ @.str.2, %10808 ]
  store i32 %10803, ptr %639, align 4, !tbaa !5
  %10814 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10815 = load i32, ptr @test_count, align 4, !tbaa !5
  %10816 = load i32, ptr %585, align 4, !tbaa !5
  %10817 = call ptr @s2n_strerror(i32 noundef %10816, ptr noundef nonnull @.str.4) #12
  %10818 = load i32, ptr %585, align 4, !tbaa !5
  %10819 = call ptr @s2n_strerror_debug(i32 noundef %10818, ptr noundef nonnull @.str.4) #12
  %10820 = load i32, ptr %639, align 4, !tbaa !5
  %10821 = call ptr @strerror(i32 noundef %10820) #12
  %10822 = load i32, ptr %639, align 4, !tbaa !5
  %10823 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10814, ptr noundef nonnull %.str.5.sink5219, i32 noundef %10815, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 928, ptr noundef %10817, ptr noundef %10819, ptr noundef %10821, i32 noundef %10822) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10824:                                            ; preds = %10797
  %10825 = load i32, ptr @test_count, align 4, !tbaa !5
  %10826 = add nsw i32 %10825, 1
  store i32 %10826, ptr @test_count, align 4, !tbaa !5
  %10827 = call i32 @s2n_connection_free(ptr noundef nonnull %10310) #12
  %10828 = icmp eq i32 %10827, -1
  br i1 %10828, label %10829, label %10851

10829:                                            ; preds = %10824
  %10830 = load i32, ptr %639, align 4, !tbaa !5
  %10831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10832 = call i32 @s2n_print_stacktrace(ptr noundef %10831) #12
  %10833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10834 = trunc nuw i8 %10833 to i1
  br i1 %10834, label %10835, label %10839

10835:                                            ; preds = %10829
  %10836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10837 = call i32 @fileno(ptr noundef %10836) #12
  %10838 = call i32 @isatty(i32 noundef %10837) #12
  %.not1497 = icmp eq i32 %10838, 0
  br i1 %.not1497, label %10839, label %10840

10839:                                            ; preds = %10835, %10829
  br label %10840

10840:                                            ; preds = %10835, %10839
  %.str.5.sink5228 = phi ptr [ @.str.5, %10839 ], [ @.str.2, %10835 ]
  store i32 %10830, ptr %639, align 4, !tbaa !5
  %10841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10842 = load i32, ptr @test_count, align 4, !tbaa !5
  %10843 = load i32, ptr %585, align 4, !tbaa !5
  %10844 = call ptr @s2n_strerror(i32 noundef %10843, ptr noundef nonnull @.str.4) #12
  %10845 = load i32, ptr %585, align 4, !tbaa !5
  %10846 = call ptr @s2n_strerror_debug(i32 noundef %10845, ptr noundef nonnull @.str.4) #12
  %10847 = load i32, ptr %639, align 4, !tbaa !5
  %10848 = call ptr @strerror(i32 noundef %10847) #12
  %10849 = load i32, ptr %639, align 4, !tbaa !5
  %10850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10841, ptr noundef nonnull %.str.5.sink5228, i32 noundef %10842, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 929, ptr noundef %10844, ptr noundef %10846, ptr noundef %10848, i32 noundef %10849) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10851:                                            ; preds = %10824
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %107) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %106) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %105) #12
  %10852 = call i32 @s2n_stuffer_free(ptr noundef nonnull %104) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %104) #12
  %10853 = call i32 @s2n_stuffer_free(ptr noundef nonnull %103) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %103) #12
  %10854 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %10855 = load i32, ptr @test_count, align 4, !tbaa !5
  %10856 = add nsw i32 %10855, 1
  store i32 %10856, ptr @test_count, align 4, !tbaa !5
  %10857 = icmp eq ptr %10854, null
  br i1 %10857, label %10858, label %10880

10858:                                            ; preds = %10851
  %10859 = load i32, ptr %639, align 4, !tbaa !5
  %10860 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10861 = call i32 @s2n_print_stacktrace(ptr noundef %10860) #12
  %10862 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10863 = trunc nuw i8 %10862 to i1
  br i1 %10863, label %10864, label %10868

10864:                                            ; preds = %10858
  %10865 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10866 = call i32 @fileno(ptr noundef %10865) #12
  %10867 = call i32 @isatty(i32 noundef %10866) #12
  %.not1496 = icmp eq i32 %10867, 0
  br i1 %.not1496, label %10868, label %10869

10868:                                            ; preds = %10864, %10858
  br label %10869

10869:                                            ; preds = %10864, %10868
  %.str.5.sink5237 = phi ptr [ @.str.5, %10868 ], [ @.str.2, %10864 ]
  store i32 %10859, ptr %639, align 4, !tbaa !5
  %10870 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10871 = load i32, ptr @test_count, align 4, !tbaa !5
  %10872 = load i32, ptr %585, align 4, !tbaa !5
  %10873 = call ptr @s2n_strerror(i32 noundef %10872, ptr noundef nonnull @.str.4) #12
  %10874 = load i32, ptr %585, align 4, !tbaa !5
  %10875 = call ptr @s2n_strerror_debug(i32 noundef %10874, ptr noundef nonnull @.str.4) #12
  %10876 = load i32, ptr %639, align 4, !tbaa !5
  %10877 = call ptr @strerror(i32 noundef %10876) #12
  %10878 = load i32, ptr %639, align 4, !tbaa !5
  %10879 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10870, ptr noundef nonnull %.str.5.sink5237, i32 noundef %10871, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 940, ptr noundef %10873, ptr noundef %10875, ptr noundef %10877, i32 noundef %10878) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10880:                                            ; preds = %10851
  %10881 = add nsw i32 %10855, 2
  store i32 %10881, ptr @test_count, align 4, !tbaa !5
  %10882 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %10854, i32 noundef 1) #12
  %10883 = icmp eq i32 %10882, -1
  br i1 %10883, label %10884, label %10906

10884:                                            ; preds = %10880
  %10885 = load i32, ptr %639, align 4, !tbaa !5
  %10886 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10887 = call i32 @s2n_print_stacktrace(ptr noundef %10886) #12
  %10888 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10889 = trunc nuw i8 %10888 to i1
  br i1 %10889, label %10890, label %10894

10890:                                            ; preds = %10884
  %10891 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10892 = call i32 @fileno(ptr noundef %10891) #12
  %10893 = call i32 @isatty(i32 noundef %10892) #12
  %.not1495 = icmp eq i32 %10893, 0
  br i1 %.not1495, label %10894, label %10895

10894:                                            ; preds = %10890, %10884
  br label %10895

10895:                                            ; preds = %10890, %10894
  %.str.5.sink5246 = phi ptr [ @.str.5, %10894 ], [ @.str.2, %10890 ]
  store i32 %10885, ptr %639, align 4, !tbaa !5
  %10896 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10897 = load i32, ptr @test_count, align 4, !tbaa !5
  %10898 = load i32, ptr %585, align 4, !tbaa !5
  %10899 = call ptr @s2n_strerror(i32 noundef %10898, ptr noundef nonnull @.str.4) #12
  %10900 = load i32, ptr %585, align 4, !tbaa !5
  %10901 = call ptr @s2n_strerror_debug(i32 noundef %10900, ptr noundef nonnull @.str.4) #12
  %10902 = load i32, ptr %639, align 4, !tbaa !5
  %10903 = call ptr @strerror(i32 noundef %10902) #12
  %10904 = load i32, ptr %639, align 4, !tbaa !5
  %10905 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10896, ptr noundef nonnull %.str.5.sink5246, i32 noundef %10897, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 941, ptr noundef %10899, ptr noundef %10901, ptr noundef %10903, i32 noundef %10904) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10906:                                            ; preds = %10880
  %10907 = load i32, ptr @test_count, align 4, !tbaa !5
  %10908 = add nsw i32 %10907, 1
  store i32 %10908, ptr @test_count, align 4, !tbaa !5
  %10909 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %10854, ptr noundef nonnull @.str.31) #12
  %10910 = icmp eq i32 %10909, -1
  br i1 %10910, label %10911, label %10933

10911:                                            ; preds = %10906
  %10912 = load i32, ptr %639, align 4, !tbaa !5
  %10913 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10914 = call i32 @s2n_print_stacktrace(ptr noundef %10913) #12
  %10915 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10916 = trunc nuw i8 %10915 to i1
  br i1 %10916, label %10917, label %10921

10917:                                            ; preds = %10911
  %10918 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10919 = call i32 @fileno(ptr noundef %10918) #12
  %10920 = call i32 @isatty(i32 noundef %10919) #12
  %.not1494 = icmp eq i32 %10920, 0
  br i1 %.not1494, label %10921, label %10922

10921:                                            ; preds = %10917, %10911
  br label %10922

10922:                                            ; preds = %10917, %10921
  %.str.5.sink5255 = phi ptr [ @.str.5, %10921 ], [ @.str.2, %10917 ]
  store i32 %10912, ptr %639, align 4, !tbaa !5
  %10923 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10924 = load i32, ptr @test_count, align 4, !tbaa !5
  %10925 = load i32, ptr %585, align 4, !tbaa !5
  %10926 = call ptr @s2n_strerror(i32 noundef %10925, ptr noundef nonnull @.str.4) #12
  %10927 = load i32, ptr %585, align 4, !tbaa !5
  %10928 = call ptr @s2n_strerror_debug(i32 noundef %10927, ptr noundef nonnull @.str.4) #12
  %10929 = load i32, ptr %639, align 4, !tbaa !5
  %10930 = call ptr @strerror(i32 noundef %10929) #12
  %10931 = load i32, ptr %639, align 4, !tbaa !5
  %10932 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10923, ptr noundef nonnull %.str.5.sink5255, i32 noundef %10924, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 942, ptr noundef %10926, ptr noundef %10928, ptr noundef %10930, i32 noundef %10931) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10933:                                            ; preds = %10906
  %10934 = load i32, ptr @test_count, align 4, !tbaa !5
  %10935 = add nsw i32 %10934, 1
  store i32 %10935, ptr @test_count, align 4, !tbaa !5
  %10936 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %10854, ptr noundef nonnull %96) #12
  %10937 = icmp eq i32 %10936, -1
  br i1 %10937, label %10938, label %10960

10938:                                            ; preds = %10933
  %10939 = load i32, ptr %639, align 4, !tbaa !5
  %10940 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10941 = call i32 @s2n_print_stacktrace(ptr noundef %10940) #12
  %10942 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10943 = trunc nuw i8 %10942 to i1
  br i1 %10943, label %10944, label %10948

10944:                                            ; preds = %10938
  %10945 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10946 = call i32 @fileno(ptr noundef %10945) #12
  %10947 = call i32 @isatty(i32 noundef %10946) #12
  %.not1493 = icmp eq i32 %10947, 0
  br i1 %.not1493, label %10948, label %10949

10948:                                            ; preds = %10944, %10938
  br label %10949

10949:                                            ; preds = %10944, %10948
  %.str.5.sink5264 = phi ptr [ @.str.5, %10948 ], [ @.str.2, %10944 ]
  store i32 %10939, ptr %639, align 4, !tbaa !5
  %10950 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10951 = load i32, ptr @test_count, align 4, !tbaa !5
  %10952 = load i32, ptr %585, align 4, !tbaa !5
  %10953 = call ptr @s2n_strerror(i32 noundef %10952, ptr noundef nonnull @.str.4) #12
  %10954 = load i32, ptr %585, align 4, !tbaa !5
  %10955 = call ptr @s2n_strerror_debug(i32 noundef %10954, ptr noundef nonnull @.str.4) #12
  %10956 = load i32, ptr %639, align 4, !tbaa !5
  %10957 = call ptr @strerror(i32 noundef %10956) #12
  %10958 = load i32, ptr %639, align 4, !tbaa !5
  %10959 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10950, ptr noundef nonnull %.str.5.sink5264, i32 noundef %10951, ptr noundef nonnull @.str.131, ptr noundef nonnull @.str.1, i32 noundef 943, ptr noundef %10953, ptr noundef %10955, ptr noundef %10957, i32 noundef %10958) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10960:                                            ; preds = %10933
  %10961 = load i32, ptr @test_count, align 4, !tbaa !5
  %10962 = add nsw i32 %10961, 1
  store i32 %10962, ptr @test_count, align 4, !tbaa !5
  %10963 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %10854, i32 noundef 1024) #12
  %10964 = icmp eq i32 %10963, -1
  br i1 %10964, label %10965, label %10987

10965:                                            ; preds = %10960
  %10966 = load i32, ptr %639, align 4, !tbaa !5
  %10967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10968 = call i32 @s2n_print_stacktrace(ptr noundef %10967) #12
  %10969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10970 = trunc nuw i8 %10969 to i1
  br i1 %10970, label %10971, label %10975

10971:                                            ; preds = %10965
  %10972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10973 = call i32 @fileno(ptr noundef %10972) #12
  %10974 = call i32 @isatty(i32 noundef %10973) #12
  %.not1492 = icmp eq i32 %10974, 0
  br i1 %.not1492, label %10975, label %10976

10975:                                            ; preds = %10971, %10965
  br label %10976

10976:                                            ; preds = %10971, %10975
  %.str.5.sink5273 = phi ptr [ @.str.5, %10975 ], [ @.str.2, %10971 ]
  store i32 %10966, ptr %639, align 4, !tbaa !5
  %10977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10978 = load i32, ptr @test_count, align 4, !tbaa !5
  %10979 = load i32, ptr %585, align 4, !tbaa !5
  %10980 = call ptr @s2n_strerror(i32 noundef %10979, ptr noundef nonnull @.str.4) #12
  %10981 = load i32, ptr %585, align 4, !tbaa !5
  %10982 = call ptr @s2n_strerror_debug(i32 noundef %10981, ptr noundef nonnull @.str.4) #12
  %10983 = load i32, ptr %639, align 4, !tbaa !5
  %10984 = call ptr @strerror(i32 noundef %10983) #12
  %10985 = load i32, ptr %639, align 4, !tbaa !5
  %10986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %10977, ptr noundef nonnull %.str.5.sink5273, i32 noundef %10978, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 944, ptr noundef %10980, ptr noundef %10982, ptr noundef %10984, i32 noundef %10985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

10987:                                            ; preds = %10960
  %10988 = getelementptr inbounds i8, ptr %10854, i64 1688
  store i32 1, ptr %10988, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %108) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %108, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %109) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %109, i8 0, i64 40, i1 false)
  %10989 = load i32, ptr @test_count, align 4, !tbaa !5
  %10990 = add nsw i32 %10989, 1
  store i32 %10990, ptr @test_count, align 4, !tbaa !5
  %10991 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %108, i32 noundef 8092) #12
  %10992 = icmp eq i32 %10991, -1
  br i1 %10992, label %10993, label %11015

10993:                                            ; preds = %10987
  %10994 = load i32, ptr %639, align 4, !tbaa !5
  %10995 = load ptr, ptr @stderr, align 8, !tbaa !9
  %10996 = call i32 @s2n_print_stacktrace(ptr noundef %10995) #12
  %10997 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %10998 = trunc nuw i8 %10997 to i1
  br i1 %10998, label %10999, label %11003

10999:                                            ; preds = %10993
  %11000 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11001 = call i32 @fileno(ptr noundef %11000) #12
  %11002 = call i32 @isatty(i32 noundef %11001) #12
  %.not1491 = icmp eq i32 %11002, 0
  br i1 %.not1491, label %11003, label %11004

11003:                                            ; preds = %10999, %10993
  br label %11004

11004:                                            ; preds = %10999, %11003
  %.str.5.sink5282 = phi ptr [ @.str.5, %11003 ], [ @.str.2, %10999 ]
  store i32 %10994, ptr %639, align 4, !tbaa !5
  %11005 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11006 = load i32, ptr @test_count, align 4, !tbaa !5
  %11007 = load i32, ptr %585, align 4, !tbaa !5
  %11008 = call ptr @s2n_strerror(i32 noundef %11007, ptr noundef nonnull @.str.4) #12
  %11009 = load i32, ptr %585, align 4, !tbaa !5
  %11010 = call ptr @s2n_strerror_debug(i32 noundef %11009, ptr noundef nonnull @.str.4) #12
  %11011 = load i32, ptr %639, align 4, !tbaa !5
  %11012 = call ptr @strerror(i32 noundef %11011) #12
  %11013 = load i32, ptr %639, align 4, !tbaa !5
  %11014 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11005, ptr noundef nonnull %.str.5.sink5282, i32 noundef %11006, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 952, ptr noundef %11008, ptr noundef %11010, ptr noundef %11012, i32 noundef %11013) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11015:                                            ; preds = %10987
  %11016 = load i32, ptr @test_count, align 4, !tbaa !5
  %11017 = add nsw i32 %11016, 1
  store i32 %11017, ptr @test_count, align 4, !tbaa !5
  %11018 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %108, ptr noundef nonnull %109, ptr noundef nonnull %10854) #12
  %11019 = icmp eq i32 %11018, -1
  br i1 %11019, label %11020, label %11042

11020:                                            ; preds = %11015
  %11021 = load i32, ptr %639, align 4, !tbaa !5
  %11022 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11023 = call i32 @s2n_print_stacktrace(ptr noundef %11022) #12
  %11024 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11025 = trunc nuw i8 %11024 to i1
  br i1 %11025, label %11026, label %11030

11026:                                            ; preds = %11020
  %11027 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11028 = call i32 @fileno(ptr noundef %11027) #12
  %11029 = call i32 @isatty(i32 noundef %11028) #12
  %.not1490 = icmp eq i32 %11029, 0
  br i1 %.not1490, label %11030, label %11031

11030:                                            ; preds = %11026, %11020
  br label %11031

11031:                                            ; preds = %11026, %11030
  %.str.5.sink5291 = phi ptr [ @.str.5, %11030 ], [ @.str.2, %11026 ]
  store i32 %11021, ptr %639, align 4, !tbaa !5
  %11032 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11033 = load i32, ptr @test_count, align 4, !tbaa !5
  %11034 = load i32, ptr %585, align 4, !tbaa !5
  %11035 = call ptr @s2n_strerror(i32 noundef %11034, ptr noundef nonnull @.str.4) #12
  %11036 = load i32, ptr %585, align 4, !tbaa !5
  %11037 = call ptr @s2n_strerror_debug(i32 noundef %11036, ptr noundef nonnull @.str.4) #12
  %11038 = load i32, ptr %639, align 4, !tbaa !5
  %11039 = call ptr @strerror(i32 noundef %11038) #12
  %11040 = load i32, ptr %639, align 4, !tbaa !5
  %11041 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11032, ptr noundef nonnull %.str.5.sink5291, i32 noundef %11033, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 953, ptr noundef %11035, ptr noundef %11037, ptr noundef %11039, i32 noundef %11040) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11042:                                            ; preds = %11015
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %110) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %110, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %111) #12
  store i32 0, ptr %111, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %112) #12
  store i64 0, ptr %112, align 8, !tbaa !42
  %11043 = load i32, ptr @test_count, align 4, !tbaa !5
  %11044 = add nsw i32 %11043, 1
  store i32 %11044, ptr @test_count, align 4, !tbaa !5
  %11045 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11046 = icmp eq i32 %11045, -1
  br i1 %11046, label %11185, label %11163

11047:                                            ; preds = %11291
  %11048 = add nsw i32 %11292, 2
  store i32 %11048, ptr @test_count, align 4, !tbaa !5
  %11049 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11050 = icmp eq i32 %11049, -1
  br i1 %11050, label %11051, label %11163

11051:                                            ; preds = %11047
  %11052 = load i32, ptr @test_count, align 4, !tbaa !5
  %11053 = add nsw i32 %11052, 1
  store i32 %11053, ptr @test_count, align 4, !tbaa !5
  %11054 = load i32, ptr %585, align 4, !tbaa !5
  %11055 = icmp eq i32 %11054, 201326592
  br i1 %11055, label %11056, label %11190

11056:                                            ; preds = %11051
  %11057 = add nsw i32 %11052, 2
  store i32 %11057, ptr @test_count, align 4, !tbaa !5
  %11058 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11059 = icmp eq ptr %11058, null
  br i1 %11059, label %11216, label %11060

11060:                                            ; preds = %11056
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11061 = load i32, ptr @test_count, align 4, !tbaa !5
  %11062 = add nsw i32 %11061, 1
  store i32 %11062, ptr @test_count, align 4, !tbaa !5
  %11063 = load i32, ptr %111, align 4, !tbaa !5
  %11064 = icmp eq i32 %11063, 1
  br i1 %11064, label %11065, label %11243

11065:                                            ; preds = %11060
  %11066 = add nsw i32 %11061, 2
  store i32 %11066, ptr @test_count, align 4, !tbaa !5
  %11067 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11068 = icmp eq i32 %11067, 0
  br i1 %11068, label %11069, label %11269

11069:                                            ; preds = %11065
  %11070 = load i32, ptr @test_count, align 4, !tbaa !5
  %11071 = add nsw i32 %11070, 1
  store i32 %11071, ptr @test_count, align 4, !tbaa !5
  %11072 = load i64, ptr %112, align 8, !tbaa !42
  %11073 = icmp eq i64 %11072, 0
  br i1 %11073, label %11074, label %11296

11074:                                            ; preds = %11069
  %11075 = add nsw i32 %11070, 2
  store i32 %11075, ptr @test_count, align 4, !tbaa !5
  %11076 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11077 = icmp eq i32 %11076, -1
  br i1 %11077, label %11078, label %11163

11078:                                            ; preds = %11074
  %11079 = load i32, ptr @test_count, align 4, !tbaa !5
  %11080 = add nsw i32 %11079, 1
  store i32 %11080, ptr @test_count, align 4, !tbaa !5
  %11081 = load i32, ptr %585, align 4, !tbaa !5
  %11082 = icmp eq i32 %11081, 201326592
  br i1 %11082, label %11083, label %11190

11083:                                            ; preds = %11078
  %11084 = add nsw i32 %11079, 2
  store i32 %11084, ptr @test_count, align 4, !tbaa !5
  %11085 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11086 = icmp eq ptr %11085, null
  br i1 %11086, label %11216, label %11087

11087:                                            ; preds = %11083
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11088 = load i32, ptr @test_count, align 4, !tbaa !5
  %11089 = add nsw i32 %11088, 1
  store i32 %11089, ptr @test_count, align 4, !tbaa !5
  %11090 = load i32, ptr %111, align 4, !tbaa !5
  %11091 = icmp eq i32 %11090, 1
  br i1 %11091, label %11092, label %11243

11092:                                            ; preds = %11087
  %11093 = add nsw i32 %11088, 2
  store i32 %11093, ptr @test_count, align 4, !tbaa !5
  %11094 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11095 = icmp eq i32 %11094, 0
  br i1 %11095, label %11096, label %11269

11096:                                            ; preds = %11092
  %11097 = load i32, ptr @test_count, align 4, !tbaa !5
  %11098 = add nsw i32 %11097, 1
  store i32 %11098, ptr @test_count, align 4, !tbaa !5
  %11099 = load i64, ptr %112, align 8, !tbaa !42
  %11100 = icmp eq i64 %11099, 0
  br i1 %11100, label %11101, label %11296

11101:                                            ; preds = %11096
  %11102 = add nsw i32 %11097, 2
  store i32 %11102, ptr @test_count, align 4, !tbaa !5
  %11103 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11104 = icmp eq i32 %11103, -1
  br i1 %11104, label %11105, label %11163

11105:                                            ; preds = %11101
  %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 i32, ptr %585, align 4, !tbaa !5
  %11109 = icmp eq i32 %11108, 201326592
  br i1 %11109, label %11110, label %11190

11110:                                            ; preds = %11105
  %11111 = add nsw i32 %11106, 2
  store i32 %11111, ptr @test_count, align 4, !tbaa !5
  %11112 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11113 = icmp eq ptr %11112, null
  br i1 %11113, label %11216, label %11114

11114:                                            ; preds = %11110
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11115 = load i32, ptr @test_count, align 4, !tbaa !5
  %11116 = add nsw i32 %11115, 1
  store i32 %11116, ptr @test_count, align 4, !tbaa !5
  %11117 = load i32, ptr %111, align 4, !tbaa !5
  %11118 = icmp eq i32 %11117, 1
  br i1 %11118, label %11119, label %11243

11119:                                            ; preds = %11114
  %11120 = add nsw i32 %11115, 2
  store i32 %11120, ptr @test_count, align 4, !tbaa !5
  %11121 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11122 = icmp eq i32 %11121, 0
  br i1 %11122, label %11123, label %11269

11123:                                            ; preds = %11119
  %11124 = load i32, ptr @test_count, align 4, !tbaa !5
  %11125 = add nsw i32 %11124, 1
  store i32 %11125, ptr @test_count, align 4, !tbaa !5
  %11126 = load i64, ptr %112, align 8, !tbaa !42
  %11127 = icmp eq i64 %11126, 0
  br i1 %11127, label %11128, label %11296

11128:                                            ; preds = %11123
  %11129 = add nsw i32 %11124, 2
  store i32 %11129, ptr @test_count, align 4, !tbaa !5
  %11130 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11131 = icmp eq i32 %11130, -1
  br i1 %11131, label %11132, label %11163

11132:                                            ; preds = %11128
  %11133 = load i32, ptr @test_count, align 4, !tbaa !5
  %11134 = add nsw i32 %11133, 1
  store i32 %11134, ptr @test_count, align 4, !tbaa !5
  %11135 = load i32, ptr %585, align 4, !tbaa !5
  %11136 = icmp eq i32 %11135, 201326592
  br i1 %11136, label %11137, label %11190

11137:                                            ; preds = %11132
  %11138 = add nsw i32 %11133, 2
  store i32 %11138, ptr @test_count, align 4, !tbaa !5
  %11139 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11140 = icmp eq ptr %11139, null
  br i1 %11140, label %11216, label %11141

11141:                                            ; preds = %11137
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11142 = load i32, ptr @test_count, align 4, !tbaa !5
  %11143 = add nsw i32 %11142, 1
  store i32 %11143, ptr @test_count, align 4, !tbaa !5
  %11144 = load i32, ptr %111, align 4, !tbaa !5
  %11145 = icmp eq i32 %11144, 1
  br i1 %11145, label %11146, label %11243

11146:                                            ; preds = %11141
  %11147 = add nsw i32 %11142, 2
  store i32 %11147, ptr @test_count, align 4, !tbaa !5
  %11148 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11149 = icmp eq i32 %11148, 0
  br i1 %11149, label %11150, label %11269

11150:                                            ; preds = %11146
  %11151 = load i32, ptr @test_count, align 4, !tbaa !5
  %11152 = add nsw i32 %11151, 1
  store i32 %11152, ptr @test_count, align 4, !tbaa !5
  %11153 = load i64, ptr %112, align 8, !tbaa !42
  %11154 = icmp eq i64 %11153, 0
  br i1 %11154, label %11155, label %11296

11155:                                            ; preds = %11150
  %11156 = add nsw i32 %11151, 2
  store i32 %11156, ptr @test_count, align 4, !tbaa !5
  %11157 = call i32 @s2n_stuffer_write(ptr noundef nonnull %108, ptr noundef nonnull %99) #12
  %11158 = icmp eq i32 %11157, -1
  br i1 %11158, label %11318, label %.preheader1690.preheader

.preheader1690.preheader:                         ; preds = %11155
  %11159 = load i32, ptr @test_count, align 4, !tbaa !5
  %11160 = add nsw i32 %11159, 1
  store i32 %11160, ptr @test_count, align 4, !tbaa !5
  %11161 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11162 = icmp eq i32 %11161, -1
  br i1 %11162, label %11474, label %11452

11163:                                            ; preds = %11128, %11101, %11074, %11047, %11042
  %11164 = load i32, ptr %639, align 4, !tbaa !5
  %11165 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11166 = call i32 @s2n_print_stacktrace(ptr noundef %11165) #12
  %11167 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11168 = trunc nuw i8 %11167 to i1
  br i1 %11168, label %11169, label %11173

11169:                                            ; preds = %11163
  %11170 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11171 = call i32 @fileno(ptr noundef %11170) #12
  %11172 = call i32 @isatty(i32 noundef %11171) #12
  %.not1484 = icmp eq i32 %11172, 0
  br i1 %.not1484, label %11173, label %11174

11173:                                            ; preds = %11169, %11163
  br label %11174

11174:                                            ; preds = %11169, %11173
  %.str.5.sink5300 = phi ptr [ @.str.5, %11173 ], [ @.str.2, %11169 ]
  store i32 %11164, ptr %639, align 4, !tbaa !5
  %11175 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11176 = load i32, ptr @test_count, align 4, !tbaa !5
  %11177 = load i32, ptr %585, align 4, !tbaa !5
  %11178 = call ptr @s2n_strerror(i32 noundef %11177, ptr noundef nonnull @.str.4) #12
  %11179 = load i32, ptr %585, align 4, !tbaa !5
  %11180 = call ptr @s2n_strerror_debug(i32 noundef %11179, ptr noundef nonnull @.str.4) #12
  %11181 = load i32, ptr %639, align 4, !tbaa !5
  %11182 = call ptr @strerror(i32 noundef %11181) #12
  %11183 = load i32, ptr %639, align 4, !tbaa !5
  %11184 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11175, ptr noundef nonnull %.str.5.sink5300, i32 noundef %11176, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 960, ptr noundef %11178, ptr noundef %11180, ptr noundef %11182, i32 noundef %11183) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11185:                                            ; preds = %11042
  %11186 = load i32, ptr @test_count, align 4, !tbaa !5
  %11187 = add nsw i32 %11186, 1
  store i32 %11187, ptr @test_count, align 4, !tbaa !5
  %11188 = load i32, ptr %585, align 4, !tbaa !5
  %11189 = icmp eq i32 %11188, 201326592
  br i1 %11189, label %11212, label %11190

11190:                                            ; preds = %11132, %11105, %11078, %11051, %11185
  %11191 = load i32, ptr %639, align 4, !tbaa !5
  %11192 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11193 = call i32 @s2n_print_stacktrace(ptr noundef %11192) #12
  %11194 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11195 = trunc nuw i8 %11194 to i1
  br i1 %11195, label %11196, label %11200

11196:                                            ; preds = %11190
  %11197 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11198 = call i32 @fileno(ptr noundef %11197) #12
  %11199 = call i32 @isatty(i32 noundef %11198) #12
  %.not1485 = icmp eq i32 %11199, 0
  br i1 %.not1485, label %11200, label %11201

11200:                                            ; preds = %11196, %11190
  br label %11201

11201:                                            ; preds = %11196, %11200
  %.str.5.sink5309 = phi ptr [ @.str.5, %11200 ], [ @.str.2, %11196 ]
  store i32 %11191, ptr %639, align 4, !tbaa !5
  %11202 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11203 = load i32, ptr @test_count, align 4, !tbaa !5
  %11204 = load i32, ptr %585, align 4, !tbaa !5
  %11205 = call ptr @s2n_strerror(i32 noundef %11204, ptr noundef nonnull @.str.4) #12
  %11206 = load i32, ptr %585, align 4, !tbaa !5
  %11207 = call ptr @s2n_strerror_debug(i32 noundef %11206, ptr noundef nonnull @.str.4) #12
  %11208 = load i32, ptr %639, align 4, !tbaa !5
  %11209 = call ptr @strerror(i32 noundef %11208) #12
  %11210 = load i32, ptr %639, align 4, !tbaa !5
  %11211 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11202, ptr noundef nonnull %.str.5.sink5309, i32 noundef %11203, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 960, ptr noundef %11205, ptr noundef %11207, ptr noundef %11209, i32 noundef %11210) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11212:                                            ; preds = %11185
  %11213 = add nsw i32 %11186, 2
  store i32 %11213, ptr @test_count, align 4, !tbaa !5
  %11214 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11215 = icmp eq ptr %11214, null
  br i1 %11215, label %11216, label %11238

11216:                                            ; preds = %11137, %11110, %11083, %11056, %11212
  %11217 = load i32, ptr %639, align 4, !tbaa !5
  %11218 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11219 = call i32 @s2n_print_stacktrace(ptr noundef %11218) #12
  %11220 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11221 = trunc nuw i8 %11220 to i1
  br i1 %11221, label %11222, label %11226

11222:                                            ; preds = %11216
  %11223 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11224 = call i32 @fileno(ptr noundef %11223) #12
  %11225 = call i32 @isatty(i32 noundef %11224) #12
  %.not1489 = icmp eq i32 %11225, 0
  br i1 %.not1489, label %11226, label %11227

11226:                                            ; preds = %11222, %11216
  br label %11227

11227:                                            ; preds = %11222, %11226
  %.str.5.sink5318 = phi ptr [ @.str.5, %11226 ], [ @.str.2, %11222 ]
  store i32 %11217, ptr %639, align 4, !tbaa !5
  %11228 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11229 = load i32, ptr @test_count, align 4, !tbaa !5
  %11230 = load i32, ptr %585, align 4, !tbaa !5
  %11231 = call ptr @s2n_strerror(i32 noundef %11230, ptr noundef nonnull @.str.4) #12
  %11232 = load i32, ptr %585, align 4, !tbaa !5
  %11233 = call ptr @s2n_strerror_debug(i32 noundef %11232, ptr noundef nonnull @.str.4) #12
  %11234 = load i32, ptr %639, align 4, !tbaa !5
  %11235 = call ptr @strerror(i32 noundef %11234) #12
  %11236 = load i32, ptr %639, align 4, !tbaa !5
  %11237 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11228, ptr noundef nonnull %.str.5.sink5318, i32 noundef %11229, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 960, ptr noundef %11231, ptr noundef %11233, ptr noundef %11235, i32 noundef %11236) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11238:                                            ; preds = %11212
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11239 = load i32, ptr @test_count, align 4, !tbaa !5
  %11240 = add nsw i32 %11239, 1
  store i32 %11240, ptr @test_count, align 4, !tbaa !5
  %11241 = load i32, ptr %111, align 4, !tbaa !5
  %11242 = icmp eq i32 %11241, 1
  br i1 %11242, label %11265, label %11243

11243:                                            ; preds = %11141, %11114, %11087, %11060, %11238
  %11244 = load i32, ptr %639, align 4, !tbaa !5
  %11245 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11246 = call i32 @s2n_print_stacktrace(ptr noundef %11245) #12
  %11247 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11248 = trunc nuw i8 %11247 to i1
  br i1 %11248, label %11249, label %11253

11249:                                            ; preds = %11243
  %11250 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11251 = call i32 @fileno(ptr noundef %11250) #12
  %11252 = call i32 @isatty(i32 noundef %11251) #12
  %.not1486 = icmp eq i32 %11252, 0
  br i1 %.not1486, label %11253, label %11254

11253:                                            ; preds = %11249, %11243
  br label %11254

11254:                                            ; preds = %11249, %11253
  %.str.5.sink5327 = phi ptr [ @.str.5, %11253 ], [ @.str.2, %11249 ]
  store i32 %11244, ptr %639, align 4, !tbaa !5
  %11255 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11256 = load i32, ptr @test_count, align 4, !tbaa !5
  %11257 = load i32, ptr %585, align 4, !tbaa !5
  %11258 = call ptr @s2n_strerror(i32 noundef %11257, ptr noundef nonnull @.str.4) #12
  %11259 = load i32, ptr %585, align 4, !tbaa !5
  %11260 = call ptr @s2n_strerror_debug(i32 noundef %11259, ptr noundef nonnull @.str.4) #12
  %11261 = load i32, ptr %639, align 4, !tbaa !5
  %11262 = call ptr @strerror(i32 noundef %11261) #12
  %11263 = load i32, ptr %639, align 4, !tbaa !5
  %11264 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11255, ptr noundef nonnull %.str.5.sink5327, i32 noundef %11256, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 961, ptr noundef %11258, ptr noundef %11260, ptr noundef %11262, i32 noundef %11263) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11265:                                            ; preds = %11238
  %11266 = add nsw i32 %11239, 2
  store i32 %11266, ptr @test_count, align 4, !tbaa !5
  %11267 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11268 = icmp eq i32 %11267, 0
  br i1 %11268, label %11291, label %11269

11269:                                            ; preds = %11146, %11119, %11092, %11065, %11265
  %11270 = load i32, ptr %639, align 4, !tbaa !5
  %11271 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11272 = call i32 @s2n_print_stacktrace(ptr noundef %11271) #12
  %11273 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11274 = trunc nuw i8 %11273 to i1
  br i1 %11274, label %11275, label %11279

11275:                                            ; preds = %11269
  %11276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11277 = call i32 @fileno(ptr noundef %11276) #12
  %11278 = call i32 @isatty(i32 noundef %11277) #12
  %.not1487 = icmp eq i32 %11278, 0
  br i1 %.not1487, label %11279, label %11280

11279:                                            ; preds = %11275, %11269
  br label %11280

11280:                                            ; preds = %11275, %11279
  %.str.5.sink5336 = phi ptr [ @.str.5, %11279 ], [ @.str.2, %11275 ]
  store i32 %11270, ptr %639, align 4, !tbaa !5
  %11281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11282 = load i32, ptr @test_count, align 4, !tbaa !5
  %11283 = load i32, ptr %585, align 4, !tbaa !5
  %11284 = call ptr @s2n_strerror(i32 noundef %11283, ptr noundef nonnull @.str.4) #12
  %11285 = load i32, ptr %585, align 4, !tbaa !5
  %11286 = call ptr @s2n_strerror_debug(i32 noundef %11285, ptr noundef nonnull @.str.4) #12
  %11287 = load i32, ptr %639, align 4, !tbaa !5
  %11288 = call ptr @strerror(i32 noundef %11287) #12
  %11289 = load i32, ptr %639, align 4, !tbaa !5
  %11290 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11281, ptr noundef nonnull %.str.5.sink5336, i32 noundef %11282, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 961, ptr noundef %11284, ptr noundef %11286, ptr noundef %11288, i32 noundef %11289) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11291:                                            ; preds = %11265
  %11292 = load i32, ptr @test_count, align 4, !tbaa !5
  %11293 = add nsw i32 %11292, 1
  store i32 %11293, ptr @test_count, align 4, !tbaa !5
  %11294 = load i64, ptr %112, align 8, !tbaa !42
  %11295 = icmp eq i64 %11294, 0
  br i1 %11295, label %11047, label %11296

11296:                                            ; preds = %11150, %11123, %11096, %11069, %11291
  %11297 = load i32, ptr %639, align 4, !tbaa !5
  %11298 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11299 = call i32 @s2n_print_stacktrace(ptr noundef %11298) #12
  %11300 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11301 = trunc nuw i8 %11300 to i1
  br i1 %11301, label %11302, label %11306

11302:                                            ; preds = %11296
  %11303 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11304 = call i32 @fileno(ptr noundef %11303) #12
  %11305 = call i32 @isatty(i32 noundef %11304) #12
  %.not1488 = icmp eq i32 %11305, 0
  br i1 %.not1488, label %11306, label %11307

11306:                                            ; preds = %11302, %11296
  br label %11307

11307:                                            ; preds = %11302, %11306
  %.str.5.sink5345 = phi ptr [ @.str.5, %11306 ], [ @.str.2, %11302 ]
  store i32 %11297, ptr %639, align 4, !tbaa !5
  %11308 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11309 = load i32, ptr @test_count, align 4, !tbaa !5
  %11310 = load i32, ptr %585, align 4, !tbaa !5
  %11311 = call ptr @s2n_strerror(i32 noundef %11310, ptr noundef nonnull @.str.4) #12
  %11312 = load i32, ptr %585, align 4, !tbaa !5
  %11313 = call ptr @s2n_strerror_debug(i32 noundef %11312, ptr noundef nonnull @.str.4) #12
  %11314 = load i32, ptr %639, align 4, !tbaa !5
  %11315 = call ptr @strerror(i32 noundef %11314) #12
  %11316 = load i32, ptr %639, align 4, !tbaa !5
  %11317 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11308, ptr noundef nonnull %.str.5.sink5345, i32 noundef %11309, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 962, ptr noundef %11311, ptr noundef %11313, ptr noundef %11315, i32 noundef %11316) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11318:                                            ; preds = %11155
  %11319 = load i32, ptr %639, align 4, !tbaa !5
  %11320 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11321 = call i32 @s2n_print_stacktrace(ptr noundef %11320) #12
  %11322 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11323 = trunc nuw i8 %11322 to i1
  br i1 %11323, label %11324, label %11328

11324:                                            ; preds = %11318
  %11325 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11326 = call i32 @fileno(ptr noundef %11325) #12
  %11327 = call i32 @isatty(i32 noundef %11326) #12
  %.not1483 = icmp eq i32 %11327, 0
  br i1 %.not1483, label %11328, label %11329

11328:                                            ; preds = %11324, %11318
  br label %11329

11329:                                            ; preds = %11324, %11328
  %.str.5.sink5354 = phi ptr [ @.str.5, %11328 ], [ @.str.2, %11324 ]
  store i32 %11319, ptr %639, align 4, !tbaa !5
  %11330 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11331 = load i32, ptr @test_count, align 4, !tbaa !5
  %11332 = load i32, ptr %585, align 4, !tbaa !5
  %11333 = call ptr @s2n_strerror(i32 noundef %11332, ptr noundef nonnull @.str.4) #12
  %11334 = load i32, ptr %585, align 4, !tbaa !5
  %11335 = call ptr @s2n_strerror_debug(i32 noundef %11334, ptr noundef nonnull @.str.4) #12
  %11336 = load i32, ptr %639, align 4, !tbaa !5
  %11337 = call ptr @strerror(i32 noundef %11336) #12
  %11338 = load i32, ptr %639, align 4, !tbaa !5
  %11339 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11330, ptr noundef nonnull %.str.5.sink5354, i32 noundef %11331, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 965, ptr noundef %11333, ptr noundef %11335, ptr noundef %11337, i32 noundef %11338) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1690.1:                                 ; preds = %11580
  %11340 = add nsw i32 %11581, 2
  store i32 %11340, ptr @test_count, align 4, !tbaa !5
  %11341 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11342 = icmp eq i32 %11341, -1
  br i1 %11342, label %11343, label %11452

11343:                                            ; preds = %.preheader1690.1
  %11344 = load i32, ptr @test_count, align 4, !tbaa !5
  %11345 = add nsw i32 %11344, 1
  store i32 %11345, ptr @test_count, align 4, !tbaa !5
  %11346 = load i32, ptr %585, align 4, !tbaa !5
  %11347 = icmp eq i32 %11346, 201326592
  br i1 %11347, label %11348, label %11479

11348:                                            ; preds = %11343
  %11349 = add nsw i32 %11344, 2
  store i32 %11349, ptr @test_count, align 4, !tbaa !5
  %11350 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11351 = icmp eq ptr %11350, null
  br i1 %11351, label %11505, label %11352

11352:                                            ; preds = %11348
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11353 = load i32, ptr @test_count, align 4, !tbaa !5
  %11354 = add nsw i32 %11353, 1
  store i32 %11354, ptr @test_count, align 4, !tbaa !5
  %11355 = load i32, ptr %111, align 4, !tbaa !5
  %11356 = icmp eq i32 %11355, 2
  br i1 %11356, label %11357, label %11532

11357:                                            ; preds = %11352
  %11358 = add nsw i32 %11353, 2
  store i32 %11358, ptr @test_count, align 4, !tbaa !5
  %11359 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11360 = icmp eq i32 %11359, 1
  br i1 %11360, label %11361, label %11558

11361:                                            ; preds = %11357
  %11362 = load i32, ptr @test_count, align 4, !tbaa !5
  %11363 = add nsw i32 %11362, 1
  store i32 %11363, ptr @test_count, align 4, !tbaa !5
  %11364 = load i64, ptr %112, align 8, !tbaa !42
  %11365 = icmp eq i64 %11364, 0
  br i1 %11365, label %.preheader1690.2, label %11585

.preheader1690.2:                                 ; preds = %11361
  %11366 = add nsw i32 %11362, 2
  store i32 %11366, ptr @test_count, align 4, !tbaa !5
  %11367 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11368 = icmp eq i32 %11367, -1
  br i1 %11368, label %11369, label %11452

11369:                                            ; preds = %.preheader1690.2
  %11370 = load i32, ptr @test_count, align 4, !tbaa !5
  %11371 = add nsw i32 %11370, 1
  store i32 %11371, ptr @test_count, align 4, !tbaa !5
  %11372 = load i32, ptr %585, align 4, !tbaa !5
  %11373 = icmp eq i32 %11372, 201326592
  br i1 %11373, label %11374, label %11479

11374:                                            ; preds = %11369
  %11375 = add nsw i32 %11370, 2
  store i32 %11375, ptr @test_count, align 4, !tbaa !5
  %11376 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11377 = icmp eq ptr %11376, null
  br i1 %11377, label %11505, label %11378

11378:                                            ; preds = %11374
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11379 = load i32, ptr @test_count, align 4, !tbaa !5
  %11380 = add nsw i32 %11379, 1
  store i32 %11380, ptr @test_count, align 4, !tbaa !5
  %11381 = load i32, ptr %111, align 4, !tbaa !5
  %11382 = icmp eq i32 %11381, 2
  br i1 %11382, label %11383, label %11532

11383:                                            ; preds = %11378
  %11384 = add nsw i32 %11379, 2
  store i32 %11384, ptr @test_count, align 4, !tbaa !5
  %11385 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11386 = icmp eq i32 %11385, 1
  br i1 %11386, label %11387, label %11558

11387:                                            ; preds = %11383
  %11388 = load i32, ptr @test_count, align 4, !tbaa !5
  %11389 = add nsw i32 %11388, 1
  store i32 %11389, ptr @test_count, align 4, !tbaa !5
  %11390 = load i64, ptr %112, align 8, !tbaa !42
  %11391 = icmp eq i64 %11390, 0
  br i1 %11391, label %.preheader1690.3, label %11585

.preheader1690.3:                                 ; preds = %11387
  %11392 = add nsw i32 %11388, 2
  store i32 %11392, ptr @test_count, align 4, !tbaa !5
  %11393 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11394 = icmp eq i32 %11393, -1
  br i1 %11394, label %11395, label %11452

11395:                                            ; preds = %.preheader1690.3
  %11396 = load i32, ptr @test_count, align 4, !tbaa !5
  %11397 = add nsw i32 %11396, 1
  store i32 %11397, ptr @test_count, align 4, !tbaa !5
  %11398 = load i32, ptr %585, align 4, !tbaa !5
  %11399 = icmp eq i32 %11398, 201326592
  br i1 %11399, label %11400, label %11479

11400:                                            ; preds = %11395
  %11401 = add nsw i32 %11396, 2
  store i32 %11401, ptr @test_count, align 4, !tbaa !5
  %11402 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11403 = icmp eq ptr %11402, null
  br i1 %11403, label %11505, label %11404

11404:                                            ; preds = %11400
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11405 = load i32, ptr @test_count, align 4, !tbaa !5
  %11406 = add nsw i32 %11405, 1
  store i32 %11406, ptr @test_count, align 4, !tbaa !5
  %11407 = load i32, ptr %111, align 4, !tbaa !5
  %11408 = icmp eq i32 %11407, 2
  br i1 %11408, label %11409, label %11532

11409:                                            ; preds = %11404
  %11410 = add nsw i32 %11405, 2
  store i32 %11410, ptr @test_count, align 4, !tbaa !5
  %11411 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11412 = icmp eq i32 %11411, 1
  br i1 %11412, label %11413, label %11558

11413:                                            ; preds = %11409
  %11414 = load i32, ptr @test_count, align 4, !tbaa !5
  %11415 = add nsw i32 %11414, 1
  store i32 %11415, ptr @test_count, align 4, !tbaa !5
  %11416 = load i64, ptr %112, align 8, !tbaa !42
  %11417 = icmp eq i64 %11416, 0
  br i1 %11417, label %.preheader1690.4, label %11585

.preheader1690.4:                                 ; preds = %11413
  %11418 = add nsw i32 %11414, 2
  store i32 %11418, ptr @test_count, align 4, !tbaa !5
  %11419 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11420 = icmp eq i32 %11419, -1
  br i1 %11420, label %11421, label %11452

11421:                                            ; preds = %.preheader1690.4
  %11422 = load i32, ptr @test_count, align 4, !tbaa !5
  %11423 = add nsw i32 %11422, 1
  store i32 %11423, ptr @test_count, align 4, !tbaa !5
  %11424 = load i32, ptr %585, align 4, !tbaa !5
  %11425 = icmp eq i32 %11424, 201326592
  br i1 %11425, label %11426, label %11479

11426:                                            ; preds = %11421
  %11427 = add nsw i32 %11422, 2
  store i32 %11427, ptr @test_count, align 4, !tbaa !5
  %11428 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11429 = icmp eq ptr %11428, null
  br i1 %11429, label %11505, label %11430

11430:                                            ; preds = %11426
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11431 = load i32, ptr @test_count, align 4, !tbaa !5
  %11432 = add nsw i32 %11431, 1
  store i32 %11432, ptr @test_count, align 4, !tbaa !5
  %11433 = load i32, ptr %111, align 4, !tbaa !5
  %11434 = icmp eq i32 %11433, 2
  br i1 %11434, label %11435, label %11532

11435:                                            ; preds = %11430
  %11436 = add nsw i32 %11431, 2
  store i32 %11436, ptr @test_count, align 4, !tbaa !5
  %11437 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11438 = icmp eq i32 %11437, 1
  br i1 %11438, label %11439, label %11558

11439:                                            ; preds = %11435
  %11440 = load i32, ptr @test_count, align 4, !tbaa !5
  %11441 = add nsw i32 %11440, 1
  store i32 %11441, ptr @test_count, align 4, !tbaa !5
  %11442 = load i64, ptr %112, align 8, !tbaa !42
  %11443 = icmp eq i64 %11442, 0
  br i1 %11443, label %11444, label %11585

11444:                                            ; preds = %11439
  %11445 = add nsw i32 %11440, 2
  store i32 %11445, ptr @test_count, align 4, !tbaa !5
  %11446 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %109, i32 noundef 8092) #12
  %11447 = icmp eq i32 %11446, -1
  br i1 %11447, label %11607, label %.preheader1689.preheader

.preheader1689.preheader:                         ; preds = %11444
  %11448 = load i32, ptr @test_count, align 4, !tbaa !5
  %11449 = add nsw i32 %11448, 1
  store i32 %11449, ptr @test_count, align 4, !tbaa !5
  %11450 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11451 = icmp eq i32 %11450, -1
  br i1 %11451, label %11760, label %11738

11452:                                            ; preds = %.preheader1690.4, %.preheader1690.3, %.preheader1690.2, %.preheader1690.1, %.preheader1690.preheader
  %11453 = load i32, ptr %639, align 4, !tbaa !5
  %11454 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11455 = call i32 @s2n_print_stacktrace(ptr noundef %11454) #12
  %11456 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11457 = trunc nuw i8 %11456 to i1
  br i1 %11457, label %11458, label %11462

11458:                                            ; preds = %11452
  %11459 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11460 = call i32 @fileno(ptr noundef %11459) #12
  %11461 = call i32 @isatty(i32 noundef %11460) #12
  %.not1477 = icmp eq i32 %11461, 0
  br i1 %.not1477, label %11462, label %11463

11462:                                            ; preds = %11458, %11452
  br label %11463

11463:                                            ; preds = %11458, %11462
  %.str.5.sink5363 = phi ptr [ @.str.5, %11462 ], [ @.str.2, %11458 ]
  store i32 %11453, ptr %639, align 4, !tbaa !5
  %11464 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11465 = load i32, ptr @test_count, align 4, !tbaa !5
  %11466 = load i32, ptr %585, align 4, !tbaa !5
  %11467 = call ptr @s2n_strerror(i32 noundef %11466, ptr noundef nonnull @.str.4) #12
  %11468 = load i32, ptr %585, align 4, !tbaa !5
  %11469 = call ptr @s2n_strerror_debug(i32 noundef %11468, ptr noundef nonnull @.str.4) #12
  %11470 = load i32, ptr %639, align 4, !tbaa !5
  %11471 = call ptr @strerror(i32 noundef %11470) #12
  %11472 = load i32, ptr %639, align 4, !tbaa !5
  %11473 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11464, ptr noundef nonnull %.str.5.sink5363, i32 noundef %11465, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 968, ptr noundef %11467, ptr noundef %11469, ptr noundef %11471, i32 noundef %11472) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11474:                                            ; preds = %.preheader1690.preheader
  %11475 = load i32, ptr @test_count, align 4, !tbaa !5
  %11476 = add nsw i32 %11475, 1
  store i32 %11476, ptr @test_count, align 4, !tbaa !5
  %11477 = load i32, ptr %585, align 4, !tbaa !5
  %11478 = icmp eq i32 %11477, 201326592
  br i1 %11478, label %11501, label %11479

11479:                                            ; preds = %11421, %11395, %11369, %11343, %11474
  %11480 = load i32, ptr %639, align 4, !tbaa !5
  %11481 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11482 = call i32 @s2n_print_stacktrace(ptr noundef %11481) #12
  %11483 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11484 = trunc nuw i8 %11483 to i1
  br i1 %11484, label %11485, label %11489

11485:                                            ; preds = %11479
  %11486 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11487 = call i32 @fileno(ptr noundef %11486) #12
  %11488 = call i32 @isatty(i32 noundef %11487) #12
  %.not1478 = icmp eq i32 %11488, 0
  br i1 %.not1478, label %11489, label %11490

11489:                                            ; preds = %11485, %11479
  br label %11490

11490:                                            ; preds = %11485, %11489
  %.str.5.sink5372 = phi ptr [ @.str.5, %11489 ], [ @.str.2, %11485 ]
  store i32 %11480, ptr %639, align 4, !tbaa !5
  %11491 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11492 = load i32, ptr @test_count, align 4, !tbaa !5
  %11493 = load i32, ptr %585, align 4, !tbaa !5
  %11494 = call ptr @s2n_strerror(i32 noundef %11493, ptr noundef nonnull @.str.4) #12
  %11495 = load i32, ptr %585, align 4, !tbaa !5
  %11496 = call ptr @s2n_strerror_debug(i32 noundef %11495, ptr noundef nonnull @.str.4) #12
  %11497 = load i32, ptr %639, align 4, !tbaa !5
  %11498 = call ptr @strerror(i32 noundef %11497) #12
  %11499 = load i32, ptr %639, align 4, !tbaa !5
  %11500 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11491, ptr noundef nonnull %.str.5.sink5372, i32 noundef %11492, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 968, ptr noundef %11494, ptr noundef %11496, ptr noundef %11498, i32 noundef %11499) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11501:                                            ; preds = %11474
  %11502 = add nsw i32 %11475, 2
  store i32 %11502, ptr @test_count, align 4, !tbaa !5
  %11503 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11504 = icmp eq ptr %11503, null
  br i1 %11504, label %11505, label %11527

11505:                                            ; preds = %11426, %11400, %11374, %11348, %11501
  %11506 = load i32, ptr %639, align 4, !tbaa !5
  %11507 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11508 = call i32 @s2n_print_stacktrace(ptr noundef %11507) #12
  %11509 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11510 = trunc nuw i8 %11509 to i1
  br i1 %11510, label %11511, label %11515

11511:                                            ; preds = %11505
  %11512 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11513 = call i32 @fileno(ptr noundef %11512) #12
  %11514 = call i32 @isatty(i32 noundef %11513) #12
  %.not1482 = icmp eq i32 %11514, 0
  br i1 %.not1482, label %11515, label %11516

11515:                                            ; preds = %11511, %11505
  br label %11516

11516:                                            ; preds = %11511, %11515
  %.str.5.sink5381 = phi ptr [ @.str.5, %11515 ], [ @.str.2, %11511 ]
  store i32 %11506, ptr %639, align 4, !tbaa !5
  %11517 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11518 = load i32, ptr @test_count, align 4, !tbaa !5
  %11519 = load i32, ptr %585, align 4, !tbaa !5
  %11520 = call ptr @s2n_strerror(i32 noundef %11519, ptr noundef nonnull @.str.4) #12
  %11521 = load i32, ptr %585, align 4, !tbaa !5
  %11522 = call ptr @s2n_strerror_debug(i32 noundef %11521, ptr noundef nonnull @.str.4) #12
  %11523 = load i32, ptr %639, align 4, !tbaa !5
  %11524 = call ptr @strerror(i32 noundef %11523) #12
  %11525 = load i32, ptr %639, align 4, !tbaa !5
  %11526 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11517, ptr noundef nonnull %.str.5.sink5381, i32 noundef %11518, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 968, ptr noundef %11520, ptr noundef %11522, ptr noundef %11524, i32 noundef %11525) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11527:                                            ; preds = %11501
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11528 = load i32, ptr @test_count, align 4, !tbaa !5
  %11529 = add nsw i32 %11528, 1
  store i32 %11529, ptr @test_count, align 4, !tbaa !5
  %11530 = load i32, ptr %111, align 4, !tbaa !5
  %11531 = icmp eq i32 %11530, 2
  br i1 %11531, label %11554, label %11532

11532:                                            ; preds = %11430, %11404, %11378, %11352, %11527
  %11533 = load i32, ptr %639, align 4, !tbaa !5
  %11534 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11535 = call i32 @s2n_print_stacktrace(ptr noundef %11534) #12
  %11536 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11537 = trunc nuw i8 %11536 to i1
  br i1 %11537, label %11538, label %11542

11538:                                            ; preds = %11532
  %11539 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11540 = call i32 @fileno(ptr noundef %11539) #12
  %11541 = call i32 @isatty(i32 noundef %11540) #12
  %.not1479 = icmp eq i32 %11541, 0
  br i1 %.not1479, label %11542, label %11543

11542:                                            ; preds = %11538, %11532
  br label %11543

11543:                                            ; preds = %11538, %11542
  %.str.5.sink5390 = phi ptr [ @.str.5, %11542 ], [ @.str.2, %11538 ]
  store i32 %11533, ptr %639, align 4, !tbaa !5
  %11544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11545 = load i32, ptr @test_count, align 4, !tbaa !5
  %11546 = load i32, ptr %585, align 4, !tbaa !5
  %11547 = call ptr @s2n_strerror(i32 noundef %11546, ptr noundef nonnull @.str.4) #12
  %11548 = load i32, ptr %585, align 4, !tbaa !5
  %11549 = call ptr @s2n_strerror_debug(i32 noundef %11548, ptr noundef nonnull @.str.4) #12
  %11550 = load i32, ptr %639, align 4, !tbaa !5
  %11551 = call ptr @strerror(i32 noundef %11550) #12
  %11552 = load i32, ptr %639, align 4, !tbaa !5
  %11553 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11544, ptr noundef nonnull %.str.5.sink5390, i32 noundef %11545, ptr noundef nonnull @.str.102, ptr noundef nonnull @.str.1, i32 noundef 969, ptr noundef %11547, ptr noundef %11549, ptr noundef %11551, i32 noundef %11552) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11554:                                            ; preds = %11527
  %11555 = add nsw i32 %11528, 2
  store i32 %11555, ptr @test_count, align 4, !tbaa !5
  %11556 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11557 = icmp eq i32 %11556, 1
  br i1 %11557, label %11580, label %11558

11558:                                            ; preds = %11435, %11409, %11383, %11357, %11554
  %11559 = load i32, ptr %639, align 4, !tbaa !5
  %11560 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11561 = call i32 @s2n_print_stacktrace(ptr noundef %11560) #12
  %11562 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11563 = trunc nuw i8 %11562 to i1
  br i1 %11563, label %11564, label %11568

11564:                                            ; preds = %11558
  %11565 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11566 = call i32 @fileno(ptr noundef %11565) #12
  %11567 = call i32 @isatty(i32 noundef %11566) #12
  %.not1480 = icmp eq i32 %11567, 0
  br i1 %.not1480, label %11568, label %11569

11568:                                            ; preds = %11564, %11558
  br label %11569

11569:                                            ; preds = %11564, %11568
  %.str.5.sink5399 = phi ptr [ @.str.5, %11568 ], [ @.str.2, %11564 ]
  store i32 %11559, ptr %639, align 4, !tbaa !5
  %11570 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11571 = load i32, ptr @test_count, align 4, !tbaa !5
  %11572 = load i32, ptr %585, align 4, !tbaa !5
  %11573 = call ptr @s2n_strerror(i32 noundef %11572, ptr noundef nonnull @.str.4) #12
  %11574 = load i32, ptr %585, align 4, !tbaa !5
  %11575 = call ptr @s2n_strerror_debug(i32 noundef %11574, ptr noundef nonnull @.str.4) #12
  %11576 = load i32, ptr %639, align 4, !tbaa !5
  %11577 = call ptr @strerror(i32 noundef %11576) #12
  %11578 = load i32, ptr %639, align 4, !tbaa !5
  %11579 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11570, ptr noundef nonnull %.str.5.sink5399, i32 noundef %11571, ptr noundef nonnull @.str.106, ptr noundef nonnull @.str.1, i32 noundef 969, ptr noundef %11573, ptr noundef %11575, ptr noundef %11577, i32 noundef %11578) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11580:                                            ; preds = %11554
  %11581 = load i32, ptr @test_count, align 4, !tbaa !5
  %11582 = add nsw i32 %11581, 1
  store i32 %11582, ptr @test_count, align 4, !tbaa !5
  %11583 = load i64, ptr %112, align 8, !tbaa !42
  %11584 = icmp eq i64 %11583, 0
  br i1 %11584, label %.preheader1690.1, label %11585

11585:                                            ; preds = %11439, %11413, %11387, %11361, %11580
  %11586 = load i32, ptr %639, align 4, !tbaa !5
  %11587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11588 = call i32 @s2n_print_stacktrace(ptr noundef %11587) #12
  %11589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11590 = trunc nuw i8 %11589 to i1
  br i1 %11590, label %11591, label %11595

11591:                                            ; preds = %11585
  %11592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11593 = call i32 @fileno(ptr noundef %11592) #12
  %11594 = call i32 @isatty(i32 noundef %11593) #12
  %.not1481 = icmp eq i32 %11594, 0
  br i1 %.not1481, label %11595, label %11596

11595:                                            ; preds = %11591, %11585
  br label %11596

11596:                                            ; preds = %11591, %11595
  %.str.5.sink5408 = phi ptr [ @.str.5, %11595 ], [ @.str.2, %11591 ]
  store i32 %11586, ptr %639, align 4, !tbaa !5
  %11597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11598 = load i32, ptr @test_count, align 4, !tbaa !5
  %11599 = load i32, ptr %585, align 4, !tbaa !5
  %11600 = call ptr @s2n_strerror(i32 noundef %11599, ptr noundef nonnull @.str.4) #12
  %11601 = load i32, ptr %585, align 4, !tbaa !5
  %11602 = call ptr @s2n_strerror_debug(i32 noundef %11601, ptr noundef nonnull @.str.4) #12
  %11603 = load i32, ptr %639, align 4, !tbaa !5
  %11604 = call ptr @strerror(i32 noundef %11603) #12
  %11605 = load i32, ptr %639, align 4, !tbaa !5
  %11606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11597, ptr noundef nonnull %.str.5.sink5408, i32 noundef %11598, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 970, ptr noundef %11600, ptr noundef %11602, ptr noundef %11604, i32 noundef %11605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11607:                                            ; preds = %11444
  %11608 = load i32, ptr %639, align 4, !tbaa !5
  %11609 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11610 = call i32 @s2n_print_stacktrace(ptr noundef %11609) #12
  %11611 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11612 = trunc nuw i8 %11611 to i1
  br i1 %11612, label %11613, label %11617

11613:                                            ; preds = %11607
  %11614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11615 = call i32 @fileno(ptr noundef %11614) #12
  %11616 = call i32 @isatty(i32 noundef %11615) #12
  %.not1476 = icmp eq i32 %11616, 0
  br i1 %.not1476, label %11617, label %11618

11617:                                            ; preds = %11613, %11607
  br label %11618

11618:                                            ; preds = %11613, %11617
  %.str.5.sink5417 = phi ptr [ @.str.5, %11617 ], [ @.str.2, %11613 ]
  store i32 %11608, ptr %639, align 4, !tbaa !5
  %11619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11620 = load i32, ptr @test_count, align 4, !tbaa !5
  %11621 = load i32, ptr %585, align 4, !tbaa !5
  %11622 = call ptr @s2n_strerror(i32 noundef %11621, ptr noundef nonnull @.str.4) #12
  %11623 = load i32, ptr %585, align 4, !tbaa !5
  %11624 = call ptr @s2n_strerror_debug(i32 noundef %11623, ptr noundef nonnull @.str.4) #12
  %11625 = load i32, ptr %639, align 4, !tbaa !5
  %11626 = call ptr @strerror(i32 noundef %11625) #12
  %11627 = load i32, ptr %639, align 4, !tbaa !5
  %11628 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11619, ptr noundef nonnull %.str.5.sink5417, i32 noundef %11620, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 973, ptr noundef %11622, ptr noundef %11624, ptr noundef %11626, i32 noundef %11627) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader1689.1:                                 ; preds = %11866
  %11629 = add nsw i32 %11867, 2
  store i32 %11629, ptr @test_count, align 4, !tbaa !5
  %11630 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11631 = icmp eq i32 %11630, -1
  br i1 %11631, label %11632, label %11738

11632:                                            ; preds = %.preheader1689.1
  %11633 = load i32, ptr @test_count, align 4, !tbaa !5
  %11634 = add nsw i32 %11633, 1
  store i32 %11634, ptr @test_count, align 4, !tbaa !5
  %11635 = load i32, ptr %585, align 4, !tbaa !5
  %11636 = icmp eq i32 %11635, 201326592
  br i1 %11636, label %11637, label %11765

11637:                                            ; preds = %11632
  %11638 = add nsw i32 %11633, 2
  store i32 %11638, ptr @test_count, align 4, !tbaa !5
  %11639 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11640 = icmp eq ptr %11639, null
  br i1 %11640, label %11791, label %11641

11641:                                            ; preds = %11637
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11642 = load i32, ptr @test_count, align 4, !tbaa !5
  %11643 = add nsw i32 %11642, 1
  store i32 %11643, ptr @test_count, align 4, !tbaa !5
  %11644 = load i32, ptr %111, align 4, !tbaa !5
  %11645 = icmp eq i32 %11644, 1
  br i1 %11645, label %11646, label %11818

11646:                                            ; preds = %11641
  %11647 = add nsw i32 %11642, 2
  store i32 %11647, ptr @test_count, align 4, !tbaa !5
  %11648 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11649 = icmp eq i32 %11648, 19
  br i1 %11649, label %11650, label %11844

11650:                                            ; preds = %11646
  %11651 = load i32, ptr @test_count, align 4, !tbaa !5
  %11652 = add nsw i32 %11651, 1
  store i32 %11652, ptr @test_count, align 4, !tbaa !5
  %11653 = load i64, ptr %112, align 8, !tbaa !42
  %11654 = icmp eq i64 %11653, 0
  br i1 %11654, label %.preheader1689.2, label %11871

.preheader1689.2:                                 ; preds = %11650
  %11655 = add nsw i32 %11651, 2
  store i32 %11655, ptr @test_count, align 4, !tbaa !5
  %11656 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11657 = icmp eq i32 %11656, -1
  br i1 %11657, label %11658, label %11738

11658:                                            ; preds = %.preheader1689.2
  %11659 = load i32, ptr @test_count, align 4, !tbaa !5
  %11660 = add nsw i32 %11659, 1
  store i32 %11660, ptr @test_count, align 4, !tbaa !5
  %11661 = load i32, ptr %585, align 4, !tbaa !5
  %11662 = icmp eq i32 %11661, 201326592
  br i1 %11662, label %11663, label %11765

11663:                                            ; preds = %11658
  %11664 = add nsw i32 %11659, 2
  store i32 %11664, ptr @test_count, align 4, !tbaa !5
  %11665 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11666 = icmp eq ptr %11665, null
  br i1 %11666, label %11791, label %11667

11667:                                            ; preds = %11663
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11668 = load i32, ptr @test_count, align 4, !tbaa !5
  %11669 = add nsw i32 %11668, 1
  store i32 %11669, ptr @test_count, align 4, !tbaa !5
  %11670 = load i32, ptr %111, align 4, !tbaa !5
  %11671 = icmp eq i32 %11670, 1
  br i1 %11671, label %11672, label %11818

11672:                                            ; preds = %11667
  %11673 = add nsw i32 %11668, 2
  store i32 %11673, ptr @test_count, align 4, !tbaa !5
  %11674 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11675 = icmp eq i32 %11674, 19
  br i1 %11675, label %11676, label %11844

11676:                                            ; preds = %11672
  %11677 = load i32, ptr @test_count, align 4, !tbaa !5
  %11678 = add nsw i32 %11677, 1
  store i32 %11678, ptr @test_count, align 4, !tbaa !5
  %11679 = load i64, ptr %112, align 8, !tbaa !42
  %11680 = icmp eq i64 %11679, 0
  br i1 %11680, label %.preheader1689.3, label %11871

.preheader1689.3:                                 ; preds = %11676
  %11681 = add nsw i32 %11677, 2
  store i32 %11681, ptr @test_count, align 4, !tbaa !5
  %11682 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11683 = icmp eq i32 %11682, -1
  br i1 %11683, label %11684, label %11738

11684:                                            ; preds = %.preheader1689.3
  %11685 = load i32, ptr @test_count, align 4, !tbaa !5
  %11686 = add nsw i32 %11685, 1
  store i32 %11686, ptr @test_count, align 4, !tbaa !5
  %11687 = load i32, ptr %585, align 4, !tbaa !5
  %11688 = icmp eq i32 %11687, 201326592
  br i1 %11688, label %11689, label %11765

11689:                                            ; preds = %11684
  %11690 = add nsw i32 %11685, 2
  store i32 %11690, ptr @test_count, align 4, !tbaa !5
  %11691 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11692 = icmp eq ptr %11691, null
  br i1 %11692, label %11791, label %11693

11693:                                            ; preds = %11689
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11694 = load i32, ptr @test_count, align 4, !tbaa !5
  %11695 = add nsw i32 %11694, 1
  store i32 %11695, ptr @test_count, align 4, !tbaa !5
  %11696 = load i32, ptr %111, align 4, !tbaa !5
  %11697 = icmp eq i32 %11696, 1
  br i1 %11697, label %11698, label %11818

11698:                                            ; preds = %11693
  %11699 = add nsw i32 %11694, 2
  store i32 %11699, ptr @test_count, align 4, !tbaa !5
  %11700 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11701 = icmp eq i32 %11700, 19
  br i1 %11701, label %11702, label %11844

11702:                                            ; preds = %11698
  %11703 = load i32, ptr @test_count, align 4, !tbaa !5
  %11704 = add nsw i32 %11703, 1
  store i32 %11704, ptr @test_count, align 4, !tbaa !5
  %11705 = load i64, ptr %112, align 8, !tbaa !42
  %11706 = icmp eq i64 %11705, 0
  br i1 %11706, label %.preheader1689.4, label %11871

.preheader1689.4:                                 ; preds = %11702
  %11707 = add nsw i32 %11703, 2
  store i32 %11707, ptr @test_count, align 4, !tbaa !5
  %11708 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11709 = icmp eq i32 %11708, -1
  br i1 %11709, label %11710, label %11738

11710:                                            ; preds = %.preheader1689.4
  %11711 = load i32, ptr @test_count, align 4, !tbaa !5
  %11712 = add nsw i32 %11711, 1
  store i32 %11712, ptr @test_count, align 4, !tbaa !5
  %11713 = load i32, ptr %585, align 4, !tbaa !5
  %11714 = icmp eq i32 %11713, 201326592
  br i1 %11714, label %11715, label %11765

11715:                                            ; preds = %11710
  %11716 = add nsw i32 %11711, 2
  store i32 %11716, ptr @test_count, align 4, !tbaa !5
  %11717 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11718 = icmp eq ptr %11717, null
  br i1 %11718, label %11791, label %11719

11719:                                            ; preds = %11715
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11720 = load i32, ptr @test_count, align 4, !tbaa !5
  %11721 = add nsw i32 %11720, 1
  store i32 %11721, ptr @test_count, align 4, !tbaa !5
  %11722 = load i32, ptr %111, align 4, !tbaa !5
  %11723 = icmp eq i32 %11722, 1
  br i1 %11723, label %11724, label %11818

11724:                                            ; preds = %11719
  %11725 = add nsw i32 %11720, 2
  store i32 %11725, ptr @test_count, align 4, !tbaa !5
  %11726 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11727 = icmp eq i32 %11726, 19
  br i1 %11727, label %11728, label %11844

11728:                                            ; preds = %11724
  %11729 = load i32, ptr @test_count, align 4, !tbaa !5
  %11730 = add nsw i32 %11729, 1
  store i32 %11730, ptr @test_count, align 4, !tbaa !5
  %11731 = load i64, ptr %112, align 8, !tbaa !42
  %11732 = icmp eq i64 %11731, 0
  br i1 %11732, label %11733, label %11871

11733:                                            ; preds = %11728
  %11734 = add nsw i32 %11729, 2
  store i32 %11734, ptr @test_count, align 4, !tbaa !5
  %11735 = getelementptr inbounds i8, ptr %10854, i64 4088
  %11736 = load i32, ptr %11735, align 8, !tbaa !55
  %11737 = icmp eq i32 %11736, 3
  br i1 %11737, label %11915, label %11893

11738:                                            ; preds = %.preheader1689.4, %.preheader1689.3, %.preheader1689.2, %.preheader1689.1, %.preheader1689.preheader
  %11739 = load i32, ptr %639, align 4, !tbaa !5
  %11740 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11741 = call i32 @s2n_print_stacktrace(ptr noundef %11740) #12
  %11742 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11743 = trunc nuw i8 %11742 to i1
  br i1 %11743, label %11744, label %11748

11744:                                            ; preds = %11738
  %11745 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11746 = call i32 @fileno(ptr noundef %11745) #12
  %11747 = call i32 @isatty(i32 noundef %11746) #12
  %.not1470 = icmp eq i32 %11747, 0
  br i1 %.not1470, label %11748, label %11749

11748:                                            ; preds = %11744, %11738
  br label %11749

11749:                                            ; preds = %11744, %11748
  %.str.5.sink5426 = phi ptr [ @.str.5, %11748 ], [ @.str.2, %11744 ]
  store i32 %11739, ptr %639, align 4, !tbaa !5
  %11750 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11751 = load i32, ptr @test_count, align 4, !tbaa !5
  %11752 = load i32, ptr %585, align 4, !tbaa !5
  %11753 = call ptr @s2n_strerror(i32 noundef %11752, ptr noundef nonnull @.str.4) #12
  %11754 = load i32, ptr %585, align 4, !tbaa !5
  %11755 = call ptr @s2n_strerror_debug(i32 noundef %11754, ptr noundef nonnull @.str.4) #12
  %11756 = load i32, ptr %639, align 4, !tbaa !5
  %11757 = call ptr @strerror(i32 noundef %11756) #12
  %11758 = load i32, ptr %639, align 4, !tbaa !5
  %11759 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11750, ptr noundef nonnull %.str.5.sink5426, i32 noundef %11751, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %11753, ptr noundef %11755, ptr noundef %11757, i32 noundef %11758) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11760:                                            ; preds = %.preheader1689.preheader
  %11761 = load i32, ptr @test_count, align 4, !tbaa !5
  %11762 = add nsw i32 %11761, 1
  store i32 %11762, ptr @test_count, align 4, !tbaa !5
  %11763 = load i32, ptr %585, align 4, !tbaa !5
  %11764 = icmp eq i32 %11763, 201326592
  br i1 %11764, label %11787, label %11765

11765:                                            ; preds = %11710, %11684, %11658, %11632, %11760
  %11766 = load i32, ptr %639, align 4, !tbaa !5
  %11767 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11768 = call i32 @s2n_print_stacktrace(ptr noundef %11767) #12
  %11769 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11770 = trunc nuw i8 %11769 to i1
  br i1 %11770, label %11771, label %11775

11771:                                            ; preds = %11765
  %11772 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11773 = call i32 @fileno(ptr noundef %11772) #12
  %11774 = call i32 @isatty(i32 noundef %11773) #12
  %.not1471 = icmp eq i32 %11774, 0
  br i1 %.not1471, label %11775, label %11776

11775:                                            ; preds = %11771, %11765
  br label %11776

11776:                                            ; preds = %11771, %11775
  %.str.5.sink5435 = phi ptr [ @.str.5, %11775 ], [ @.str.2, %11771 ]
  store i32 %11766, ptr %639, align 4, !tbaa !5
  %11777 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11778 = load i32, ptr @test_count, align 4, !tbaa !5
  %11779 = load i32, ptr %585, align 4, !tbaa !5
  %11780 = call ptr @s2n_strerror(i32 noundef %11779, ptr noundef nonnull @.str.4) #12
  %11781 = load i32, ptr %585, align 4, !tbaa !5
  %11782 = call ptr @s2n_strerror_debug(i32 noundef %11781, ptr noundef nonnull @.str.4) #12
  %11783 = load i32, ptr %639, align 4, !tbaa !5
  %11784 = call ptr @strerror(i32 noundef %11783) #12
  %11785 = load i32, ptr %639, align 4, !tbaa !5
  %11786 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11777, ptr noundef nonnull %.str.5.sink5435, i32 noundef %11778, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %11780, ptr noundef %11782, ptr noundef %11784, i32 noundef %11785) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11787:                                            ; preds = %11760
  %11788 = add nsw i32 %11761, 2
  store i32 %11788, ptr @test_count, align 4, !tbaa !5
  %11789 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11790 = icmp eq ptr %11789, null
  br i1 %11790, label %11791, label %11813

11791:                                            ; preds = %11715, %11689, %11663, %11637, %11787
  %11792 = load i32, ptr %639, align 4, !tbaa !5
  %11793 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11794 = call i32 @s2n_print_stacktrace(ptr noundef %11793) #12
  %11795 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11796 = trunc nuw i8 %11795 to i1
  br i1 %11796, label %11797, label %11801

11797:                                            ; preds = %11791
  %11798 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11799 = call i32 @fileno(ptr noundef %11798) #12
  %11800 = call i32 @isatty(i32 noundef %11799) #12
  %.not1475 = icmp eq i32 %11800, 0
  br i1 %.not1475, label %11801, label %11802

11801:                                            ; preds = %11797, %11791
  br label %11802

11802:                                            ; preds = %11797, %11801
  %.str.5.sink5444 = phi ptr [ @.str.5, %11801 ], [ @.str.2, %11797 ]
  store i32 %11792, ptr %639, align 4, !tbaa !5
  %11803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11804 = load i32, ptr @test_count, align 4, !tbaa !5
  %11805 = load i32, ptr %585, align 4, !tbaa !5
  %11806 = call ptr @s2n_strerror(i32 noundef %11805, ptr noundef nonnull @.str.4) #12
  %11807 = load i32, ptr %585, align 4, !tbaa !5
  %11808 = call ptr @s2n_strerror_debug(i32 noundef %11807, ptr noundef nonnull @.str.4) #12
  %11809 = load i32, ptr %639, align 4, !tbaa !5
  %11810 = call ptr @strerror(i32 noundef %11809) #12
  %11811 = load i32, ptr %639, align 4, !tbaa !5
  %11812 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11803, ptr noundef nonnull %.str.5.sink5444, i32 noundef %11804, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 976, ptr noundef %11806, ptr noundef %11808, ptr noundef %11810, i32 noundef %11811) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11813:                                            ; preds = %11787
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %11814 = load i32, ptr @test_count, align 4, !tbaa !5
  %11815 = add nsw i32 %11814, 1
  store i32 %11815, ptr @test_count, align 4, !tbaa !5
  %11816 = load i32, ptr %111, align 4, !tbaa !5
  %11817 = icmp eq i32 %11816, 1
  br i1 %11817, label %11840, label %11818

11818:                                            ; preds = %11719, %11693, %11667, %11641, %11813
  %11819 = load i32, ptr %639, align 4, !tbaa !5
  %11820 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11821 = call i32 @s2n_print_stacktrace(ptr noundef %11820) #12
  %11822 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11823 = trunc nuw i8 %11822 to i1
  br i1 %11823, label %11824, label %11828

11824:                                            ; preds = %11818
  %11825 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11826 = call i32 @fileno(ptr noundef %11825) #12
  %11827 = call i32 @isatty(i32 noundef %11826) #12
  %.not1472 = icmp eq i32 %11827, 0
  br i1 %.not1472, label %11828, label %11829

11828:                                            ; preds = %11824, %11818
  br label %11829

11829:                                            ; preds = %11824, %11828
  %.str.5.sink5453 = phi ptr [ @.str.5, %11828 ], [ @.str.2, %11824 ]
  store i32 %11819, ptr %639, align 4, !tbaa !5
  %11830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11831 = load i32, ptr @test_count, align 4, !tbaa !5
  %11832 = load i32, ptr %585, align 4, !tbaa !5
  %11833 = call ptr @s2n_strerror(i32 noundef %11832, ptr noundef nonnull @.str.4) #12
  %11834 = load i32, ptr %585, align 4, !tbaa !5
  %11835 = call ptr @s2n_strerror_debug(i32 noundef %11834, ptr noundef nonnull @.str.4) #12
  %11836 = load i32, ptr %639, align 4, !tbaa !5
  %11837 = call ptr @strerror(i32 noundef %11836) #12
  %11838 = load i32, ptr %639, align 4, !tbaa !5
  %11839 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11830, ptr noundef nonnull %.str.5.sink5453, i32 noundef %11831, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 977, ptr noundef %11833, ptr noundef %11835, ptr noundef %11837, i32 noundef %11838) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11840:                                            ; preds = %11813
  %11841 = add nsw i32 %11814, 2
  store i32 %11841, ptr @test_count, align 4, !tbaa !5
  %11842 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %11843 = icmp eq i32 %11842, 19
  br i1 %11843, label %11866, label %11844

11844:                                            ; preds = %11724, %11698, %11672, %11646, %11840
  %11845 = load i32, ptr %639, align 4, !tbaa !5
  %11846 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11847 = call i32 @s2n_print_stacktrace(ptr noundef %11846) #12
  %11848 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11849 = trunc nuw i8 %11848 to i1
  br i1 %11849, label %11850, label %11854

11850:                                            ; preds = %11844
  %11851 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11852 = call i32 @fileno(ptr noundef %11851) #12
  %11853 = call i32 @isatty(i32 noundef %11852) #12
  %.not1473 = icmp eq i32 %11853, 0
  br i1 %.not1473, label %11854, label %11855

11854:                                            ; preds = %11850, %11844
  br label %11855

11855:                                            ; preds = %11850, %11854
  %.str.5.sink5462 = phi ptr [ @.str.5, %11854 ], [ @.str.2, %11850 ]
  store i32 %11845, ptr %639, align 4, !tbaa !5
  %11856 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11857 = load i32, ptr @test_count, align 4, !tbaa !5
  %11858 = load i32, ptr %585, align 4, !tbaa !5
  %11859 = call ptr @s2n_strerror(i32 noundef %11858, ptr noundef nonnull @.str.4) #12
  %11860 = load i32, ptr %585, align 4, !tbaa !5
  %11861 = call ptr @s2n_strerror_debug(i32 noundef %11860, ptr noundef nonnull @.str.4) #12
  %11862 = load i32, ptr %639, align 4, !tbaa !5
  %11863 = call ptr @strerror(i32 noundef %11862) #12
  %11864 = load i32, ptr %639, align 4, !tbaa !5
  %11865 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11856, ptr noundef nonnull %.str.5.sink5462, i32 noundef %11857, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 977, ptr noundef %11859, ptr noundef %11861, ptr noundef %11863, i32 noundef %11864) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11866:                                            ; preds = %11840
  %11867 = load i32, ptr @test_count, align 4, !tbaa !5
  %11868 = add nsw i32 %11867, 1
  store i32 %11868, ptr @test_count, align 4, !tbaa !5
  %11869 = load i64, ptr %112, align 8, !tbaa !42
  %11870 = icmp eq i64 %11869, 0
  br i1 %11870, label %.preheader1689.1, label %11871

11871:                                            ; preds = %11728, %11702, %11676, %11650, %11866
  %11872 = load i32, ptr %639, align 4, !tbaa !5
  %11873 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11874 = call i32 @s2n_print_stacktrace(ptr noundef %11873) #12
  %11875 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11876 = trunc nuw i8 %11875 to i1
  br i1 %11876, label %11877, label %11881

11877:                                            ; preds = %11871
  %11878 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11879 = call i32 @fileno(ptr noundef %11878) #12
  %11880 = call i32 @isatty(i32 noundef %11879) #12
  %.not1474 = icmp eq i32 %11880, 0
  br i1 %.not1474, label %11881, label %11882

11881:                                            ; preds = %11877, %11871
  br label %11882

11882:                                            ; preds = %11877, %11881
  %.str.5.sink5471 = phi ptr [ @.str.5, %11881 ], [ @.str.2, %11877 ]
  store i32 %11872, ptr %639, align 4, !tbaa !5
  %11883 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11884 = load i32, ptr @test_count, align 4, !tbaa !5
  %11885 = load i32, ptr %585, align 4, !tbaa !5
  %11886 = call ptr @s2n_strerror(i32 noundef %11885, ptr noundef nonnull @.str.4) #12
  %11887 = load i32, ptr %585, align 4, !tbaa !5
  %11888 = call ptr @s2n_strerror_debug(i32 noundef %11887, ptr noundef nonnull @.str.4) #12
  %11889 = load i32, ptr %639, align 4, !tbaa !5
  %11890 = call ptr @strerror(i32 noundef %11889) #12
  %11891 = load i32, ptr %639, align 4, !tbaa !5
  %11892 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11883, ptr noundef nonnull %.str.5.sink5471, i32 noundef %11884, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 978, ptr noundef %11886, ptr noundef %11888, ptr noundef %11890, i32 noundef %11891) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11893:                                            ; preds = %11733
  %11894 = load i32, ptr %639, align 4, !tbaa !5
  %11895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11896 = call i32 @s2n_print_stacktrace(ptr noundef %11895) #12
  %11897 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11898 = trunc nuw i8 %11897 to i1
  br i1 %11898, label %11899, label %11903

11899:                                            ; preds = %11893
  %11900 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11901 = call i32 @fileno(ptr noundef %11900) #12
  %11902 = call i32 @isatty(i32 noundef %11901) #12
  %.not1387 = icmp eq i32 %11902, 0
  br i1 %.not1387, label %11903, label %11904

11903:                                            ; preds = %11899, %11893
  br label %11904

11904:                                            ; preds = %11899, %11903
  %.str.5.sink5480 = phi ptr [ @.str.5, %11903 ], [ @.str.2, %11899 ]
  store i32 %11894, ptr %639, align 4, !tbaa !5
  %11905 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11906 = load i32, ptr @test_count, align 4, !tbaa !5
  %11907 = load i32, ptr %585, align 4, !tbaa !5
  %11908 = call ptr @s2n_strerror(i32 noundef %11907, ptr noundef nonnull @.str.4) #12
  %11909 = load i32, ptr %585, align 4, !tbaa !5
  %11910 = call ptr @s2n_strerror_debug(i32 noundef %11909, ptr noundef nonnull @.str.4) #12
  %11911 = load i32, ptr %639, align 4, !tbaa !5
  %11912 = call ptr @strerror(i32 noundef %11911) #12
  %11913 = load i32, ptr %639, align 4, !tbaa !5
  %11914 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11905, ptr noundef nonnull %.str.5.sink5480, i32 noundef %11906, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 980, ptr noundef %11908, ptr noundef %11910, ptr noundef %11912, i32 noundef %11913) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11915:                                            ; preds = %11733
  %11916 = add nsw i32 %11729, 3
  store i32 %11916, ptr @test_count, align 4, !tbaa !5
  %11917 = call i32 @s2n_stuffer_write(ptr noundef nonnull %108, ptr noundef nonnull %101) #12
  %11918 = icmp eq i32 %11917, -1
  br i1 %11918, label %11919, label %11941

11919:                                            ; preds = %11915
  %11920 = load i32, ptr %639, align 4, !tbaa !5
  %11921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11922 = call i32 @s2n_print_stacktrace(ptr noundef %11921) #12
  %11923 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11924 = trunc nuw i8 %11923 to i1
  br i1 %11924, label %11925, label %11929

11925:                                            ; preds = %11919
  %11926 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11927 = call i32 @fileno(ptr noundef %11926) #12
  %11928 = call i32 @isatty(i32 noundef %11927) #12
  %.not1469 = icmp eq i32 %11928, 0
  br i1 %.not1469, label %11929, label %11930

11929:                                            ; preds = %11925, %11919
  br label %11930

11930:                                            ; preds = %11925, %11929
  %.str.5.sink5489 = phi ptr [ @.str.5, %11929 ], [ @.str.2, %11925 ]
  store i32 %11920, ptr %639, align 4, !tbaa !5
  %11931 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11932 = load i32, ptr @test_count, align 4, !tbaa !5
  %11933 = load i32, ptr %585, align 4, !tbaa !5
  %11934 = call ptr @s2n_strerror(i32 noundef %11933, ptr noundef nonnull @.str.4) #12
  %11935 = load i32, ptr %585, align 4, !tbaa !5
  %11936 = call ptr @s2n_strerror_debug(i32 noundef %11935, ptr noundef nonnull @.str.4) #12
  %11937 = load i32, ptr %639, align 4, !tbaa !5
  %11938 = call ptr @strerror(i32 noundef %11937) #12
  %11939 = load i32, ptr %639, align 4, !tbaa !5
  %11940 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11931, ptr noundef nonnull %.str.5.sink5489, i32 noundef %11932, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 982, ptr noundef %11934, ptr noundef %11936, ptr noundef %11938, i32 noundef %11939) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11941:                                            ; preds = %11915
  %11942 = load i32, ptr @test_count, align 4, !tbaa !5
  %11943 = add nsw i32 %11942, 1
  store i32 %11943, ptr @test_count, align 4, !tbaa !5
  %11944 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %11945 = icmp eq i32 %11944, -1
  br i1 %11945, label %11968, label %11946

11946:                                            ; preds = %11941
  %11947 = load i32, ptr %639, align 4, !tbaa !5
  %11948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11949 = call i32 @s2n_print_stacktrace(ptr noundef %11948) #12
  %11950 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11951 = trunc nuw i8 %11950 to i1
  br i1 %11951, label %11952, label %11956

11952:                                            ; preds = %11946
  %11953 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11954 = call i32 @fileno(ptr noundef %11953) #12
  %11955 = call i32 @isatty(i32 noundef %11954) #12
  %.not1388 = icmp eq i32 %11955, 0
  br i1 %.not1388, label %11956, label %11957

11956:                                            ; preds = %11952, %11946
  br label %11957

11957:                                            ; preds = %11952, %11956
  %.str.5.sink5498 = phi ptr [ @.str.5, %11956 ], [ @.str.2, %11952 ]
  store i32 %11947, ptr %639, align 4, !tbaa !5
  %11958 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11959 = load i32, ptr @test_count, align 4, !tbaa !5
  %11960 = load i32, ptr %585, align 4, !tbaa !5
  %11961 = call ptr @s2n_strerror(i32 noundef %11960, ptr noundef nonnull @.str.4) #12
  %11962 = load i32, ptr %585, align 4, !tbaa !5
  %11963 = call ptr @s2n_strerror_debug(i32 noundef %11962, ptr noundef nonnull @.str.4) #12
  %11964 = load i32, ptr %639, align 4, !tbaa !5
  %11965 = call ptr @strerror(i32 noundef %11964) #12
  %11966 = load i32, ptr %639, align 4, !tbaa !5
  %11967 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11958, ptr noundef nonnull %.str.5.sink5498, i32 noundef %11959, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %11961, ptr noundef %11963, ptr noundef %11965, i32 noundef %11966) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11968:                                            ; preds = %11941
  %11969 = load i32, ptr @test_count, align 4, !tbaa !5
  %11970 = add nsw i32 %11969, 1
  store i32 %11970, ptr @test_count, align 4, !tbaa !5
  %11971 = load i32, ptr %585, align 4, !tbaa !5
  %11972 = icmp eq i32 %11971, 201326592
  br i1 %11972, label %11995, label %11973

11973:                                            ; preds = %11968
  %11974 = load i32, ptr %639, align 4, !tbaa !5
  %11975 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11976 = call i32 @s2n_print_stacktrace(ptr noundef %11975) #12
  %11977 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %11978 = trunc nuw i8 %11977 to i1
  br i1 %11978, label %11979, label %11983

11979:                                            ; preds = %11973
  %11980 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11981 = call i32 @fileno(ptr noundef %11980) #12
  %11982 = call i32 @isatty(i32 noundef %11981) #12
  %.not1389 = icmp eq i32 %11982, 0
  br i1 %.not1389, label %11983, label %11984

11983:                                            ; preds = %11979, %11973
  br label %11984

11984:                                            ; preds = %11979, %11983
  %.str.5.sink5507 = phi ptr [ @.str.5, %11983 ], [ @.str.2, %11979 ]
  store i32 %11974, ptr %639, align 4, !tbaa !5
  %11985 = load ptr, ptr @stderr, align 8, !tbaa !9
  %11986 = load i32, ptr @test_count, align 4, !tbaa !5
  %11987 = load i32, ptr %585, align 4, !tbaa !5
  %11988 = call ptr @s2n_strerror(i32 noundef %11987, ptr noundef nonnull @.str.4) #12
  %11989 = load i32, ptr %585, align 4, !tbaa !5
  %11990 = call ptr @s2n_strerror_debug(i32 noundef %11989, ptr noundef nonnull @.str.4) #12
  %11991 = load i32, ptr %639, align 4, !tbaa !5
  %11992 = call ptr @strerror(i32 noundef %11991) #12
  %11993 = load i32, ptr %639, align 4, !tbaa !5
  %11994 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %11985, ptr noundef nonnull %.str.5.sink5507, i32 noundef %11986, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %11988, ptr noundef %11990, ptr noundef %11992, i32 noundef %11993) #14
  call void @exit(i32 noundef 1) #15
  unreachable

11995:                                            ; preds = %11968
  %11996 = add nsw i32 %11969, 2
  store i32 %11996, ptr @test_count, align 4, !tbaa !5
  %11997 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %11998 = icmp eq ptr %11997, null
  br i1 %11998, label %11999, label %12021

11999:                                            ; preds = %11995
  %12000 = load i32, ptr %639, align 4, !tbaa !5
  %12001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12002 = call i32 @s2n_print_stacktrace(ptr noundef %12001) #12
  %12003 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12004 = trunc nuw i8 %12003 to i1
  br i1 %12004, label %12005, label %12009

12005:                                            ; preds = %11999
  %12006 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12007 = call i32 @fileno(ptr noundef %12006) #12
  %12008 = call i32 @isatty(i32 noundef %12007) #12
  %.not1468 = icmp eq i32 %12008, 0
  br i1 %.not1468, label %12009, label %12010

12009:                                            ; preds = %12005, %11999
  br label %12010

12010:                                            ; preds = %12005, %12009
  %.str.5.sink5516 = phi ptr [ @.str.5, %12009 ], [ @.str.2, %12005 ]
  store i32 %12000, ptr %639, align 4, !tbaa !5
  %12011 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12012 = load i32, ptr @test_count, align 4, !tbaa !5
  %12013 = load i32, ptr %585, align 4, !tbaa !5
  %12014 = call ptr @s2n_strerror(i32 noundef %12013, ptr noundef nonnull @.str.4) #12
  %12015 = load i32, ptr %585, align 4, !tbaa !5
  %12016 = call ptr @s2n_strerror_debug(i32 noundef %12015, ptr noundef nonnull @.str.4) #12
  %12017 = load i32, ptr %639, align 4, !tbaa !5
  %12018 = call ptr @strerror(i32 noundef %12017) #12
  %12019 = load i32, ptr %639, align 4, !tbaa !5
  %12020 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12011, ptr noundef nonnull %.str.5.sink5516, i32 noundef %12012, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 984, ptr noundef %12014, ptr noundef %12016, ptr noundef %12018, i32 noundef %12019) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12021:                                            ; preds = %11995
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12022 = load i32, ptr @test_count, align 4, !tbaa !5
  %12023 = add nsw i32 %12022, 1
  store i32 %12023, ptr @test_count, align 4, !tbaa !5
  %12024 = load i32, ptr %111, align 4, !tbaa !5
  %12025 = icmp eq i32 %12024, 1
  br i1 %12025, label %12048, label %12026

12026:                                            ; preds = %12021
  %12027 = load i32, ptr %639, align 4, !tbaa !5
  %12028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12029 = call i32 @s2n_print_stacktrace(ptr noundef %12028) #12
  %12030 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12031 = trunc nuw i8 %12030 to i1
  br i1 %12031, label %12032, label %12036

12032:                                            ; preds = %12026
  %12033 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12034 = call i32 @fileno(ptr noundef %12033) #12
  %12035 = call i32 @isatty(i32 noundef %12034) #12
  %.not1390 = icmp eq i32 %12035, 0
  br i1 %.not1390, label %12036, label %12037

12036:                                            ; preds = %12032, %12026
  br label %12037

12037:                                            ; preds = %12032, %12036
  %.str.5.sink5525 = phi ptr [ @.str.5, %12036 ], [ @.str.2, %12032 ]
  store i32 %12027, ptr %639, align 4, !tbaa !5
  %12038 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12039 = load i32, ptr @test_count, align 4, !tbaa !5
  %12040 = load i32, ptr %585, align 4, !tbaa !5
  %12041 = call ptr @s2n_strerror(i32 noundef %12040, ptr noundef nonnull @.str.4) #12
  %12042 = load i32, ptr %585, align 4, !tbaa !5
  %12043 = call ptr @s2n_strerror_debug(i32 noundef %12042, ptr noundef nonnull @.str.4) #12
  %12044 = load i32, ptr %639, align 4, !tbaa !5
  %12045 = call ptr @strerror(i32 noundef %12044) #12
  %12046 = load i32, ptr %639, align 4, !tbaa !5
  %12047 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12038, ptr noundef nonnull %.str.5.sink5525, i32 noundef %12039, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 985, ptr noundef %12041, ptr noundef %12043, ptr noundef %12045, i32 noundef %12046) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12048:                                            ; preds = %12021
  %12049 = add nsw i32 %12022, 2
  store i32 %12049, ptr @test_count, align 4, !tbaa !5
  %12050 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12051 = icmp eq i32 %12050, 19
  br i1 %12051, label %12074, label %12052

12052:                                            ; preds = %12048
  %12053 = load i32, ptr %639, align 4, !tbaa !5
  %12054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12055 = call i32 @s2n_print_stacktrace(ptr noundef %12054) #12
  %12056 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12057 = trunc nuw i8 %12056 to i1
  br i1 %12057, label %12058, label %12062

12058:                                            ; preds = %12052
  %12059 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12060 = call i32 @fileno(ptr noundef %12059) #12
  %12061 = call i32 @isatty(i32 noundef %12060) #12
  %.not1391 = icmp eq i32 %12061, 0
  br i1 %.not1391, label %12062, label %12063

12062:                                            ; preds = %12058, %12052
  br label %12063

12063:                                            ; preds = %12058, %12062
  %.str.5.sink5534 = phi ptr [ @.str.5, %12062 ], [ @.str.2, %12058 ]
  store i32 %12053, ptr %639, align 4, !tbaa !5
  %12064 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12065 = load i32, ptr @test_count, align 4, !tbaa !5
  %12066 = load i32, ptr %585, align 4, !tbaa !5
  %12067 = call ptr @s2n_strerror(i32 noundef %12066, ptr noundef nonnull @.str.4) #12
  %12068 = load i32, ptr %585, align 4, !tbaa !5
  %12069 = call ptr @s2n_strerror_debug(i32 noundef %12068, ptr noundef nonnull @.str.4) #12
  %12070 = load i32, ptr %639, align 4, !tbaa !5
  %12071 = call ptr @strerror(i32 noundef %12070) #12
  %12072 = load i32, ptr %639, align 4, !tbaa !5
  %12073 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12064, ptr noundef nonnull %.str.5.sink5534, i32 noundef %12065, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 985, ptr noundef %12067, ptr noundef %12069, ptr noundef %12071, i32 noundef %12072) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12074:                                            ; preds = %12048
  %12075 = load i32, ptr @test_count, align 4, !tbaa !5
  %12076 = add nsw i32 %12075, 1
  store i32 %12076, ptr @test_count, align 4, !tbaa !5
  %12077 = load i64, ptr %112, align 8, !tbaa !42
  %12078 = load i32, ptr %10690, align 8, !tbaa !53
  %12079 = zext i32 %12078 to i64
  %12080 = icmp eq i64 %12077, %12079
  br i1 %12080, label %12103, label %12081

12081:                                            ; preds = %12074
  %12082 = load i32, ptr %639, align 4, !tbaa !5
  %12083 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12084 = call i32 @s2n_print_stacktrace(ptr noundef %12083) #12
  %12085 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12086 = trunc nuw i8 %12085 to i1
  br i1 %12086, label %12087, label %12091

12087:                                            ; preds = %12081
  %12088 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12089 = call i32 @fileno(ptr noundef %12088) #12
  %12090 = call i32 @isatty(i32 noundef %12089) #12
  %.not1392 = icmp eq i32 %12090, 0
  br i1 %.not1392, label %12091, label %12092

12091:                                            ; preds = %12087, %12081
  br label %12092

12092:                                            ; preds = %12087, %12091
  %.str.5.sink5543 = phi ptr [ @.str.5, %12091 ], [ @.str.2, %12087 ]
  store i32 %12082, ptr %639, align 4, !tbaa !5
  %12093 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12094 = load i32, ptr @test_count, align 4, !tbaa !5
  %12095 = load i32, ptr %585, align 4, !tbaa !5
  %12096 = call ptr @s2n_strerror(i32 noundef %12095, ptr noundef nonnull @.str.4) #12
  %12097 = load i32, ptr %585, align 4, !tbaa !5
  %12098 = call ptr @s2n_strerror_debug(i32 noundef %12097, ptr noundef nonnull @.str.4) #12
  %12099 = load i32, ptr %639, align 4, !tbaa !5
  %12100 = call ptr @strerror(i32 noundef %12099) #12
  %12101 = load i32, ptr %639, align 4, !tbaa !5
  %12102 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12093, ptr noundef nonnull %.str.5.sink5543, i32 noundef %12094, ptr noundef nonnull @.str.137, ptr noundef nonnull @.str.1, i32 noundef 986, ptr noundef %12096, ptr noundef %12098, ptr noundef %12100, i32 noundef %12101) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12103:                                            ; preds = %12074
  %.not1393 = icmp eq i32 %12078, 0
  br i1 %.not1393, label %12130, label %12104

12104:                                            ; preds = %12103
  %12105 = add nsw i32 %12075, 2
  store i32 %12105, ptr @test_count, align 4, !tbaa !5
  %12106 = load ptr, ptr %100, align 8, !tbaa !52
  %bcmp1394 = call i32 @bcmp(ptr nonnull %110, ptr %12106, i64 %12077)
  %12107 = icmp eq i32 %bcmp1394, 0
  br i1 %12107, label %12130, label %12108

12108:                                            ; preds = %12104
  %12109 = load i32, ptr %639, align 4, !tbaa !5
  %12110 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12111 = call i32 @s2n_print_stacktrace(ptr noundef %12110) #12
  %12112 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12113 = trunc nuw i8 %12112 to i1
  br i1 %12113, label %12114, label %12118

12114:                                            ; preds = %12108
  %12115 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12116 = call i32 @fileno(ptr noundef %12115) #12
  %12117 = call i32 @isatty(i32 noundef %12116) #12
  %.not1395 = icmp eq i32 %12117, 0
  br i1 %.not1395, label %12118, label %12119

12118:                                            ; preds = %12114, %12108
  br label %12119

12119:                                            ; preds = %12114, %12118
  %.str.5.sink5552 = phi ptr [ @.str.5, %12118 ], [ @.str.2, %12114 ]
  store i32 %12109, ptr %639, align 4, !tbaa !5
  %12120 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12121 = load i32, ptr @test_count, align 4, !tbaa !5
  %12122 = load i32, ptr %585, align 4, !tbaa !5
  %12123 = call ptr @s2n_strerror(i32 noundef %12122, ptr noundef nonnull @.str.4) #12
  %12124 = load i32, ptr %585, align 4, !tbaa !5
  %12125 = call ptr @s2n_strerror_debug(i32 noundef %12124, ptr noundef nonnull @.str.4) #12
  %12126 = load i32, ptr %639, align 4, !tbaa !5
  %12127 = call ptr @strerror(i32 noundef %12126) #12
  %12128 = load i32, ptr %639, align 4, !tbaa !5
  %12129 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12120, ptr noundef nonnull %.str.5.sink5552, i32 noundef %12121, ptr noundef nonnull @.str.138, ptr noundef nonnull @.str.1, i32 noundef 987, ptr noundef %12123, ptr noundef %12125, ptr noundef %12127, i32 noundef %12128) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12130:                                            ; preds = %12104, %12103
  %12131 = phi i32 [ %12105, %12104 ], [ %12076, %12103 ]
  %12132 = add nsw i32 %12131, 1
  store i32 %12132, ptr @test_count, align 4, !tbaa !5
  %12133 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12134 = icmp eq i32 %12133, -1
  br i1 %12134, label %12269, label %12247

12135:                                            ; preds = %12375
  %12136 = add nsw i32 %12376, 2
  store i32 %12136, ptr @test_count, align 4, !tbaa !5
  %12137 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12138 = icmp eq i32 %12137, -1
  br i1 %12138, label %12139, label %12247

12139:                                            ; preds = %12135
  %12140 = load i32, ptr @test_count, align 4, !tbaa !5
  %12141 = add nsw i32 %12140, 1
  store i32 %12141, ptr @test_count, align 4, !tbaa !5
  %12142 = load i32, ptr %585, align 4, !tbaa !5
  %12143 = icmp eq i32 %12142, 201326592
  br i1 %12143, label %12144, label %12274

12144:                                            ; preds = %12139
  %12145 = add nsw i32 %12140, 2
  store i32 %12145, ptr @test_count, align 4, !tbaa !5
  %12146 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %12147 = icmp eq ptr %12146, null
  br i1 %12147, label %12300, label %12148

12148:                                            ; preds = %12144
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12149 = load i32, ptr @test_count, align 4, !tbaa !5
  %12150 = add nsw i32 %12149, 1
  store i32 %12150, ptr @test_count, align 4, !tbaa !5
  %12151 = load i32, ptr %111, align 4, !tbaa !5
  %12152 = icmp eq i32 %12151, 1
  br i1 %12152, label %12153, label %12327

12153:                                            ; preds = %12148
  %12154 = add nsw i32 %12149, 2
  store i32 %12154, ptr @test_count, align 4, !tbaa !5
  %12155 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12156 = icmp eq i32 %12155, 19
  br i1 %12156, label %12157, label %12353

12157:                                            ; preds = %12153
  %12158 = load i32, ptr @test_count, align 4, !tbaa !5
  %12159 = add nsw i32 %12158, 1
  store i32 %12159, ptr @test_count, align 4, !tbaa !5
  %12160 = load i64, ptr %112, align 8, !tbaa !42
  %12161 = icmp eq i64 %12160, 0
  br i1 %12161, label %12162, label %12380

12162:                                            ; preds = %12157
  %12163 = add nsw i32 %12158, 2
  store i32 %12163, ptr @test_count, align 4, !tbaa !5
  %12164 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12165 = icmp eq i32 %12164, -1
  br i1 %12165, label %12166, label %12247

12166:                                            ; preds = %12162
  %12167 = load i32, ptr @test_count, align 4, !tbaa !5
  %12168 = add nsw i32 %12167, 1
  store i32 %12168, ptr @test_count, align 4, !tbaa !5
  %12169 = load i32, ptr %585, align 4, !tbaa !5
  %12170 = icmp eq i32 %12169, 201326592
  br i1 %12170, label %12171, label %12274

12171:                                            ; preds = %12166
  %12172 = add nsw i32 %12167, 2
  store i32 %12172, ptr @test_count, align 4, !tbaa !5
  %12173 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %12174 = icmp eq ptr %12173, null
  br i1 %12174, label %12300, label %12175

12175:                                            ; preds = %12171
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12176 = load i32, ptr @test_count, align 4, !tbaa !5
  %12177 = add nsw i32 %12176, 1
  store i32 %12177, ptr @test_count, align 4, !tbaa !5
  %12178 = load i32, ptr %111, align 4, !tbaa !5
  %12179 = icmp eq i32 %12178, 1
  br i1 %12179, label %12180, label %12327

12180:                                            ; preds = %12175
  %12181 = add nsw i32 %12176, 2
  store i32 %12181, ptr @test_count, align 4, !tbaa !5
  %12182 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12183 = icmp eq i32 %12182, 19
  br i1 %12183, label %12184, label %12353

12184:                                            ; preds = %12180
  %12185 = load i32, ptr @test_count, align 4, !tbaa !5
  %12186 = add nsw i32 %12185, 1
  store i32 %12186, ptr @test_count, align 4, !tbaa !5
  %12187 = load i64, ptr %112, align 8, !tbaa !42
  %12188 = icmp eq i64 %12187, 0
  br i1 %12188, label %12189, label %12380

12189:                                            ; preds = %12184
  %12190 = add nsw i32 %12185, 2
  store i32 %12190, ptr @test_count, align 4, !tbaa !5
  %12191 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12192 = icmp eq i32 %12191, -1
  br i1 %12192, label %12193, label %12247

12193:                                            ; preds = %12189
  %12194 = load i32, ptr @test_count, align 4, !tbaa !5
  %12195 = add nsw i32 %12194, 1
  store i32 %12195, ptr @test_count, align 4, !tbaa !5
  %12196 = load i32, ptr %585, align 4, !tbaa !5
  %12197 = icmp eq i32 %12196, 201326592
  br i1 %12197, label %12198, label %12274

12198:                                            ; preds = %12193
  %12199 = add nsw i32 %12194, 2
  store i32 %12199, ptr @test_count, align 4, !tbaa !5
  %12200 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %12201 = icmp eq ptr %12200, null
  br i1 %12201, label %12300, label %12202

12202:                                            ; preds = %12198
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12203 = load i32, ptr @test_count, align 4, !tbaa !5
  %12204 = add nsw i32 %12203, 1
  store i32 %12204, ptr @test_count, align 4, !tbaa !5
  %12205 = load i32, ptr %111, align 4, !tbaa !5
  %12206 = icmp eq i32 %12205, 1
  br i1 %12206, label %12207, label %12327

12207:                                            ; preds = %12202
  %12208 = add nsw i32 %12203, 2
  store i32 %12208, ptr @test_count, align 4, !tbaa !5
  %12209 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12210 = icmp eq i32 %12209, 19
  br i1 %12210, label %12211, label %12353

12211:                                            ; preds = %12207
  %12212 = load i32, ptr @test_count, align 4, !tbaa !5
  %12213 = add nsw i32 %12212, 1
  store i32 %12213, ptr @test_count, align 4, !tbaa !5
  %12214 = load i64, ptr %112, align 8, !tbaa !42
  %12215 = icmp eq i64 %12214, 0
  br i1 %12215, label %12216, label %12380

12216:                                            ; preds = %12211
  %12217 = add nsw i32 %12212, 2
  store i32 %12217, ptr @test_count, align 4, !tbaa !5
  %12218 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12219 = icmp eq i32 %12218, -1
  br i1 %12219, label %12220, label %12247

12220:                                            ; preds = %12216
  %12221 = load i32, ptr @test_count, align 4, !tbaa !5
  %12222 = add nsw i32 %12221, 1
  store i32 %12222, ptr @test_count, align 4, !tbaa !5
  %12223 = load i32, ptr %585, align 4, !tbaa !5
  %12224 = icmp eq i32 %12223, 201326592
  br i1 %12224, label %12225, label %12274

12225:                                            ; preds = %12220
  %12226 = add nsw i32 %12221, 2
  store i32 %12226, ptr @test_count, align 4, !tbaa !5
  %12227 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %12228 = icmp eq ptr %12227, null
  br i1 %12228, label %12300, label %12229

12229:                                            ; preds = %12225
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12230 = load i32, ptr @test_count, align 4, !tbaa !5
  %12231 = add nsw i32 %12230, 1
  store i32 %12231, ptr @test_count, align 4, !tbaa !5
  %12232 = load i32, ptr %111, align 4, !tbaa !5
  %12233 = icmp eq i32 %12232, 1
  br i1 %12233, label %12234, label %12327

12234:                                            ; preds = %12229
  %12235 = add nsw i32 %12230, 2
  store i32 %12235, ptr @test_count, align 4, !tbaa !5
  %12236 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12237 = icmp eq i32 %12236, 19
  br i1 %12237, label %12238, label %12353

12238:                                            ; preds = %12234
  %12239 = load i32, ptr @test_count, align 4, !tbaa !5
  %12240 = add nsw i32 %12239, 1
  store i32 %12240, ptr @test_count, align 4, !tbaa !5
  %12241 = load i64, ptr %112, align 8, !tbaa !42
  %12242 = icmp eq i64 %12241, 0
  br i1 %12242, label %12243, label %12380

12243:                                            ; preds = %12238
  %12244 = add nsw i32 %12239, 2
  store i32 %12244, ptr @test_count, align 4, !tbaa !5
  %12245 = load i32, ptr %11735, align 8, !tbaa !55
  %12246 = icmp eq i32 %12245, 3
  br i1 %12246, label %12424, label %12402

12247:                                            ; preds = %12216, %12189, %12162, %12135, %12130
  %12248 = load i32, ptr %639, align 4, !tbaa !5
  %12249 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12250 = call i32 @s2n_print_stacktrace(ptr noundef %12249) #12
  %12251 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12252 = trunc nuw i8 %12251 to i1
  br i1 %12252, label %12253, label %12257

12253:                                            ; preds = %12247
  %12254 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12255 = call i32 @fileno(ptr noundef %12254) #12
  %12256 = call i32 @isatty(i32 noundef %12255) #12
  %.not1462 = icmp eq i32 %12256, 0
  br i1 %.not1462, label %12257, label %12258

12257:                                            ; preds = %12253, %12247
  br label %12258

12258:                                            ; preds = %12253, %12257
  %.str.5.sink5561 = phi ptr [ @.str.5, %12257 ], [ @.str.2, %12253 ]
  store i32 %12248, ptr %639, align 4, !tbaa !5
  %12259 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12260 = load i32, ptr @test_count, align 4, !tbaa !5
  %12261 = load i32, ptr %585, align 4, !tbaa !5
  %12262 = call ptr @s2n_strerror(i32 noundef %12261, ptr noundef nonnull @.str.4) #12
  %12263 = load i32, ptr %585, align 4, !tbaa !5
  %12264 = call ptr @s2n_strerror_debug(i32 noundef %12263, ptr noundef nonnull @.str.4) #12
  %12265 = load i32, ptr %639, align 4, !tbaa !5
  %12266 = call ptr @strerror(i32 noundef %12265) #12
  %12267 = load i32, ptr %639, align 4, !tbaa !5
  %12268 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12259, ptr noundef nonnull %.str.5.sink5561, i32 noundef %12260, ptr noundef nonnull @.str.140, ptr noundef nonnull @.str.1, i32 noundef 990, ptr noundef %12262, ptr noundef %12264, ptr noundef %12266, i32 noundef %12267) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12269:                                            ; preds = %12130
  %12270 = load i32, ptr @test_count, align 4, !tbaa !5
  %12271 = add nsw i32 %12270, 1
  store i32 %12271, ptr @test_count, align 4, !tbaa !5
  %12272 = load i32, ptr %585, align 4, !tbaa !5
  %12273 = icmp eq i32 %12272, 201326592
  br i1 %12273, label %12296, label %12274

12274:                                            ; preds = %12220, %12193, %12166, %12139, %12269
  %12275 = load i32, ptr %639, align 4, !tbaa !5
  %12276 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12277 = call i32 @s2n_print_stacktrace(ptr noundef %12276) #12
  %12278 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12279 = trunc nuw i8 %12278 to i1
  br i1 %12279, label %12280, label %12284

12280:                                            ; preds = %12274
  %12281 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12282 = call i32 @fileno(ptr noundef %12281) #12
  %12283 = call i32 @isatty(i32 noundef %12282) #12
  %.not1463 = icmp eq i32 %12283, 0
  br i1 %.not1463, label %12284, label %12285

12284:                                            ; preds = %12280, %12274
  br label %12285

12285:                                            ; preds = %12280, %12284
  %.str.5.sink5570 = phi ptr [ @.str.5, %12284 ], [ @.str.2, %12280 ]
  store i32 %12275, ptr %639, align 4, !tbaa !5
  %12286 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12287 = load i32, ptr @test_count, align 4, !tbaa !5
  %12288 = load i32, ptr %585, align 4, !tbaa !5
  %12289 = call ptr @s2n_strerror(i32 noundef %12288, ptr noundef nonnull @.str.4) #12
  %12290 = load i32, ptr %585, align 4, !tbaa !5
  %12291 = call ptr @s2n_strerror_debug(i32 noundef %12290, ptr noundef nonnull @.str.4) #12
  %12292 = load i32, ptr %639, align 4, !tbaa !5
  %12293 = call ptr @strerror(i32 noundef %12292) #12
  %12294 = load i32, ptr %639, align 4, !tbaa !5
  %12295 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12286, ptr noundef nonnull %.str.5.sink5570, i32 noundef %12287, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 990, ptr noundef %12289, ptr noundef %12291, ptr noundef %12293, i32 noundef %12294) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12296:                                            ; preds = %12269
  %12297 = add nsw i32 %12270, 2
  store i32 %12297, ptr @test_count, align 4, !tbaa !5
  %12298 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %12299 = icmp eq ptr %12298, null
  br i1 %12299, label %12300, label %12322

12300:                                            ; preds = %12225, %12198, %12171, %12144, %12296
  %12301 = load i32, ptr %639, align 4, !tbaa !5
  %12302 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12303 = call i32 @s2n_print_stacktrace(ptr noundef %12302) #12
  %12304 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12305 = trunc nuw i8 %12304 to i1
  br i1 %12305, label %12306, label %12310

12306:                                            ; preds = %12300
  %12307 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12308 = call i32 @fileno(ptr noundef %12307) #12
  %12309 = call i32 @isatty(i32 noundef %12308) #12
  %.not1467 = icmp eq i32 %12309, 0
  br i1 %.not1467, label %12310, label %12311

12310:                                            ; preds = %12306, %12300
  br label %12311

12311:                                            ; preds = %12306, %12310
  %.str.5.sink5579 = phi ptr [ @.str.5, %12310 ], [ @.str.2, %12306 ]
  store i32 %12301, ptr %639, align 4, !tbaa !5
  %12312 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12313 = load i32, ptr @test_count, align 4, !tbaa !5
  %12314 = load i32, ptr %585, align 4, !tbaa !5
  %12315 = call ptr @s2n_strerror(i32 noundef %12314, ptr noundef nonnull @.str.4) #12
  %12316 = load i32, ptr %585, align 4, !tbaa !5
  %12317 = call ptr @s2n_strerror_debug(i32 noundef %12316, ptr noundef nonnull @.str.4) #12
  %12318 = load i32, ptr %639, align 4, !tbaa !5
  %12319 = call ptr @strerror(i32 noundef %12318) #12
  %12320 = load i32, ptr %639, align 4, !tbaa !5
  %12321 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12312, ptr noundef nonnull %.str.5.sink5579, i32 noundef %12313, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 990, ptr noundef %12315, ptr noundef %12317, ptr noundef %12319, i32 noundef %12320) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12322:                                            ; preds = %12296
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12323 = load i32, ptr @test_count, align 4, !tbaa !5
  %12324 = add nsw i32 %12323, 1
  store i32 %12324, ptr @test_count, align 4, !tbaa !5
  %12325 = load i32, ptr %111, align 4, !tbaa !5
  %12326 = icmp eq i32 %12325, 1
  br i1 %12326, label %12349, label %12327

12327:                                            ; preds = %12229, %12202, %12175, %12148, %12322
  %12328 = load i32, ptr %639, align 4, !tbaa !5
  %12329 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12330 = call i32 @s2n_print_stacktrace(ptr noundef %12329) #12
  %12331 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12332 = trunc nuw i8 %12331 to i1
  br i1 %12332, label %12333, label %12337

12333:                                            ; preds = %12327
  %12334 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12335 = call i32 @fileno(ptr noundef %12334) #12
  %12336 = call i32 @isatty(i32 noundef %12335) #12
  %.not1464 = icmp eq i32 %12336, 0
  br i1 %.not1464, label %12337, label %12338

12337:                                            ; preds = %12333, %12327
  br label %12338

12338:                                            ; preds = %12333, %12337
  %.str.5.sink5588 = phi ptr [ @.str.5, %12337 ], [ @.str.2, %12333 ]
  store i32 %12328, ptr %639, align 4, !tbaa !5
  %12339 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12340 = load i32, ptr @test_count, align 4, !tbaa !5
  %12341 = load i32, ptr %585, align 4, !tbaa !5
  %12342 = call ptr @s2n_strerror(i32 noundef %12341, ptr noundef nonnull @.str.4) #12
  %12343 = load i32, ptr %585, align 4, !tbaa !5
  %12344 = call ptr @s2n_strerror_debug(i32 noundef %12343, ptr noundef nonnull @.str.4) #12
  %12345 = load i32, ptr %639, align 4, !tbaa !5
  %12346 = call ptr @strerror(i32 noundef %12345) #12
  %12347 = load i32, ptr %639, align 4, !tbaa !5
  %12348 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12339, ptr noundef nonnull %.str.5.sink5588, i32 noundef %12340, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 991, ptr noundef %12342, ptr noundef %12344, ptr noundef %12346, i32 noundef %12347) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12349:                                            ; preds = %12322
  %12350 = add nsw i32 %12323, 2
  store i32 %12350, ptr @test_count, align 4, !tbaa !5
  %12351 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12352 = icmp eq i32 %12351, 19
  br i1 %12352, label %12375, label %12353

12353:                                            ; preds = %12234, %12207, %12180, %12153, %12349
  %12354 = load i32, ptr %639, align 4, !tbaa !5
  %12355 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12356 = call i32 @s2n_print_stacktrace(ptr noundef %12355) #12
  %12357 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12358 = trunc nuw i8 %12357 to i1
  br i1 %12358, label %12359, label %12363

12359:                                            ; preds = %12353
  %12360 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12361 = call i32 @fileno(ptr noundef %12360) #12
  %12362 = call i32 @isatty(i32 noundef %12361) #12
  %.not1465 = icmp eq i32 %12362, 0
  br i1 %.not1465, label %12363, label %12364

12363:                                            ; preds = %12359, %12353
  br label %12364

12364:                                            ; preds = %12359, %12363
  %.str.5.sink5597 = phi ptr [ @.str.5, %12363 ], [ @.str.2, %12359 ]
  store i32 %12354, ptr %639, align 4, !tbaa !5
  %12365 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12366 = load i32, ptr @test_count, align 4, !tbaa !5
  %12367 = load i32, ptr %585, align 4, !tbaa !5
  %12368 = call ptr @s2n_strerror(i32 noundef %12367, ptr noundef nonnull @.str.4) #12
  %12369 = load i32, ptr %585, align 4, !tbaa !5
  %12370 = call ptr @s2n_strerror_debug(i32 noundef %12369, ptr noundef nonnull @.str.4) #12
  %12371 = load i32, ptr %639, align 4, !tbaa !5
  %12372 = call ptr @strerror(i32 noundef %12371) #12
  %12373 = load i32, ptr %639, align 4, !tbaa !5
  %12374 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12365, ptr noundef nonnull %.str.5.sink5597, i32 noundef %12366, ptr noundef nonnull @.str.69, ptr noundef nonnull @.str.1, i32 noundef 991, ptr noundef %12368, ptr noundef %12370, ptr noundef %12372, i32 noundef %12373) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12375:                                            ; preds = %12349
  %12376 = load i32, ptr @test_count, align 4, !tbaa !5
  %12377 = add nsw i32 %12376, 1
  store i32 %12377, ptr @test_count, align 4, !tbaa !5
  %12378 = load i64, ptr %112, align 8, !tbaa !42
  %12379 = icmp eq i64 %12378, 0
  br i1 %12379, label %12135, label %12380

12380:                                            ; preds = %12238, %12211, %12184, %12157, %12375
  %12381 = load i32, ptr %639, align 4, !tbaa !5
  %12382 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12383 = call i32 @s2n_print_stacktrace(ptr noundef %12382) #12
  %12384 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12385 = trunc nuw i8 %12384 to i1
  br i1 %12385, label %12386, label %12390

12386:                                            ; preds = %12380
  %12387 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12388 = call i32 @fileno(ptr noundef %12387) #12
  %12389 = call i32 @isatty(i32 noundef %12388) #12
  %.not1466 = icmp eq i32 %12389, 0
  br i1 %.not1466, label %12390, label %12391

12390:                                            ; preds = %12386, %12380
  br label %12391

12391:                                            ; preds = %12386, %12390
  %.str.5.sink5606 = phi ptr [ @.str.5, %12390 ], [ @.str.2, %12386 ]
  store i32 %12381, ptr %639, align 4, !tbaa !5
  %12392 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12393 = load i32, ptr @test_count, align 4, !tbaa !5
  %12394 = load i32, ptr %585, align 4, !tbaa !5
  %12395 = call ptr @s2n_strerror(i32 noundef %12394, ptr noundef nonnull @.str.4) #12
  %12396 = load i32, ptr %585, align 4, !tbaa !5
  %12397 = call ptr @s2n_strerror_debug(i32 noundef %12396, ptr noundef nonnull @.str.4) #12
  %12398 = load i32, ptr %639, align 4, !tbaa !5
  %12399 = call ptr @strerror(i32 noundef %12398) #12
  %12400 = load i32, ptr %639, align 4, !tbaa !5
  %12401 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12392, ptr noundef nonnull %.str.5.sink5606, i32 noundef %12393, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 992, ptr noundef %12395, ptr noundef %12397, ptr noundef %12399, i32 noundef %12400) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12402:                                            ; preds = %12243
  %12403 = load i32, ptr %639, align 4, !tbaa !5
  %12404 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12405 = call i32 @s2n_print_stacktrace(ptr noundef %12404) #12
  %12406 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12407 = trunc nuw i8 %12406 to i1
  br i1 %12407, label %12408, label %12412

12408:                                            ; preds = %12402
  %12409 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12410 = call i32 @fileno(ptr noundef %12409) #12
  %12411 = call i32 @isatty(i32 noundef %12410) #12
  %.not1396 = icmp eq i32 %12411, 0
  br i1 %.not1396, label %12412, label %12413

12412:                                            ; preds = %12408, %12402
  br label %12413

12413:                                            ; preds = %12408, %12412
  %.str.5.sink5615 = phi ptr [ @.str.5, %12412 ], [ @.str.2, %12408 ]
  store i32 %12403, ptr %639, align 4, !tbaa !5
  %12414 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12415 = load i32, ptr @test_count, align 4, !tbaa !5
  %12416 = load i32, ptr %585, align 4, !tbaa !5
  %12417 = call ptr @s2n_strerror(i32 noundef %12416, ptr noundef nonnull @.str.4) #12
  %12418 = load i32, ptr %585, align 4, !tbaa !5
  %12419 = call ptr @s2n_strerror_debug(i32 noundef %12418, ptr noundef nonnull @.str.4) #12
  %12420 = load i32, ptr %639, align 4, !tbaa !5
  %12421 = call ptr @strerror(i32 noundef %12420) #12
  %12422 = load i32, ptr %639, align 4, !tbaa !5
  %12423 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12414, ptr noundef nonnull %.str.5.sink5615, i32 noundef %12415, ptr noundef nonnull @.str.142, ptr noundef nonnull @.str.1, i32 noundef 994, ptr noundef %12417, ptr noundef %12419, ptr noundef %12421, i32 noundef %12422) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12424:                                            ; preds = %12243
  %12425 = add nsw i32 %12239, 3
  store i32 %12425, ptr @test_count, align 4, !tbaa !5
  %12426 = call i32 @s2n_stuffer_write(ptr noundef nonnull %108, ptr noundef nonnull %102) #12
  %12427 = icmp eq i32 %12426, -1
  br i1 %12427, label %12432, label %.preheader.preheader

.preheader.preheader:                             ; preds = %12424
  %12428 = load i32, ptr @test_count, align 4, !tbaa !5
  %12429 = add nsw i32 %12428, 1
  store i32 %12429, ptr @test_count, align 4, !tbaa !5
  %12430 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12431 = icmp eq i32 %12430, -1
  br i1 %12431, label %12542, label %12564

12432:                                            ; preds = %12424
  %12433 = load i32, ptr %639, align 4, !tbaa !5
  %12434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12435 = call i32 @s2n_print_stacktrace(ptr noundef %12434) #12
  %12436 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12437 = trunc nuw i8 %12436 to i1
  br i1 %12437, label %12438, label %12442

12438:                                            ; preds = %12432
  %12439 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12440 = call i32 @fileno(ptr noundef %12439) #12
  %12441 = call i32 @isatty(i32 noundef %12440) #12
  %.not1461 = icmp eq i32 %12441, 0
  br i1 %.not1461, label %12442, label %12443

12442:                                            ; preds = %12438, %12432
  br label %12443

12443:                                            ; preds = %12438, %12442
  %.str.5.sink5624 = phi ptr [ @.str.5, %12442 ], [ @.str.2, %12438 ]
  store i32 %12433, ptr %639, align 4, !tbaa !5
  %12444 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12445 = load i32, ptr @test_count, align 4, !tbaa !5
  %12446 = load i32, ptr %585, align 4, !tbaa !5
  %12447 = call ptr @s2n_strerror(i32 noundef %12446, ptr noundef nonnull @.str.4) #12
  %12448 = load i32, ptr %585, align 4, !tbaa !5
  %12449 = call ptr @s2n_strerror_debug(i32 noundef %12448, ptr noundef nonnull @.str.4) #12
  %12450 = load i32, ptr %639, align 4, !tbaa !5
  %12451 = call ptr @strerror(i32 noundef %12450) #12
  %12452 = load i32, ptr %639, align 4, !tbaa !5
  %12453 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12444, ptr noundef nonnull %.str.5.sink5624, i32 noundef %12445, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 996, ptr noundef %12447, ptr noundef %12449, ptr noundef %12451, i32 noundef %12452) #14
  call void @exit(i32 noundef 1) #15
  unreachable

.preheader.1:                                     ; preds = %12644
  %12454 = add nsw i32 %12618, 3
  store i32 %12454, ptr @test_count, align 4, !tbaa !5
  %12455 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12456 = icmp eq i32 %12455, -1
  br i1 %12456, label %12542, label %12457

12457:                                            ; preds = %.preheader.1
  %12458 = load i32, ptr @test_count, align 4, !tbaa !5
  %12459 = add nsw i32 %12458, 1
  store i32 %12459, ptr @test_count, align 4, !tbaa !5
  %12460 = load i32, ptr %111, align 4, !tbaa !5
  %12461 = icmp eq i32 %12460, 0
  br i1 %12461, label %12462, label %12569

12462:                                            ; preds = %12457
  %12463 = add nsw i32 %12458, 2
  store i32 %12463, ptr @test_count, align 4, !tbaa !5
  %12464 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12465 = icmp eq i32 %12464, 13
  br i1 %12465, label %12466, label %12595

12466:                                            ; preds = %12462
  %12467 = load i32, ptr @test_count, align 4, !tbaa !5
  %12468 = add nsw i32 %12467, 1
  store i32 %12468, ptr @test_count, align 4, !tbaa !5
  %12469 = load i64, ptr %112, align 8, !tbaa !42
  %12470 = icmp eq i64 %12469, 0
  br i1 %12470, label %12471, label %12622

12471:                                            ; preds = %12466
  %12472 = add nsw i32 %12467, 2
  store i32 %12472, ptr @test_count, align 4, !tbaa !5
  %12473 = load i32, ptr %11735, align 8, !tbaa !55
  %12474 = icmp eq i32 %12473, 5
  br i1 %12474, label %.preheader.2, label %12648

.preheader.2:                                     ; preds = %12471
  %12475 = add nsw i32 %12467, 3
  store i32 %12475, ptr @test_count, align 4, !tbaa !5
  %12476 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12477 = icmp eq i32 %12476, -1
  br i1 %12477, label %12542, label %12478

12478:                                            ; preds = %.preheader.2
  %12479 = load i32, ptr @test_count, align 4, !tbaa !5
  %12480 = add nsw i32 %12479, 1
  store i32 %12480, ptr @test_count, align 4, !tbaa !5
  %12481 = load i32, ptr %111, align 4, !tbaa !5
  %12482 = icmp eq i32 %12481, 0
  br i1 %12482, label %12483, label %12569

12483:                                            ; preds = %12478
  %12484 = add nsw i32 %12479, 2
  store i32 %12484, ptr @test_count, align 4, !tbaa !5
  %12485 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12486 = icmp eq i32 %12485, 13
  br i1 %12486, label %12487, label %12595

12487:                                            ; preds = %12483
  %12488 = load i32, ptr @test_count, align 4, !tbaa !5
  %12489 = add nsw i32 %12488, 1
  store i32 %12489, ptr @test_count, align 4, !tbaa !5
  %12490 = load i64, ptr %112, align 8, !tbaa !42
  %12491 = icmp eq i64 %12490, 0
  br i1 %12491, label %12492, label %12622

12492:                                            ; preds = %12487
  %12493 = add nsw i32 %12488, 2
  store i32 %12493, ptr @test_count, align 4, !tbaa !5
  %12494 = load i32, ptr %11735, align 8, !tbaa !55
  %12495 = icmp eq i32 %12494, 5
  br i1 %12495, label %.preheader.3, label %12648

.preheader.3:                                     ; preds = %12492
  %12496 = add nsw i32 %12488, 3
  store i32 %12496, ptr @test_count, align 4, !tbaa !5
  %12497 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12498 = icmp eq i32 %12497, -1
  br i1 %12498, label %12542, label %12499

12499:                                            ; preds = %.preheader.3
  %12500 = load i32, ptr @test_count, align 4, !tbaa !5
  %12501 = add nsw i32 %12500, 1
  store i32 %12501, ptr @test_count, align 4, !tbaa !5
  %12502 = load i32, ptr %111, align 4, !tbaa !5
  %12503 = icmp eq i32 %12502, 0
  br i1 %12503, label %12504, label %12569

12504:                                            ; preds = %12499
  %12505 = add nsw i32 %12500, 2
  store i32 %12505, ptr @test_count, align 4, !tbaa !5
  %12506 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12507 = icmp eq i32 %12506, 13
  br i1 %12507, label %12508, label %12595

12508:                                            ; preds = %12504
  %12509 = load i32, ptr @test_count, align 4, !tbaa !5
  %12510 = add nsw i32 %12509, 1
  store i32 %12510, ptr @test_count, align 4, !tbaa !5
  %12511 = load i64, ptr %112, align 8, !tbaa !42
  %12512 = icmp eq i64 %12511, 0
  br i1 %12512, label %12513, label %12622

12513:                                            ; preds = %12508
  %12514 = add nsw i32 %12509, 2
  store i32 %12514, ptr @test_count, align 4, !tbaa !5
  %12515 = load i32, ptr %11735, align 8, !tbaa !55
  %12516 = icmp eq i32 %12515, 5
  br i1 %12516, label %.preheader.4, label %12648

.preheader.4:                                     ; preds = %12513
  %12517 = add nsw i32 %12509, 3
  store i32 %12517, ptr @test_count, align 4, !tbaa !5
  %12518 = call i32 @s2n_recv_early_data(ptr noundef nonnull %10854, ptr noundef nonnull %110, i64 noundef 100, ptr noundef nonnull %112, ptr noundef nonnull %111) #12
  %12519 = icmp eq i32 %12518, -1
  br i1 %12519, label %12542, label %12520

12520:                                            ; preds = %.preheader.4
  %12521 = load i32, ptr @test_count, align 4, !tbaa !5
  %12522 = add nsw i32 %12521, 1
  store i32 %12522, ptr @test_count, align 4, !tbaa !5
  %12523 = load i32, ptr %111, align 4, !tbaa !5
  %12524 = icmp eq i32 %12523, 0
  br i1 %12524, label %12525, label %12569

12525:                                            ; preds = %12520
  %12526 = add nsw i32 %12521, 2
  store i32 %12526, ptr @test_count, align 4, !tbaa !5
  %12527 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12528 = icmp eq i32 %12527, 13
  br i1 %12528, label %12529, label %12595

12529:                                            ; preds = %12525
  %12530 = load i32, ptr @test_count, align 4, !tbaa !5
  %12531 = add nsw i32 %12530, 1
  store i32 %12531, ptr @test_count, align 4, !tbaa !5
  %12532 = load i64, ptr %112, align 8, !tbaa !42
  %12533 = icmp eq i64 %12532, 0
  br i1 %12533, label %12534, label %12622

12534:                                            ; preds = %12529
  %12535 = add nsw i32 %12530, 2
  store i32 %12535, ptr @test_count, align 4, !tbaa !5
  %12536 = load i32, ptr %11735, align 8, !tbaa !55
  %12537 = icmp eq i32 %12536, 5
  br i1 %12537, label %12538, label %12648

12538:                                            ; preds = %12534
  %12539 = add nsw i32 %12530, 3
  store i32 %12539, ptr @test_count, align 4, !tbaa !5
  %12540 = call i32 @s2n_negotiate(ptr noundef nonnull %10854, ptr noundef nonnull %111) #12
  %12541 = icmp eq i32 %12540, -1
  br i1 %12541, label %12692, label %12670

12542:                                            ; preds = %.preheader.4, %.preheader.3, %.preheader.2, %.preheader.1, %.preheader.preheader
  %12543 = load i32, ptr %639, align 4, !tbaa !5
  %12544 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12545 = call i32 @s2n_print_stacktrace(ptr noundef %12544) #12
  %12546 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12547 = trunc nuw i8 %12546 to i1
  br i1 %12547, label %12548, label %12552

12548:                                            ; preds = %12542
  %12549 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12550 = call i32 @fileno(ptr noundef %12549) #12
  %12551 = call i32 @isatty(i32 noundef %12550) #12
  %.not1460 = icmp eq i32 %12551, 0
  br i1 %.not1460, label %12552, label %12553

12552:                                            ; preds = %12548, %12542
  br label %12553

12553:                                            ; preds = %12548, %12552
  %.str.5.sink5633 = phi ptr [ @.str.5, %12552 ], [ @.str.2, %12548 ]
  store i32 %12543, ptr %639, align 4, !tbaa !5
  %12554 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12555 = load i32, ptr @test_count, align 4, !tbaa !5
  %12556 = load i32, ptr %585, align 4, !tbaa !5
  %12557 = call ptr @s2n_strerror(i32 noundef %12556, ptr noundef nonnull @.str.4) #12
  %12558 = load i32, ptr %585, align 4, !tbaa !5
  %12559 = call ptr @s2n_strerror_debug(i32 noundef %12558, ptr noundef nonnull @.str.4) #12
  %12560 = load i32, ptr %639, align 4, !tbaa !5
  %12561 = call ptr @strerror(i32 noundef %12560) #12
  %12562 = load i32, ptr %639, align 4, !tbaa !5
  %12563 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12554, ptr noundef nonnull %.str.5.sink5633, i32 noundef %12555, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 1000, ptr noundef %12557, ptr noundef %12559, ptr noundef %12561, i32 noundef %12562) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12564:                                            ; preds = %.preheader.preheader
  %12565 = load i32, ptr @test_count, align 4, !tbaa !5
  %12566 = add nsw i32 %12565, 1
  store i32 %12566, ptr @test_count, align 4, !tbaa !5
  %12567 = load i32, ptr %111, align 4, !tbaa !5
  %12568 = icmp eq i32 %12567, 0
  br i1 %12568, label %12591, label %12569

12569:                                            ; preds = %12520, %12499, %12478, %12457, %12564
  %12570 = load i32, ptr %639, align 4, !tbaa !5
  %12571 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12572 = call i32 @s2n_print_stacktrace(ptr noundef %12571) #12
  %12573 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12574 = trunc nuw i8 %12573 to i1
  br i1 %12574, label %12575, label %12579

12575:                                            ; preds = %12569
  %12576 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12577 = call i32 @fileno(ptr noundef %12576) #12
  %12578 = call i32 @isatty(i32 noundef %12577) #12
  %.not1456 = icmp eq i32 %12578, 0
  br i1 %.not1456, label %12579, label %12580

12579:                                            ; preds = %12575, %12569
  br label %12580

12580:                                            ; preds = %12575, %12579
  %.str.5.sink5642 = phi ptr [ @.str.5, %12579 ], [ @.str.2, %12575 ]
  store i32 %12570, ptr %639, align 4, !tbaa !5
  %12581 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12582 = load i32, ptr @test_count, align 4, !tbaa !5
  %12583 = load i32, ptr %585, align 4, !tbaa !5
  %12584 = call ptr @s2n_strerror(i32 noundef %12583, ptr noundef nonnull @.str.4) #12
  %12585 = load i32, ptr %585, align 4, !tbaa !5
  %12586 = call ptr @s2n_strerror_debug(i32 noundef %12585, ptr noundef nonnull @.str.4) #12
  %12587 = load i32, ptr %639, align 4, !tbaa !5
  %12588 = call ptr @strerror(i32 noundef %12587) #12
  %12589 = load i32, ptr %639, align 4, !tbaa !5
  %12590 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12581, ptr noundef nonnull %.str.5.sink5642, i32 noundef %12582, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 1001, ptr noundef %12584, ptr noundef %12586, ptr noundef %12588, i32 noundef %12589) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12591:                                            ; preds = %12564
  %12592 = add nsw i32 %12565, 2
  store i32 %12592, ptr @test_count, align 4, !tbaa !5
  %12593 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12594 = icmp eq i32 %12593, 13
  br i1 %12594, label %12617, label %12595

12595:                                            ; preds = %12525, %12504, %12483, %12462, %12591
  %12596 = load i32, ptr %639, align 4, !tbaa !5
  %12597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12598 = call i32 @s2n_print_stacktrace(ptr noundef %12597) #12
  %12599 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12600 = trunc nuw i8 %12599 to i1
  br i1 %12600, label %12601, label %12605

12601:                                            ; preds = %12595
  %12602 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12603 = call i32 @fileno(ptr noundef %12602) #12
  %12604 = call i32 @isatty(i32 noundef %12603) #12
  %.not1457 = icmp eq i32 %12604, 0
  br i1 %.not1457, label %12605, label %12606

12605:                                            ; preds = %12601, %12595
  br label %12606

12606:                                            ; preds = %12601, %12605
  %.str.5.sink5651 = phi ptr [ @.str.5, %12605 ], [ @.str.2, %12601 ]
  store i32 %12596, ptr %639, align 4, !tbaa !5
  %12607 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12608 = load i32, ptr @test_count, align 4, !tbaa !5
  %12609 = load i32, ptr %585, align 4, !tbaa !5
  %12610 = call ptr @s2n_strerror(i32 noundef %12609, ptr noundef nonnull @.str.4) #12
  %12611 = load i32, ptr %585, align 4, !tbaa !5
  %12612 = call ptr @s2n_strerror_debug(i32 noundef %12611, ptr noundef nonnull @.str.4) #12
  %12613 = load i32, ptr %639, align 4, !tbaa !5
  %12614 = call ptr @strerror(i32 noundef %12613) #12
  %12615 = load i32, ptr %639, align 4, !tbaa !5
  %12616 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12607, ptr noundef nonnull %.str.5.sink5651, i32 noundef %12608, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1001, ptr noundef %12610, ptr noundef %12612, ptr noundef %12614, i32 noundef %12615) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12617:                                            ; preds = %12591
  %12618 = load i32, ptr @test_count, align 4, !tbaa !5
  %12619 = add nsw i32 %12618, 1
  store i32 %12619, ptr @test_count, align 4, !tbaa !5
  %12620 = load i64, ptr %112, align 8, !tbaa !42
  %12621 = icmp eq i64 %12620, 0
  br i1 %12621, label %12644, label %12622

12622:                                            ; preds = %12529, %12508, %12487, %12466, %12617
  %12623 = load i32, ptr %639, align 4, !tbaa !5
  %12624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12625 = call i32 @s2n_print_stacktrace(ptr noundef %12624) #12
  %12626 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12627 = trunc nuw i8 %12626 to i1
  br i1 %12627, label %12628, label %12632

12628:                                            ; preds = %12622
  %12629 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12630 = call i32 @fileno(ptr noundef %12629) #12
  %12631 = call i32 @isatty(i32 noundef %12630) #12
  %.not1458 = icmp eq i32 %12631, 0
  br i1 %.not1458, label %12632, label %12633

12632:                                            ; preds = %12628, %12622
  br label %12633

12633:                                            ; preds = %12628, %12632
  %.str.5.sink5660 = phi ptr [ @.str.5, %12632 ], [ @.str.2, %12628 ]
  store i32 %12623, ptr %639, align 4, !tbaa !5
  %12634 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12635 = load i32, ptr @test_count, align 4, !tbaa !5
  %12636 = load i32, ptr %585, align 4, !tbaa !5
  %12637 = call ptr @s2n_strerror(i32 noundef %12636, ptr noundef nonnull @.str.4) #12
  %12638 = load i32, ptr %585, align 4, !tbaa !5
  %12639 = call ptr @s2n_strerror_debug(i32 noundef %12638, ptr noundef nonnull @.str.4) #12
  %12640 = load i32, ptr %639, align 4, !tbaa !5
  %12641 = call ptr @strerror(i32 noundef %12640) #12
  %12642 = load i32, ptr %639, align 4, !tbaa !5
  %12643 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12634, ptr noundef nonnull %.str.5.sink5660, i32 noundef %12635, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 1002, ptr noundef %12637, ptr noundef %12639, ptr noundef %12641, i32 noundef %12642) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12644:                                            ; preds = %12617
  %12645 = add nsw i32 %12618, 2
  store i32 %12645, ptr @test_count, align 4, !tbaa !5
  %12646 = load i32, ptr %11735, align 8, !tbaa !55
  %12647 = icmp eq i32 %12646, 5
  br i1 %12647, label %.preheader.1, label %12648

12648:                                            ; preds = %12534, %12513, %12492, %12471, %12644
  %12649 = load i32, ptr %639, align 4, !tbaa !5
  %12650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12651 = call i32 @s2n_print_stacktrace(ptr noundef %12650) #12
  %12652 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12653 = trunc nuw i8 %12652 to i1
  br i1 %12653, label %12654, label %12658

12654:                                            ; preds = %12648
  %12655 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12656 = call i32 @fileno(ptr noundef %12655) #12
  %12657 = call i32 @isatty(i32 noundef %12656) #12
  %.not1459 = icmp eq i32 %12657, 0
  br i1 %.not1459, label %12658, label %12659

12658:                                            ; preds = %12654, %12648
  br label %12659

12659:                                            ; preds = %12654, %12658
  %.str.5.sink5669 = phi ptr [ @.str.5, %12658 ], [ @.str.2, %12654 ]
  store i32 %12649, ptr %639, align 4, !tbaa !5
  %12660 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12661 = load i32, ptr @test_count, align 4, !tbaa !5
  %12662 = load i32, ptr %585, align 4, !tbaa !5
  %12663 = call ptr @s2n_strerror(i32 noundef %12662, ptr noundef nonnull @.str.4) #12
  %12664 = load i32, ptr %585, align 4, !tbaa !5
  %12665 = call ptr @s2n_strerror_debug(i32 noundef %12664, ptr noundef nonnull @.str.4) #12
  %12666 = load i32, ptr %639, align 4, !tbaa !5
  %12667 = call ptr @strerror(i32 noundef %12666) #12
  %12668 = load i32, ptr %639, align 4, !tbaa !5
  %12669 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12660, ptr noundef nonnull %.str.5.sink5669, i32 noundef %12661, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 1003, ptr noundef %12663, ptr noundef %12665, ptr noundef %12667, i32 noundef %12668) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12670:                                            ; preds = %12538
  %12671 = load i32, ptr %639, align 4, !tbaa !5
  %12672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12673 = call i32 @s2n_print_stacktrace(ptr noundef %12672) #12
  %12674 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12675 = trunc nuw i8 %12674 to i1
  br i1 %12675, label %12676, label %12680

12676:                                            ; preds = %12670
  %12677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12678 = call i32 @fileno(ptr noundef %12677) #12
  %12679 = call i32 @isatty(i32 noundef %12678) #12
  %.not1397 = icmp eq i32 %12679, 0
  br i1 %.not1397, label %12680, label %12681

12680:                                            ; preds = %12676, %12670
  br label %12681

12681:                                            ; preds = %12676, %12680
  %.str.5.sink5678 = phi ptr [ @.str.5, %12680 ], [ @.str.2, %12676 ]
  store i32 %12671, ptr %639, align 4, !tbaa !5
  %12682 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12683 = load i32, ptr @test_count, align 4, !tbaa !5
  %12684 = load i32, ptr %585, align 4, !tbaa !5
  %12685 = call ptr @s2n_strerror(i32 noundef %12684, ptr noundef nonnull @.str.4) #12
  %12686 = load i32, ptr %585, align 4, !tbaa !5
  %12687 = call ptr @s2n_strerror_debug(i32 noundef %12686, ptr noundef nonnull @.str.4) #12
  %12688 = load i32, ptr %639, align 4, !tbaa !5
  %12689 = call ptr @strerror(i32 noundef %12688) #12
  %12690 = load i32, ptr %639, align 4, !tbaa !5
  %12691 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12682, ptr noundef nonnull %.str.5.sink5678, i32 noundef %12683, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 1006, ptr noundef %12685, ptr noundef %12687, ptr noundef %12689, i32 noundef %12690) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12692:                                            ; preds = %12538
  %12693 = load i32, ptr @test_count, align 4, !tbaa !5
  %12694 = add nsw i32 %12693, 1
  store i32 %12694, ptr @test_count, align 4, !tbaa !5
  %12695 = load i32, ptr %585, align 4, !tbaa !5
  %12696 = icmp eq i32 %12695, 201326592
  br i1 %12696, label %12719, label %12697

12697:                                            ; preds = %12692
  %12698 = load i32, ptr %639, align 4, !tbaa !5
  %12699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12700 = call i32 @s2n_print_stacktrace(ptr noundef %12699) #12
  %12701 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12702 = trunc nuw i8 %12701 to i1
  br i1 %12702, label %12703, label %12707

12703:                                            ; preds = %12697
  %12704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12705 = call i32 @fileno(ptr noundef %12704) #12
  %12706 = call i32 @isatty(i32 noundef %12705) #12
  %.not1398 = icmp eq i32 %12706, 0
  br i1 %.not1398, label %12707, label %12708

12707:                                            ; preds = %12703, %12697
  br label %12708

12708:                                            ; preds = %12703, %12707
  %.str.5.sink5687 = phi ptr [ @.str.5, %12707 ], [ @.str.2, %12703 ]
  store i32 %12698, ptr %639, align 4, !tbaa !5
  %12709 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12710 = load i32, ptr @test_count, align 4, !tbaa !5
  %12711 = load i32, ptr %585, align 4, !tbaa !5
  %12712 = call ptr @s2n_strerror(i32 noundef %12711, ptr noundef nonnull @.str.4) #12
  %12713 = load i32, ptr %585, align 4, !tbaa !5
  %12714 = call ptr @s2n_strerror_debug(i32 noundef %12713, ptr noundef nonnull @.str.4) #12
  %12715 = load i32, ptr %639, align 4, !tbaa !5
  %12716 = call ptr @strerror(i32 noundef %12715) #12
  %12717 = load i32, ptr %639, align 4, !tbaa !5
  %12718 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12709, ptr noundef nonnull %.str.5.sink5687, i32 noundef %12710, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 1006, ptr noundef %12712, ptr noundef %12714, ptr noundef %12716, i32 noundef %12717) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12719:                                            ; preds = %12692
  %12720 = add nsw i32 %12693, 2
  store i32 %12720, ptr @test_count, align 4, !tbaa !5
  %12721 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %12722 = icmp eq ptr %12721, null
  br i1 %12722, label %12723, label %12745

12723:                                            ; preds = %12719
  %12724 = load i32, ptr %639, align 4, !tbaa !5
  %12725 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12726 = call i32 @s2n_print_stacktrace(ptr noundef %12725) #12
  %12727 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12728 = trunc nuw i8 %12727 to i1
  br i1 %12728, label %12729, label %12733

12729:                                            ; preds = %12723
  %12730 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12731 = call i32 @fileno(ptr noundef %12730) #12
  %12732 = call i32 @isatty(i32 noundef %12731) #12
  %.not1455 = icmp eq i32 %12732, 0
  br i1 %.not1455, label %12733, label %12734

12733:                                            ; preds = %12729, %12723
  br label %12734

12734:                                            ; preds = %12729, %12733
  %.str.5.sink5696 = phi ptr [ @.str.5, %12733 ], [ @.str.2, %12729 ]
  store i32 %12724, ptr %639, align 4, !tbaa !5
  %12735 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12736 = load i32, ptr @test_count, align 4, !tbaa !5
  %12737 = load i32, ptr %585, align 4, !tbaa !5
  %12738 = call ptr @s2n_strerror(i32 noundef %12737, ptr noundef nonnull @.str.4) #12
  %12739 = load i32, ptr %585, align 4, !tbaa !5
  %12740 = call ptr @s2n_strerror_debug(i32 noundef %12739, ptr noundef nonnull @.str.4) #12
  %12741 = load i32, ptr %639, align 4, !tbaa !5
  %12742 = call ptr @strerror(i32 noundef %12741) #12
  %12743 = load i32, ptr %639, align 4, !tbaa !5
  %12744 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12735, ptr noundef nonnull %.str.5.sink5696, i32 noundef %12736, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 1006, ptr noundef %12738, ptr noundef %12740, ptr noundef %12742, i32 noundef %12743) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12745:                                            ; preds = %12719
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %12746 = load i32, ptr @test_count, align 4, !tbaa !5
  %12747 = add nsw i32 %12746, 1
  store i32 %12747, ptr @test_count, align 4, !tbaa !5
  %12748 = load i32, ptr %111, align 4, !tbaa !5
  %12749 = icmp eq i32 %12748, 1
  br i1 %12749, label %12772, label %12750

12750:                                            ; preds = %12745
  %12751 = load i32, ptr %639, align 4, !tbaa !5
  %12752 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12753 = call i32 @s2n_print_stacktrace(ptr noundef %12752) #12
  %12754 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12755 = trunc nuw i8 %12754 to i1
  br i1 %12755, label %12756, label %12760

12756:                                            ; preds = %12750
  %12757 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12758 = call i32 @fileno(ptr noundef %12757) #12
  %12759 = call i32 @isatty(i32 noundef %12758) #12
  %.not1399 = icmp eq i32 %12759, 0
  br i1 %.not1399, label %12760, label %12761

12760:                                            ; preds = %12756, %12750
  br label %12761

12761:                                            ; preds = %12756, %12760
  %.str.5.sink5705 = phi ptr [ @.str.5, %12760 ], [ @.str.2, %12756 ]
  store i32 %12751, ptr %639, align 4, !tbaa !5
  %12762 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12763 = load i32, ptr @test_count, align 4, !tbaa !5
  %12764 = load i32, ptr %585, align 4, !tbaa !5
  %12765 = call ptr @s2n_strerror(i32 noundef %12764, ptr noundef nonnull @.str.4) #12
  %12766 = load i32, ptr %585, align 4, !tbaa !5
  %12767 = call ptr @s2n_strerror_debug(i32 noundef %12766, ptr noundef nonnull @.str.4) #12
  %12768 = load i32, ptr %639, align 4, !tbaa !5
  %12769 = call ptr @strerror(i32 noundef %12768) #12
  %12770 = load i32, ptr %639, align 4, !tbaa !5
  %12771 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12762, ptr noundef nonnull %.str.5.sink5705, i32 noundef %12763, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 1007, ptr noundef %12765, ptr noundef %12767, ptr noundef %12769, i32 noundef %12770) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12772:                                            ; preds = %12745
  %12773 = add nsw i32 %12746, 2
  store i32 %12773, ptr @test_count, align 4, !tbaa !5
  %12774 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %10854) #12
  %12775 = icmp eq i32 %12774, 13
  br i1 %12775, label %12798, label %12776

12776:                                            ; preds = %12772
  %12777 = load i32, ptr %639, align 4, !tbaa !5
  %12778 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12779 = call i32 @s2n_print_stacktrace(ptr noundef %12778) #12
  %12780 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12781 = trunc nuw i8 %12780 to i1
  br i1 %12781, label %12782, label %12786

12782:                                            ; preds = %12776
  %12783 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12784 = call i32 @fileno(ptr noundef %12783) #12
  %12785 = call i32 @isatty(i32 noundef %12784) #12
  %.not1400 = icmp eq i32 %12785, 0
  br i1 %.not1400, label %12786, label %12787

12786:                                            ; preds = %12782, %12776
  br label %12787

12787:                                            ; preds = %12782, %12786
  %.str.5.sink5714 = phi ptr [ @.str.5, %12786 ], [ @.str.2, %12782 ]
  store i32 %12777, ptr %639, align 4, !tbaa !5
  %12788 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12789 = load i32, ptr @test_count, align 4, !tbaa !5
  %12790 = load i32, ptr %585, align 4, !tbaa !5
  %12791 = call ptr @s2n_strerror(i32 noundef %12790, ptr noundef nonnull @.str.4) #12
  %12792 = load i32, ptr %585, align 4, !tbaa !5
  %12793 = call ptr @s2n_strerror_debug(i32 noundef %12792, ptr noundef nonnull @.str.4) #12
  %12794 = load i32, ptr %639, align 4, !tbaa !5
  %12795 = call ptr @strerror(i32 noundef %12794) #12
  %12796 = load i32, ptr %639, align 4, !tbaa !5
  %12797 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12788, ptr noundef nonnull %.str.5.sink5714, i32 noundef %12789, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1007, ptr noundef %12791, ptr noundef %12793, ptr noundef %12795, i32 noundef %12796) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12798:                                            ; preds = %12772
  %12799 = load i32, ptr @test_count, align 4, !tbaa !5
  %12800 = add nsw i32 %12799, 1
  store i32 %12800, ptr @test_count, align 4, !tbaa !5
  %12801 = load i32, ptr %11735, align 8, !tbaa !55
  %12802 = icmp eq i32 %12801, 5
  br i1 %12802, label %12825, label %12803

12803:                                            ; preds = %12798
  %12804 = load i32, ptr %639, align 4, !tbaa !5
  %12805 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12806 = call i32 @s2n_print_stacktrace(ptr noundef %12805) #12
  %12807 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12808 = trunc nuw i8 %12807 to i1
  br i1 %12808, label %12809, label %12813

12809:                                            ; preds = %12803
  %12810 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12811 = call i32 @fileno(ptr noundef %12810) #12
  %12812 = call i32 @isatty(i32 noundef %12811) #12
  %.not1401 = icmp eq i32 %12812, 0
  br i1 %.not1401, label %12813, label %12814

12813:                                            ; preds = %12809, %12803
  br label %12814

12814:                                            ; preds = %12809, %12813
  %.str.5.sink5723 = phi ptr [ @.str.5, %12813 ], [ @.str.2, %12809 ]
  store i32 %12804, ptr %639, align 4, !tbaa !5
  %12815 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12816 = load i32, ptr @test_count, align 4, !tbaa !5
  %12817 = load i32, ptr %585, align 4, !tbaa !5
  %12818 = call ptr @s2n_strerror(i32 noundef %12817, ptr noundef nonnull @.str.4) #12
  %12819 = load i32, ptr %585, align 4, !tbaa !5
  %12820 = call ptr @s2n_strerror_debug(i32 noundef %12819, ptr noundef nonnull @.str.4) #12
  %12821 = load i32, ptr %639, align 4, !tbaa !5
  %12822 = call ptr @strerror(i32 noundef %12821) #12
  %12823 = load i32, ptr %639, align 4, !tbaa !5
  %12824 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12815, ptr noundef nonnull %.str.5.sink5723, i32 noundef %12816, ptr noundef nonnull @.str.139, ptr noundef nonnull @.str.1, i32 noundef 1008, ptr noundef %12818, ptr noundef %12820, ptr noundef %12822, i32 noundef %12823) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12825:                                            ; preds = %12798
  %12826 = add nsw i32 %12799, 2
  store i32 %12826, ptr @test_count, align 4, !tbaa !5
  %12827 = call i32 @s2n_stuffer_free(ptr noundef nonnull %108) #12
  %12828 = icmp eq i32 %12827, -1
  br i1 %12828, label %12829, label %12851

12829:                                            ; preds = %12825
  %12830 = load i32, ptr %639, align 4, !tbaa !5
  %12831 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12832 = call i32 @s2n_print_stacktrace(ptr noundef %12831) #12
  %12833 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12834 = trunc nuw i8 %12833 to i1
  br i1 %12834, label %12835, label %12839

12835:                                            ; preds = %12829
  %12836 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12837 = call i32 @fileno(ptr noundef %12836) #12
  %12838 = call i32 @isatty(i32 noundef %12837) #12
  %.not1454 = icmp eq i32 %12838, 0
  br i1 %.not1454, label %12839, label %12840

12839:                                            ; preds = %12835, %12829
  br label %12840

12840:                                            ; preds = %12835, %12839
  %.str.5.sink5732 = phi ptr [ @.str.5, %12839 ], [ @.str.2, %12835 ]
  store i32 %12830, ptr %639, align 4, !tbaa !5
  %12841 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12842 = load i32, ptr @test_count, align 4, !tbaa !5
  %12843 = load i32, ptr %585, align 4, !tbaa !5
  %12844 = call ptr @s2n_strerror(i32 noundef %12843, ptr noundef nonnull @.str.4) #12
  %12845 = load i32, ptr %585, align 4, !tbaa !5
  %12846 = call ptr @s2n_strerror_debug(i32 noundef %12845, ptr noundef nonnull @.str.4) #12
  %12847 = load i32, ptr %639, align 4, !tbaa !5
  %12848 = call ptr @strerror(i32 noundef %12847) #12
  %12849 = load i32, ptr %639, align 4, !tbaa !5
  %12850 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12841, ptr noundef nonnull %.str.5.sink5732, i32 noundef %12842, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 1010, ptr noundef %12844, ptr noundef %12846, ptr noundef %12848, i32 noundef %12849) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12851:                                            ; preds = %12825
  %12852 = load i32, ptr @test_count, align 4, !tbaa !5
  %12853 = add nsw i32 %12852, 1
  store i32 %12853, ptr @test_count, align 4, !tbaa !5
  %12854 = call i32 @s2n_stuffer_free(ptr noundef nonnull %109) #12
  %12855 = icmp eq i32 %12854, -1
  br i1 %12855, label %12856, label %12878

12856:                                            ; preds = %12851
  %12857 = load i32, ptr %639, align 4, !tbaa !5
  %12858 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12859 = call i32 @s2n_print_stacktrace(ptr noundef %12858) #12
  %12860 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12861 = trunc nuw i8 %12860 to i1
  br i1 %12861, label %12862, label %12866

12862:                                            ; preds = %12856
  %12863 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12864 = call i32 @fileno(ptr noundef %12863) #12
  %12865 = call i32 @isatty(i32 noundef %12864) #12
  %.not1453 = icmp eq i32 %12865, 0
  br i1 %.not1453, label %12866, label %12867

12866:                                            ; preds = %12862, %12856
  br label %12867

12867:                                            ; preds = %12862, %12866
  %.str.5.sink5741 = phi ptr [ @.str.5, %12866 ], [ @.str.2, %12862 ]
  store i32 %12857, ptr %639, align 4, !tbaa !5
  %12868 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12869 = load i32, ptr @test_count, align 4, !tbaa !5
  %12870 = load i32, ptr %585, align 4, !tbaa !5
  %12871 = call ptr @s2n_strerror(i32 noundef %12870, ptr noundef nonnull @.str.4) #12
  %12872 = load i32, ptr %585, align 4, !tbaa !5
  %12873 = call ptr @s2n_strerror_debug(i32 noundef %12872, ptr noundef nonnull @.str.4) #12
  %12874 = load i32, ptr %639, align 4, !tbaa !5
  %12875 = call ptr @strerror(i32 noundef %12874) #12
  %12876 = load i32, ptr %639, align 4, !tbaa !5
  %12877 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12868, ptr noundef nonnull %.str.5.sink5741, i32 noundef %12869, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 1011, ptr noundef %12871, ptr noundef %12873, ptr noundef %12875, i32 noundef %12876) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12878:                                            ; preds = %12851
  %12879 = load i32, ptr @test_count, align 4, !tbaa !5
  %12880 = add nsw i32 %12879, 1
  store i32 %12880, ptr @test_count, align 4, !tbaa !5
  %12881 = call i32 @s2n_connection_free(ptr noundef nonnull %10854) #12
  %12882 = icmp eq i32 %12881, -1
  br i1 %12882, label %12883, label %12905

12883:                                            ; preds = %12878
  %12884 = load i32, ptr %639, align 4, !tbaa !5
  %12885 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12886 = call i32 @s2n_print_stacktrace(ptr noundef %12885) #12
  %12887 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12888 = trunc nuw i8 %12887 to i1
  br i1 %12888, label %12889, label %12893

12889:                                            ; preds = %12883
  %12890 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12891 = call i32 @fileno(ptr noundef %12890) #12
  %12892 = call i32 @isatty(i32 noundef %12891) #12
  %.not1452 = icmp eq i32 %12892, 0
  br i1 %.not1452, label %12893, label %12894

12893:                                            ; preds = %12889, %12883
  br label %12894

12894:                                            ; preds = %12889, %12893
  %.str.5.sink5750 = phi ptr [ @.str.5, %12893 ], [ @.str.2, %12889 ]
  store i32 %12884, ptr %639, align 4, !tbaa !5
  %12895 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12896 = load i32, ptr @test_count, align 4, !tbaa !5
  %12897 = load i32, ptr %585, align 4, !tbaa !5
  %12898 = call ptr @s2n_strerror(i32 noundef %12897, ptr noundef nonnull @.str.4) #12
  %12899 = load i32, ptr %585, align 4, !tbaa !5
  %12900 = call ptr @s2n_strerror_debug(i32 noundef %12899, ptr noundef nonnull @.str.4) #12
  %12901 = load i32, ptr %639, align 4, !tbaa !5
  %12902 = call ptr @strerror(i32 noundef %12901) #12
  %12903 = load i32, ptr %639, align 4, !tbaa !5
  %12904 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12895, ptr noundef nonnull %.str.5.sink5750, i32 noundef %12896, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 1012, ptr noundef %12898, ptr noundef %12900, ptr noundef %12902, i32 noundef %12903) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12905:                                            ; preds = %12878
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %112) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %111) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %110) #12
  %12906 = call i32 @s2n_stuffer_free(ptr noundef nonnull %109) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %109) #12
  %12907 = call i32 @s2n_stuffer_free(ptr noundef nonnull %108) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %108) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %113) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %113, ptr noundef nonnull align 8 dereferenceable(168) %96, i64 168, i1 false), !tbaa.struct !56
  %12908 = load i32, ptr @test_count, align 4, !tbaa !5
  %12909 = add nsw i32 %12908, 1
  store i32 %12909, ptr @test_count, align 4, !tbaa !5
  %12910 = call i32 @s2n_psk_configure_early_data(ptr noundef nonnull %113, i32 noundef 0, i8 noundef zeroext 19, i8 noundef zeroext 1) #12
  %12911 = icmp eq i32 %12910, -1
  br i1 %12911, label %12912, label %12934

12912:                                            ; preds = %12905
  %12913 = load i32, ptr %639, align 4, !tbaa !5
  %12914 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12915 = call i32 @s2n_print_stacktrace(ptr noundef %12914) #12
  %12916 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12917 = trunc nuw i8 %12916 to i1
  br i1 %12917, label %12918, label %12922

12918:                                            ; preds = %12912
  %12919 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12920 = call i32 @fileno(ptr noundef %12919) #12
  %12921 = call i32 @isatty(i32 noundef %12920) #12
  %.not1451 = icmp eq i32 %12921, 0
  br i1 %.not1451, label %12922, label %12923

12922:                                            ; preds = %12918, %12912
  br label %12923

12923:                                            ; preds = %12918, %12922
  %.str.5.sink5759 = phi ptr [ @.str.5, %12922 ], [ @.str.2, %12918 ]
  store i32 %12913, ptr %639, align 4, !tbaa !5
  %12924 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12925 = load i32, ptr @test_count, align 4, !tbaa !5
  %12926 = load i32, ptr %585, align 4, !tbaa !5
  %12927 = call ptr @s2n_strerror(i32 noundef %12926, ptr noundef nonnull @.str.4) #12
  %12928 = load i32, ptr %585, align 4, !tbaa !5
  %12929 = call ptr @s2n_strerror_debug(i32 noundef %12928, ptr noundef nonnull @.str.4) #12
  %12930 = load i32, ptr %639, align 4, !tbaa !5
  %12931 = call ptr @strerror(i32 noundef %12930) #12
  %12932 = load i32, ptr %639, align 4, !tbaa !5
  %12933 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12924, ptr noundef nonnull %.str.5.sink5759, i32 noundef %12925, ptr noundef nonnull @.str.144, ptr noundef nonnull @.str.1, i32 noundef 1018, ptr noundef %12927, ptr noundef %12929, ptr noundef %12931, i32 noundef %12932) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12934:                                            ; preds = %12905
  %12935 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %12936 = load i32, ptr @test_count, align 4, !tbaa !5
  %12937 = add nsw i32 %12936, 1
  store i32 %12937, ptr @test_count, align 4, !tbaa !5
  %12938 = icmp eq ptr %12935, null
  br i1 %12938, label %12939, label %12961

12939:                                            ; preds = %12934
  %12940 = load i32, ptr %639, align 4, !tbaa !5
  %12941 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12942 = call i32 @s2n_print_stacktrace(ptr noundef %12941) #12
  %12943 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12944 = trunc nuw i8 %12943 to i1
  br i1 %12944, label %12945, label %12949

12945:                                            ; preds = %12939
  %12946 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12947 = call i32 @fileno(ptr noundef %12946) #12
  %12948 = call i32 @isatty(i32 noundef %12947) #12
  %.not1450 = icmp eq i32 %12948, 0
  br i1 %.not1450, label %12949, label %12950

12949:                                            ; preds = %12945, %12939
  br label %12950

12950:                                            ; preds = %12945, %12949
  %.str.5.sink5768 = phi ptr [ @.str.5, %12949 ], [ @.str.2, %12945 ]
  store i32 %12940, ptr %639, align 4, !tbaa !5
  %12951 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12952 = load i32, ptr @test_count, align 4, !tbaa !5
  %12953 = load i32, ptr %585, align 4, !tbaa !5
  %12954 = call ptr @s2n_strerror(i32 noundef %12953, ptr noundef nonnull @.str.4) #12
  %12955 = load i32, ptr %585, align 4, !tbaa !5
  %12956 = call ptr @s2n_strerror_debug(i32 noundef %12955, ptr noundef nonnull @.str.4) #12
  %12957 = load i32, ptr %639, align 4, !tbaa !5
  %12958 = call ptr @strerror(i32 noundef %12957) #12
  %12959 = load i32, ptr %639, align 4, !tbaa !5
  %12960 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12951, ptr noundef nonnull %.str.5.sink5768, i32 noundef %12952, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 1022, ptr noundef %12954, ptr noundef %12956, ptr noundef %12958, i32 noundef %12959) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12961:                                            ; preds = %12934
  %12962 = add nsw i32 %12936, 2
  store i32 %12962, ptr @test_count, align 4, !tbaa !5
  %12963 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %12935, i32 noundef 1) #12
  %12964 = icmp eq i32 %12963, -1
  br i1 %12964, label %12965, label %12987

12965:                                            ; preds = %12961
  %12966 = load i32, ptr %639, align 4, !tbaa !5
  %12967 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12968 = call i32 @s2n_print_stacktrace(ptr noundef %12967) #12
  %12969 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12970 = trunc nuw i8 %12969 to i1
  br i1 %12970, label %12971, label %12975

12971:                                            ; preds = %12965
  %12972 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12973 = call i32 @fileno(ptr noundef %12972) #12
  %12974 = call i32 @isatty(i32 noundef %12973) #12
  %.not1449 = icmp eq i32 %12974, 0
  br i1 %.not1449, label %12975, label %12976

12975:                                            ; preds = %12971, %12965
  br label %12976

12976:                                            ; preds = %12971, %12975
  %.str.5.sink5777 = phi ptr [ @.str.5, %12975 ], [ @.str.2, %12971 ]
  store i32 %12966, ptr %639, align 4, !tbaa !5
  %12977 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12978 = load i32, ptr @test_count, align 4, !tbaa !5
  %12979 = load i32, ptr %585, align 4, !tbaa !5
  %12980 = call ptr @s2n_strerror(i32 noundef %12979, ptr noundef nonnull @.str.4) #12
  %12981 = load i32, ptr %585, align 4, !tbaa !5
  %12982 = call ptr @s2n_strerror_debug(i32 noundef %12981, ptr noundef nonnull @.str.4) #12
  %12983 = load i32, ptr %639, align 4, !tbaa !5
  %12984 = call ptr @strerror(i32 noundef %12983) #12
  %12985 = load i32, ptr %639, align 4, !tbaa !5
  %12986 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %12977, ptr noundef nonnull %.str.5.sink5777, i32 noundef %12978, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 1023, ptr noundef %12980, ptr noundef %12982, ptr noundef %12984, i32 noundef %12985) #14
  call void @exit(i32 noundef 1) #15
  unreachable

12987:                                            ; preds = %12961
  %12988 = load i32, ptr @test_count, align 4, !tbaa !5
  %12989 = add nsw i32 %12988, 1
  store i32 %12989, ptr @test_count, align 4, !tbaa !5
  %12990 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %12935, ptr noundef nonnull @.str.31) #12
  %12991 = icmp eq i32 %12990, -1
  br i1 %12991, label %12992, label %13014

12992:                                            ; preds = %12987
  %12993 = load i32, ptr %639, align 4, !tbaa !5
  %12994 = load ptr, ptr @stderr, align 8, !tbaa !9
  %12995 = call i32 @s2n_print_stacktrace(ptr noundef %12994) #12
  %12996 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %12997 = trunc nuw i8 %12996 to i1
  br i1 %12997, label %12998, label %13002

12998:                                            ; preds = %12992
  %12999 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13000 = call i32 @fileno(ptr noundef %12999) #12
  %13001 = call i32 @isatty(i32 noundef %13000) #12
  %.not1448 = icmp eq i32 %13001, 0
  br i1 %.not1448, label %13002, label %13003

13002:                                            ; preds = %12998, %12992
  br label %13003

13003:                                            ; preds = %12998, %13002
  %.str.5.sink5786 = phi ptr [ @.str.5, %13002 ], [ @.str.2, %12998 ]
  store i32 %12993, ptr %639, align 4, !tbaa !5
  %13004 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13005 = load i32, ptr @test_count, align 4, !tbaa !5
  %13006 = load i32, ptr %585, align 4, !tbaa !5
  %13007 = call ptr @s2n_strerror(i32 noundef %13006, ptr noundef nonnull @.str.4) #12
  %13008 = load i32, ptr %585, align 4, !tbaa !5
  %13009 = call ptr @s2n_strerror_debug(i32 noundef %13008, ptr noundef nonnull @.str.4) #12
  %13010 = load i32, ptr %639, align 4, !tbaa !5
  %13011 = call ptr @strerror(i32 noundef %13010) #12
  %13012 = load i32, ptr %639, align 4, !tbaa !5
  %13013 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13004, ptr noundef nonnull %.str.5.sink5786, i32 noundef %13005, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 1024, ptr noundef %13007, ptr noundef %13009, ptr noundef %13011, i32 noundef %13012) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13014:                                            ; preds = %12987
  %13015 = load i32, ptr @test_count, align 4, !tbaa !5
  %13016 = add nsw i32 %13015, 1
  store i32 %13016, ptr @test_count, align 4, !tbaa !5
  %13017 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %12935, ptr noundef nonnull %113) #12
  %13018 = icmp eq i32 %13017, -1
  br i1 %13018, label %13019, label %13041

13019:                                            ; preds = %13014
  %13020 = load i32, ptr %639, align 4, !tbaa !5
  %13021 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13022 = call i32 @s2n_print_stacktrace(ptr noundef %13021) #12
  %13023 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13024 = trunc nuw i8 %13023 to i1
  br i1 %13024, label %13025, label %13029

13025:                                            ; preds = %13019
  %13026 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13027 = call i32 @fileno(ptr noundef %13026) #12
  %13028 = call i32 @isatty(i32 noundef %13027) #12
  %.not1447 = icmp eq i32 %13028, 0
  br i1 %.not1447, label %13029, label %13030

13029:                                            ; preds = %13025, %13019
  br label %13030

13030:                                            ; preds = %13025, %13029
  %.str.5.sink5795 = phi ptr [ @.str.5, %13029 ], [ @.str.2, %13025 ]
  store i32 %13020, ptr %639, align 4, !tbaa !5
  %13031 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13032 = load i32, ptr @test_count, align 4, !tbaa !5
  %13033 = load i32, ptr %585, align 4, !tbaa !5
  %13034 = call ptr @s2n_strerror(i32 noundef %13033, ptr noundef nonnull @.str.4) #12
  %13035 = load i32, ptr %585, align 4, !tbaa !5
  %13036 = call ptr @s2n_strerror_debug(i32 noundef %13035, ptr noundef nonnull @.str.4) #12
  %13037 = load i32, ptr %639, align 4, !tbaa !5
  %13038 = call ptr @strerror(i32 noundef %13037) #12
  %13039 = load i32, ptr %639, align 4, !tbaa !5
  %13040 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13031, ptr noundef nonnull %.str.5.sink5795, i32 noundef %13032, ptr noundef nonnull @.str.145, ptr noundef nonnull @.str.1, i32 noundef 1025, ptr noundef %13034, ptr noundef %13036, ptr noundef %13038, i32 noundef %13039) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13041:                                            ; preds = %13014
  %13042 = load i32, ptr @test_count, align 4, !tbaa !5
  %13043 = add nsw i32 %13042, 1
  store i32 %13043, ptr @test_count, align 4, !tbaa !5
  %13044 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %12935, i32 noundef 1024) #12
  %13045 = icmp eq i32 %13044, -1
  br i1 %13045, label %13046, label %13068

13046:                                            ; preds = %13041
  %13047 = load i32, ptr %639, align 4, !tbaa !5
  %13048 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13049 = call i32 @s2n_print_stacktrace(ptr noundef %13048) #12
  %13050 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13051 = trunc nuw i8 %13050 to i1
  br i1 %13051, label %13052, label %13056

13052:                                            ; preds = %13046
  %13053 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13054 = call i32 @fileno(ptr noundef %13053) #12
  %13055 = call i32 @isatty(i32 noundef %13054) #12
  %.not1446 = icmp eq i32 %13055, 0
  br i1 %.not1446, label %13056, label %13057

13056:                                            ; preds = %13052, %13046
  br label %13057

13057:                                            ; preds = %13052, %13056
  %.str.5.sink5804 = phi ptr [ @.str.5, %13056 ], [ @.str.2, %13052 ]
  store i32 %13047, ptr %639, align 4, !tbaa !5
  %13058 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13059 = load i32, ptr @test_count, align 4, !tbaa !5
  %13060 = load i32, ptr %585, align 4, !tbaa !5
  %13061 = call ptr @s2n_strerror(i32 noundef %13060, ptr noundef nonnull @.str.4) #12
  %13062 = load i32, ptr %585, align 4, !tbaa !5
  %13063 = call ptr @s2n_strerror_debug(i32 noundef %13062, ptr noundef nonnull @.str.4) #12
  %13064 = load i32, ptr %639, align 4, !tbaa !5
  %13065 = call ptr @strerror(i32 noundef %13064) #12
  %13066 = load i32, ptr %639, align 4, !tbaa !5
  %13067 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13058, ptr noundef nonnull %.str.5.sink5804, i32 noundef %13059, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 1026, ptr noundef %13061, ptr noundef %13063, ptr noundef %13065, i32 noundef %13066) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13068:                                            ; preds = %13041
  %13069 = getelementptr inbounds i8, ptr %12935, i64 1688
  store i32 1, ptr %13069, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %114) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %114, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %115) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %115, i8 0, i64 40, i1 false)
  %13070 = load i32, ptr @test_count, align 4, !tbaa !5
  %13071 = add nsw i32 %13070, 1
  store i32 %13071, ptr @test_count, align 4, !tbaa !5
  %13072 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %114, i32 noundef 8092) #12
  %13073 = icmp eq i32 %13072, -1
  br i1 %13073, label %13074, label %13096

13074:                                            ; preds = %13068
  %13075 = load i32, ptr %639, align 4, !tbaa !5
  %13076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13077 = call i32 @s2n_print_stacktrace(ptr noundef %13076) #12
  %13078 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13079 = trunc nuw i8 %13078 to i1
  br i1 %13079, label %13080, label %13084

13080:                                            ; preds = %13074
  %13081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13082 = call i32 @fileno(ptr noundef %13081) #12
  %13083 = call i32 @isatty(i32 noundef %13082) #12
  %.not1445 = icmp eq i32 %13083, 0
  br i1 %.not1445, label %13084, label %13085

13084:                                            ; preds = %13080, %13074
  br label %13085

13085:                                            ; preds = %13080, %13084
  %.str.5.sink5813 = phi ptr [ @.str.5, %13084 ], [ @.str.2, %13080 ]
  store i32 %13075, ptr %639, align 4, !tbaa !5
  %13086 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13087 = load i32, ptr @test_count, align 4, !tbaa !5
  %13088 = load i32, ptr %585, align 4, !tbaa !5
  %13089 = call ptr @s2n_strerror(i32 noundef %13088, ptr noundef nonnull @.str.4) #12
  %13090 = load i32, ptr %585, align 4, !tbaa !5
  %13091 = call ptr @s2n_strerror_debug(i32 noundef %13090, ptr noundef nonnull @.str.4) #12
  %13092 = load i32, ptr %639, align 4, !tbaa !5
  %13093 = call ptr @strerror(i32 noundef %13092) #12
  %13094 = load i32, ptr %639, align 4, !tbaa !5
  %13095 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13086, ptr noundef nonnull %.str.5.sink5813, i32 noundef %13087, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1034, ptr noundef %13089, ptr noundef %13091, ptr noundef %13093, i32 noundef %13094) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13096:                                            ; preds = %13068
  %13097 = load i32, ptr @test_count, align 4, !tbaa !5
  %13098 = add nsw i32 %13097, 1
  store i32 %13098, ptr @test_count, align 4, !tbaa !5
  %13099 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %115, i32 noundef 8092) #12
  %13100 = icmp eq i32 %13099, -1
  br i1 %13100, label %13101, label %13123

13101:                                            ; preds = %13096
  %13102 = load i32, ptr %639, align 4, !tbaa !5
  %13103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13104 = call i32 @s2n_print_stacktrace(ptr noundef %13103) #12
  %13105 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13106 = trunc nuw i8 %13105 to i1
  br i1 %13106, label %13107, label %13111

13107:                                            ; preds = %13101
  %13108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13109 = call i32 @fileno(ptr noundef %13108) #12
  %13110 = call i32 @isatty(i32 noundef %13109) #12
  %.not1444 = icmp eq i32 %13110, 0
  br i1 %.not1444, label %13111, label %13112

13111:                                            ; preds = %13107, %13101
  br label %13112

13112:                                            ; preds = %13107, %13111
  %.str.5.sink5822 = phi ptr [ @.str.5, %13111 ], [ @.str.2, %13107 ]
  store i32 %13102, ptr %639, align 4, !tbaa !5
  %13113 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13114 = load i32, ptr @test_count, align 4, !tbaa !5
  %13115 = load i32, ptr %585, align 4, !tbaa !5
  %13116 = call ptr @s2n_strerror(i32 noundef %13115, ptr noundef nonnull @.str.4) #12
  %13117 = load i32, ptr %585, align 4, !tbaa !5
  %13118 = call ptr @s2n_strerror_debug(i32 noundef %13117, ptr noundef nonnull @.str.4) #12
  %13119 = load i32, ptr %639, align 4, !tbaa !5
  %13120 = call ptr @strerror(i32 noundef %13119) #12
  %13121 = load i32, ptr %639, align 4, !tbaa !5
  %13122 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13113, ptr noundef nonnull %.str.5.sink5822, i32 noundef %13114, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1035, ptr noundef %13116, ptr noundef %13118, ptr noundef %13120, i32 noundef %13121) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13123:                                            ; preds = %13096
  %13124 = load i32, ptr @test_count, align 4, !tbaa !5
  %13125 = add nsw i32 %13124, 1
  store i32 %13125, ptr @test_count, align 4, !tbaa !5
  %13126 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %114, ptr noundef nonnull %115, ptr noundef nonnull %12935) #12
  %13127 = icmp eq i32 %13126, -1
  br i1 %13127, label %13128, label %13150

13128:                                            ; preds = %13123
  %13129 = load i32, ptr %639, align 4, !tbaa !5
  %13130 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13131 = call i32 @s2n_print_stacktrace(ptr noundef %13130) #12
  %13132 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13133 = trunc nuw i8 %13132 to i1
  br i1 %13133, label %13134, label %13138

13134:                                            ; preds = %13128
  %13135 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13136 = call i32 @fileno(ptr noundef %13135) #12
  %13137 = call i32 @isatty(i32 noundef %13136) #12
  %.not1443 = icmp eq i32 %13137, 0
  br i1 %.not1443, label %13138, label %13139

13138:                                            ; preds = %13134, %13128
  br label %13139

13139:                                            ; preds = %13134, %13138
  %.str.5.sink5831 = phi ptr [ @.str.5, %13138 ], [ @.str.2, %13134 ]
  store i32 %13129, ptr %639, align 4, !tbaa !5
  %13140 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13141 = load i32, ptr @test_count, align 4, !tbaa !5
  %13142 = load i32, ptr %585, align 4, !tbaa !5
  %13143 = call ptr @s2n_strerror(i32 noundef %13142, ptr noundef nonnull @.str.4) #12
  %13144 = load i32, ptr %585, align 4, !tbaa !5
  %13145 = call ptr @s2n_strerror_debug(i32 noundef %13144, ptr noundef nonnull @.str.4) #12
  %13146 = load i32, ptr %639, align 4, !tbaa !5
  %13147 = call ptr @strerror(i32 noundef %13146) #12
  %13148 = load i32, ptr %639, align 4, !tbaa !5
  %13149 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13140, ptr noundef nonnull %.str.5.sink5831, i32 noundef %13141, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 1036, ptr noundef %13143, ptr noundef %13145, ptr noundef %13147, i32 noundef %13148) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13150:                                            ; preds = %13123
  %13151 = load i32, ptr @test_count, align 4, !tbaa !5
  %13152 = add nsw i32 %13151, 1
  store i32 %13152, ptr @test_count, align 4, !tbaa !5
  %13153 = call i32 @s2n_stuffer_write(ptr noundef nonnull %114, ptr noundef nonnull %99) #12
  %13154 = icmp eq i32 %13153, -1
  br i1 %13154, label %13155, label %13177

13155:                                            ; preds = %13150
  %13156 = load i32, ptr %639, align 4, !tbaa !5
  %13157 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13158 = call i32 @s2n_print_stacktrace(ptr noundef %13157) #12
  %13159 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13160 = trunc nuw i8 %13159 to i1
  br i1 %13160, label %13161, label %13165

13161:                                            ; preds = %13155
  %13162 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13163 = call i32 @fileno(ptr noundef %13162) #12
  %13164 = call i32 @isatty(i32 noundef %13163) #12
  %.not1442 = icmp eq i32 %13164, 0
  br i1 %.not1442, label %13165, label %13166

13165:                                            ; preds = %13161, %13155
  br label %13166

13166:                                            ; preds = %13161, %13165
  %.str.5.sink5840 = phi ptr [ @.str.5, %13165 ], [ @.str.2, %13161 ]
  store i32 %13156, ptr %639, align 4, !tbaa !5
  %13167 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13168 = load i32, ptr @test_count, align 4, !tbaa !5
  %13169 = load i32, ptr %585, align 4, !tbaa !5
  %13170 = call ptr @s2n_strerror(i32 noundef %13169, ptr noundef nonnull @.str.4) #12
  %13171 = load i32, ptr %585, align 4, !tbaa !5
  %13172 = call ptr @s2n_strerror_debug(i32 noundef %13171, ptr noundef nonnull @.str.4) #12
  %13173 = load i32, ptr %639, align 4, !tbaa !5
  %13174 = call ptr @strerror(i32 noundef %13173) #12
  %13175 = load i32, ptr %639, align 4, !tbaa !5
  %13176 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13167, ptr noundef nonnull %.str.5.sink5840, i32 noundef %13168, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 1038, ptr noundef %13170, ptr noundef %13172, ptr noundef %13174, i32 noundef %13175) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13177:                                            ; preds = %13150
  %13178 = load i32, ptr @test_count, align 4, !tbaa !5
  %13179 = add nsw i32 %13178, 1
  store i32 %13179, ptr @test_count, align 4, !tbaa !5
  %13180 = call i32 @s2n_stuffer_write(ptr noundef nonnull %114, ptr noundef nonnull %101) #12
  %13181 = icmp eq i32 %13180, -1
  br i1 %13181, label %13182, label %13204

13182:                                            ; preds = %13177
  %13183 = load i32, ptr %639, align 4, !tbaa !5
  %13184 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13185 = call i32 @s2n_print_stacktrace(ptr noundef %13184) #12
  %13186 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13187 = trunc nuw i8 %13186 to i1
  br i1 %13187, label %13188, label %13192

13188:                                            ; preds = %13182
  %13189 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13190 = call i32 @fileno(ptr noundef %13189) #12
  %13191 = call i32 @isatty(i32 noundef %13190) #12
  %.not1441 = icmp eq i32 %13191, 0
  br i1 %.not1441, label %13192, label %13193

13192:                                            ; preds = %13188, %13182
  br label %13193

13193:                                            ; preds = %13188, %13192
  %.str.5.sink5849 = phi ptr [ @.str.5, %13192 ], [ @.str.2, %13188 ]
  store i32 %13183, ptr %639, align 4, !tbaa !5
  %13194 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13195 = load i32, ptr @test_count, align 4, !tbaa !5
  %13196 = load i32, ptr %585, align 4, !tbaa !5
  %13197 = call ptr @s2n_strerror(i32 noundef %13196, ptr noundef nonnull @.str.4) #12
  %13198 = load i32, ptr %585, align 4, !tbaa !5
  %13199 = call ptr @s2n_strerror_debug(i32 noundef %13198, ptr noundef nonnull @.str.4) #12
  %13200 = load i32, ptr %639, align 4, !tbaa !5
  %13201 = call ptr @strerror(i32 noundef %13200) #12
  %13202 = load i32, ptr %639, align 4, !tbaa !5
  %13203 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13194, ptr noundef nonnull %.str.5.sink5849, i32 noundef %13195, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 1039, ptr noundef %13197, ptr noundef %13199, ptr noundef %13201, i32 noundef %13202) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13204:                                            ; preds = %13177
  %13205 = load i32, ptr @test_count, align 4, !tbaa !5
  %13206 = add nsw i32 %13205, 1
  store i32 %13206, ptr @test_count, align 4, !tbaa !5
  %13207 = call i32 @s2n_stuffer_write(ptr noundef nonnull %114, ptr noundef nonnull %102) #12
  %13208 = icmp eq i32 %13207, -1
  br i1 %13208, label %13209, label %13231

13209:                                            ; preds = %13204
  %13210 = load i32, ptr %639, align 4, !tbaa !5
  %13211 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13212 = call i32 @s2n_print_stacktrace(ptr noundef %13211) #12
  %13213 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13214 = trunc nuw i8 %13213 to i1
  br i1 %13214, label %13215, label %13219

13215:                                            ; preds = %13209
  %13216 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13217 = call i32 @fileno(ptr noundef %13216) #12
  %13218 = call i32 @isatty(i32 noundef %13217) #12
  %.not1440 = icmp eq i32 %13218, 0
  br i1 %.not1440, label %13219, label %13220

13219:                                            ; preds = %13215, %13209
  br label %13220

13220:                                            ; preds = %13215, %13219
  %.str.5.sink5858 = phi ptr [ @.str.5, %13219 ], [ @.str.2, %13215 ]
  store i32 %13210, ptr %639, align 4, !tbaa !5
  %13221 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13222 = load i32, ptr @test_count, align 4, !tbaa !5
  %13223 = load i32, ptr %585, align 4, !tbaa !5
  %13224 = call ptr @s2n_strerror(i32 noundef %13223, ptr noundef nonnull @.str.4) #12
  %13225 = load i32, ptr %585, align 4, !tbaa !5
  %13226 = call ptr @s2n_strerror_debug(i32 noundef %13225, ptr noundef nonnull @.str.4) #12
  %13227 = load i32, ptr %639, align 4, !tbaa !5
  %13228 = call ptr @strerror(i32 noundef %13227) #12
  %13229 = load i32, ptr %639, align 4, !tbaa !5
  %13230 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13221, ptr noundef nonnull %.str.5.sink5858, i32 noundef %13222, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 1040, ptr noundef %13224, ptr noundef %13226, ptr noundef %13228, i32 noundef %13229) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13231:                                            ; preds = %13204
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %116) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %116, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %117) #12
  store i32 0, ptr %117, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %118) #12
  store i64 0, ptr %118, align 8, !tbaa !42
  %13232 = load i32, ptr @test_count, align 4, !tbaa !5
  %13233 = add nsw i32 %13232, 1
  store i32 %13233, ptr @test_count, align 4, !tbaa !5
  %13234 = call i32 @s2n_recv_early_data(ptr noundef nonnull %12935, ptr noundef nonnull %116, i64 noundef 100, ptr noundef nonnull %118, ptr noundef nonnull %117) #12
  %13235 = icmp eq i32 %13234, -1
  br i1 %13235, label %13236, label %13258

13236:                                            ; preds = %13231
  %13237 = load i32, ptr %639, align 4, !tbaa !5
  %13238 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13239 = call i32 @s2n_print_stacktrace(ptr noundef %13238) #12
  %13240 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13241 = trunc nuw i8 %13240 to i1
  br i1 %13241, label %13242, label %13246

13242:                                            ; preds = %13236
  %13243 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13244 = call i32 @fileno(ptr noundef %13243) #12
  %13245 = call i32 @isatty(i32 noundef %13244) #12
  %.not1439 = icmp eq i32 %13245, 0
  br i1 %.not1439, label %13246, label %13247

13246:                                            ; preds = %13242, %13236
  br label %13247

13247:                                            ; preds = %13242, %13246
  %.str.5.sink5867 = phi ptr [ @.str.5, %13246 ], [ @.str.2, %13242 ]
  store i32 %13237, ptr %639, align 4, !tbaa !5
  %13248 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13249 = load i32, ptr @test_count, align 4, !tbaa !5
  %13250 = load i32, ptr %585, align 4, !tbaa !5
  %13251 = call ptr @s2n_strerror(i32 noundef %13250, ptr noundef nonnull @.str.4) #12
  %13252 = load i32, ptr %585, align 4, !tbaa !5
  %13253 = call ptr @s2n_strerror_debug(i32 noundef %13252, ptr noundef nonnull @.str.4) #12
  %13254 = load i32, ptr %639, align 4, !tbaa !5
  %13255 = call ptr @strerror(i32 noundef %13254) #12
  %13256 = load i32, ptr %639, align 4, !tbaa !5
  %13257 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13248, ptr noundef nonnull %.str.5.sink5867, i32 noundef %13249, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 1047, ptr noundef %13251, ptr noundef %13253, ptr noundef %13255, i32 noundef %13256) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13258:                                            ; preds = %13231
  %13259 = load i32, ptr @test_count, align 4, !tbaa !5
  %13260 = add nsw i32 %13259, 1
  store i32 %13260, ptr @test_count, align 4, !tbaa !5
  %13261 = load i32, ptr %117, align 4, !tbaa !5
  %13262 = icmp eq i32 %13261, 0
  br i1 %13262, label %13285, label %13263

13263:                                            ; preds = %13258
  %13264 = load i32, ptr %639, align 4, !tbaa !5
  %13265 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13266 = call i32 @s2n_print_stacktrace(ptr noundef %13265) #12
  %13267 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13268 = trunc nuw i8 %13267 to i1
  br i1 %13268, label %13269, label %13273

13269:                                            ; preds = %13263
  %13270 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13271 = call i32 @fileno(ptr noundef %13270) #12
  %13272 = call i32 @isatty(i32 noundef %13271) #12
  %.not1402 = icmp eq i32 %13272, 0
  br i1 %.not1402, label %13273, label %13274

13273:                                            ; preds = %13269, %13263
  br label %13274

13274:                                            ; preds = %13269, %13273
  %.str.5.sink5876 = phi ptr [ @.str.5, %13273 ], [ @.str.2, %13269 ]
  store i32 %13264, ptr %639, align 4, !tbaa !5
  %13275 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13276 = load i32, ptr @test_count, align 4, !tbaa !5
  %13277 = load i32, ptr %585, align 4, !tbaa !5
  %13278 = call ptr @s2n_strerror(i32 noundef %13277, ptr noundef nonnull @.str.4) #12
  %13279 = load i32, ptr %585, align 4, !tbaa !5
  %13280 = call ptr @s2n_strerror_debug(i32 noundef %13279, ptr noundef nonnull @.str.4) #12
  %13281 = load i32, ptr %639, align 4, !tbaa !5
  %13282 = call ptr @strerror(i32 noundef %13281) #12
  %13283 = load i32, ptr %639, align 4, !tbaa !5
  %13284 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13275, ptr noundef nonnull %.str.5.sink5876, i32 noundef %13276, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 1048, ptr noundef %13278, ptr noundef %13280, ptr noundef %13282, i32 noundef %13283) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13285:                                            ; preds = %13258
  %13286 = add nsw i32 %13259, 2
  store i32 %13286, ptr @test_count, align 4, !tbaa !5
  %13287 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %12935) #12
  %13288 = icmp eq i32 %13287, 0
  br i1 %13288, label %13311, label %13289

13289:                                            ; preds = %13285
  %13290 = load i32, ptr %639, align 4, !tbaa !5
  %13291 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13292 = call i32 @s2n_print_stacktrace(ptr noundef %13291) #12
  %13293 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13294 = trunc nuw i8 %13293 to i1
  br i1 %13294, label %13295, label %13299

13295:                                            ; preds = %13289
  %13296 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13297 = call i32 @fileno(ptr noundef %13296) #12
  %13298 = call i32 @isatty(i32 noundef %13297) #12
  %.not1403 = icmp eq i32 %13298, 0
  br i1 %.not1403, label %13299, label %13300

13299:                                            ; preds = %13295, %13289
  br label %13300

13300:                                            ; preds = %13295, %13299
  %.str.5.sink5885 = phi ptr [ @.str.5, %13299 ], [ @.str.2, %13295 ]
  store i32 %13290, ptr %639, align 4, !tbaa !5
  %13301 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13302 = load i32, ptr @test_count, align 4, !tbaa !5
  %13303 = load i32, ptr %585, align 4, !tbaa !5
  %13304 = call ptr @s2n_strerror(i32 noundef %13303, ptr noundef nonnull @.str.4) #12
  %13305 = load i32, ptr %585, align 4, !tbaa !5
  %13306 = call ptr @s2n_strerror_debug(i32 noundef %13305, ptr noundef nonnull @.str.4) #12
  %13307 = load i32, ptr %639, align 4, !tbaa !5
  %13308 = call ptr @strerror(i32 noundef %13307) #12
  %13309 = load i32, ptr %639, align 4, !tbaa !5
  %13310 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13301, ptr noundef nonnull %.str.5.sink5885, i32 noundef %13302, ptr noundef nonnull @.str.105, ptr noundef nonnull @.str.1, i32 noundef 1048, ptr noundef %13304, ptr noundef %13306, ptr noundef %13308, i32 noundef %13309) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13311:                                            ; preds = %13285
  %13312 = load i32, ptr @test_count, align 4, !tbaa !5
  %13313 = add nsw i32 %13312, 1
  store i32 %13313, ptr @test_count, align 4, !tbaa !5
  %13314 = load i64, ptr %118, align 8, !tbaa !42
  %13315 = icmp eq i64 %13314, 0
  br i1 %13315, label %13338, label %13316

13316:                                            ; preds = %13311
  %13317 = load i32, ptr %639, align 4, !tbaa !5
  %13318 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13319 = call i32 @s2n_print_stacktrace(ptr noundef %13318) #12
  %13320 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13321 = trunc nuw i8 %13320 to i1
  br i1 %13321, label %13322, label %13326

13322:                                            ; preds = %13316
  %13323 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13324 = call i32 @fileno(ptr noundef %13323) #12
  %13325 = call i32 @isatty(i32 noundef %13324) #12
  %.not1404 = icmp eq i32 %13325, 0
  br i1 %.not1404, label %13326, label %13327

13326:                                            ; preds = %13322, %13316
  br label %13327

13327:                                            ; preds = %13322, %13326
  %.str.5.sink5894 = phi ptr [ @.str.5, %13326 ], [ @.str.2, %13322 ]
  store i32 %13317, ptr %639, align 4, !tbaa !5
  %13328 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13329 = load i32, ptr @test_count, align 4, !tbaa !5
  %13330 = load i32, ptr %585, align 4, !tbaa !5
  %13331 = call ptr @s2n_strerror(i32 noundef %13330, ptr noundef nonnull @.str.4) #12
  %13332 = load i32, ptr %585, align 4, !tbaa !5
  %13333 = call ptr @s2n_strerror_debug(i32 noundef %13332, ptr noundef nonnull @.str.4) #12
  %13334 = load i32, ptr %639, align 4, !tbaa !5
  %13335 = call ptr @strerror(i32 noundef %13334) #12
  %13336 = load i32, ptr %639, align 4, !tbaa !5
  %13337 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13328, ptr noundef nonnull %.str.5.sink5894, i32 noundef %13329, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 1049, ptr noundef %13331, ptr noundef %13333, ptr noundef %13335, i32 noundef %13336) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13338:                                            ; preds = %13311
  %13339 = add nsw i32 %13312, 2
  store i32 %13339, ptr @test_count, align 4, !tbaa !5
  %13340 = call i32 @s2n_negotiate(ptr noundef nonnull %12935, ptr noundef nonnull %117) #12
  %13341 = icmp eq i32 %13340, -1
  br i1 %13341, label %13364, label %13342

13342:                                            ; preds = %13338
  %13343 = load i32, ptr %639, align 4, !tbaa !5
  %13344 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13345 = call i32 @s2n_print_stacktrace(ptr noundef %13344) #12
  %13346 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13347 = trunc nuw i8 %13346 to i1
  br i1 %13347, label %13348, label %13352

13348:                                            ; preds = %13342
  %13349 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13350 = call i32 @fileno(ptr noundef %13349) #12
  %13351 = call i32 @isatty(i32 noundef %13350) #12
  %.not1405 = icmp eq i32 %13351, 0
  br i1 %.not1405, label %13352, label %13353

13352:                                            ; preds = %13348, %13342
  br label %13353

13353:                                            ; preds = %13348, %13352
  %.str.5.sink5903 = phi ptr [ @.str.5, %13352 ], [ @.str.2, %13348 ]
  store i32 %13343, ptr %639, align 4, !tbaa !5
  %13354 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13355 = load i32, ptr @test_count, align 4, !tbaa !5
  %13356 = load i32, ptr %585, align 4, !tbaa !5
  %13357 = call ptr @s2n_strerror(i32 noundef %13356, ptr noundef nonnull @.str.4) #12
  %13358 = load i32, ptr %585, align 4, !tbaa !5
  %13359 = call ptr @s2n_strerror_debug(i32 noundef %13358, ptr noundef nonnull @.str.4) #12
  %13360 = load i32, ptr %639, align 4, !tbaa !5
  %13361 = call ptr @strerror(i32 noundef %13360) #12
  %13362 = load i32, ptr %639, align 4, !tbaa !5
  %13363 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13354, ptr noundef nonnull %.str.5.sink5903, i32 noundef %13355, ptr noundef nonnull @.str.143, ptr noundef nonnull @.str.1, i32 noundef 1051, ptr noundef %13357, ptr noundef %13359, ptr noundef %13361, i32 noundef %13362) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13364:                                            ; preds = %13338
  %13365 = load i32, ptr @test_count, align 4, !tbaa !5
  %13366 = add nsw i32 %13365, 1
  store i32 %13366, ptr @test_count, align 4, !tbaa !5
  %13367 = load i32, ptr %585, align 4, !tbaa !5
  %13368 = icmp eq i32 %13367, 201326592
  br i1 %13368, label %13391, label %13369

13369:                                            ; preds = %13364
  %13370 = load i32, ptr %639, align 4, !tbaa !5
  %13371 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13372 = call i32 @s2n_print_stacktrace(ptr noundef %13371) #12
  %13373 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13374 = trunc nuw i8 %13373 to i1
  br i1 %13374, label %13375, label %13379

13375:                                            ; preds = %13369
  %13376 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13377 = call i32 @fileno(ptr noundef %13376) #12
  %13378 = call i32 @isatty(i32 noundef %13377) #12
  %.not1406 = icmp eq i32 %13378, 0
  br i1 %.not1406, label %13379, label %13380

13379:                                            ; preds = %13375, %13369
  br label %13380

13380:                                            ; preds = %13375, %13379
  %.str.5.sink5912 = phi ptr [ @.str.5, %13379 ], [ @.str.2, %13375 ]
  store i32 %13370, ptr %639, align 4, !tbaa !5
  %13381 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13382 = load i32, ptr @test_count, align 4, !tbaa !5
  %13383 = load i32, ptr %585, align 4, !tbaa !5
  %13384 = call ptr @s2n_strerror(i32 noundef %13383, ptr noundef nonnull @.str.4) #12
  %13385 = load i32, ptr %585, align 4, !tbaa !5
  %13386 = call ptr @s2n_strerror_debug(i32 noundef %13385, ptr noundef nonnull @.str.4) #12
  %13387 = load i32, ptr %639, align 4, !tbaa !5
  %13388 = call ptr @strerror(i32 noundef %13387) #12
  %13389 = load i32, ptr %639, align 4, !tbaa !5
  %13390 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13381, ptr noundef nonnull %.str.5.sink5912, i32 noundef %13382, ptr noundef nonnull @.str.61, ptr noundef nonnull @.str.1, i32 noundef 1051, ptr noundef %13384, ptr noundef %13386, ptr noundef %13388, i32 noundef %13389) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13391:                                            ; preds = %13364
  %13392 = add nsw i32 %13365, 2
  store i32 %13392, ptr @test_count, align 4, !tbaa !5
  %13393 = call ptr @s2n_strerror_debug(i32 noundef 201326592, ptr noundef nonnull @.str.4) #12
  %13394 = icmp eq ptr %13393, null
  br i1 %13394, label %13395, label %13417

13395:                                            ; preds = %13391
  %13396 = load i32, ptr %639, align 4, !tbaa !5
  %13397 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13398 = call i32 @s2n_print_stacktrace(ptr noundef %13397) #12
  %13399 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13400 = trunc nuw i8 %13399 to i1
  br i1 %13400, label %13401, label %13405

13401:                                            ; preds = %13395
  %13402 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13403 = call i32 @fileno(ptr noundef %13402) #12
  %13404 = call i32 @isatty(i32 noundef %13403) #12
  %.not1438 = icmp eq i32 %13404, 0
  br i1 %.not1438, label %13405, label %13406

13405:                                            ; preds = %13401, %13395
  br label %13406

13406:                                            ; preds = %13401, %13405
  %.str.5.sink5921 = phi ptr [ @.str.5, %13405 ], [ @.str.2, %13401 ]
  store i32 %13396, ptr %639, align 4, !tbaa !5
  %13407 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13408 = load i32, ptr @test_count, align 4, !tbaa !5
  %13409 = load i32, ptr %585, align 4, !tbaa !5
  %13410 = call ptr @s2n_strerror(i32 noundef %13409, ptr noundef nonnull @.str.4) #12
  %13411 = load i32, ptr %585, align 4, !tbaa !5
  %13412 = call ptr @s2n_strerror_debug(i32 noundef %13411, ptr noundef nonnull @.str.4) #12
  %13413 = load i32, ptr %639, align 4, !tbaa !5
  %13414 = call ptr @strerror(i32 noundef %13413) #12
  %13415 = load i32, ptr %639, align 4, !tbaa !5
  %13416 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13407, ptr noundef nonnull %.str.5.sink5921, i32 noundef %13408, ptr noundef nonnull @.str.25, ptr noundef nonnull @.str.1, i32 noundef 1051, ptr noundef %13410, ptr noundef %13412, ptr noundef %13414, i32 noundef %13415) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13417:                                            ; preds = %13391
  store i32 0, ptr %585, align 4, !tbaa !5
  call void @s2n_debug_info_reset() #12
  store i32 0, ptr %639, align 4, !tbaa !5
  %13418 = load i32, ptr @test_count, align 4, !tbaa !5
  %13419 = add nsw i32 %13418, 1
  store i32 %13419, ptr @test_count, align 4, !tbaa !5
  %13420 = load i32, ptr %117, align 4, !tbaa !5
  %13421 = icmp eq i32 %13420, 1
  br i1 %13421, label %13444, label %13422

13422:                                            ; preds = %13417
  %13423 = load i32, ptr %639, align 4, !tbaa !5
  %13424 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13425 = call i32 @s2n_print_stacktrace(ptr noundef %13424) #12
  %13426 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13427 = trunc nuw i8 %13426 to i1
  br i1 %13427, label %13428, label %13432

13428:                                            ; preds = %13422
  %13429 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13430 = call i32 @fileno(ptr noundef %13429) #12
  %13431 = call i32 @isatty(i32 noundef %13430) #12
  %.not1407 = icmp eq i32 %13431, 0
  br i1 %.not1407, label %13432, label %13433

13432:                                            ; preds = %13428, %13422
  br label %13433

13433:                                            ; preds = %13428, %13432
  %.str.5.sink5930 = phi ptr [ @.str.5, %13432 ], [ @.str.2, %13428 ]
  store i32 %13423, ptr %639, align 4, !tbaa !5
  %13434 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13435 = load i32, ptr @test_count, align 4, !tbaa !5
  %13436 = load i32, ptr %585, align 4, !tbaa !5
  %13437 = call ptr @s2n_strerror(i32 noundef %13436, ptr noundef nonnull @.str.4) #12
  %13438 = load i32, ptr %585, align 4, !tbaa !5
  %13439 = call ptr @s2n_strerror_debug(i32 noundef %13438, ptr noundef nonnull @.str.4) #12
  %13440 = load i32, ptr %639, align 4, !tbaa !5
  %13441 = call ptr @strerror(i32 noundef %13440) #12
  %13442 = load i32, ptr %639, align 4, !tbaa !5
  %13443 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13434, ptr noundef nonnull %.str.5.sink5930, i32 noundef %13435, ptr noundef nonnull @.str.62, ptr noundef nonnull @.str.1, i32 noundef 1052, ptr noundef %13437, ptr noundef %13439, ptr noundef %13441, i32 noundef %13442) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13444:                                            ; preds = %13417
  %13445 = add nsw i32 %13418, 2
  store i32 %13445, ptr @test_count, align 4, !tbaa !5
  %13446 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %12935) #12
  %13447 = icmp eq i32 %13446, 13
  br i1 %13447, label %13470, label %13448

13448:                                            ; preds = %13444
  %13449 = load i32, ptr %639, align 4, !tbaa !5
  %13450 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13451 = call i32 @s2n_print_stacktrace(ptr noundef %13450) #12
  %13452 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13453 = trunc nuw i8 %13452 to i1
  br i1 %13453, label %13454, label %13458

13454:                                            ; preds = %13448
  %13455 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13456 = call i32 @fileno(ptr noundef %13455) #12
  %13457 = call i32 @isatty(i32 noundef %13456) #12
  %.not1408 = icmp eq i32 %13457, 0
  br i1 %.not1408, label %13458, label %13459

13458:                                            ; preds = %13454, %13448
  br label %13459

13459:                                            ; preds = %13454, %13458
  %.str.5.sink5939 = phi ptr [ @.str.5, %13458 ], [ @.str.2, %13454 ]
  store i32 %13449, ptr %639, align 4, !tbaa !5
  %13460 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13461 = load i32, ptr @test_count, align 4, !tbaa !5
  %13462 = load i32, ptr %585, align 4, !tbaa !5
  %13463 = call ptr @s2n_strerror(i32 noundef %13462, ptr noundef nonnull @.str.4) #12
  %13464 = load i32, ptr %585, align 4, !tbaa !5
  %13465 = call ptr @s2n_strerror_debug(i32 noundef %13464, ptr noundef nonnull @.str.4) #12
  %13466 = load i32, ptr %639, align 4, !tbaa !5
  %13467 = call ptr @strerror(i32 noundef %13466) #12
  %13468 = load i32, ptr %639, align 4, !tbaa !5
  %13469 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13460, ptr noundef nonnull %.str.5.sink5939, i32 noundef %13461, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1052, ptr noundef %13463, ptr noundef %13465, ptr noundef %13467, i32 noundef %13468) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13470:                                            ; preds = %13444
  %13471 = load i32, ptr @test_count, align 4, !tbaa !5
  %13472 = add nsw i32 %13471, 1
  store i32 %13472, ptr @test_count, align 4, !tbaa !5
  %13473 = getelementptr inbounds i8, ptr %12935, i64 4088
  %13474 = load i32, ptr %13473, align 8, !tbaa !55
  %13475 = icmp eq i32 %13474, 4
  br i1 %13475, label %13498, label %13476

13476:                                            ; preds = %13470
  %13477 = load i32, ptr %639, align 4, !tbaa !5
  %13478 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13479 = call i32 @s2n_print_stacktrace(ptr noundef %13478) #12
  %13480 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13481 = trunc nuw i8 %13480 to i1
  br i1 %13481, label %13482, label %13486

13482:                                            ; preds = %13476
  %13483 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13484 = call i32 @fileno(ptr noundef %13483) #12
  %13485 = call i32 @isatty(i32 noundef %13484) #12
  %.not1409 = icmp eq i32 %13485, 0
  br i1 %.not1409, label %13486, label %13487

13486:                                            ; preds = %13482, %13476
  br label %13487

13487:                                            ; preds = %13482, %13486
  %.str.5.sink5948 = phi ptr [ @.str.5, %13486 ], [ @.str.2, %13482 ]
  store i32 %13477, ptr %639, align 4, !tbaa !5
  %13488 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13489 = load i32, ptr @test_count, align 4, !tbaa !5
  %13490 = load i32, ptr %585, align 4, !tbaa !5
  %13491 = call ptr @s2n_strerror(i32 noundef %13490, ptr noundef nonnull @.str.4) #12
  %13492 = load i32, ptr %585, align 4, !tbaa !5
  %13493 = call ptr @s2n_strerror_debug(i32 noundef %13492, ptr noundef nonnull @.str.4) #12
  %13494 = load i32, ptr %639, align 4, !tbaa !5
  %13495 = call ptr @strerror(i32 noundef %13494) #12
  %13496 = load i32, ptr %639, align 4, !tbaa !5
  %13497 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13488, ptr noundef nonnull %.str.5.sink5948, i32 noundef %13489, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 1053, ptr noundef %13491, ptr noundef %13493, ptr noundef %13495, i32 noundef %13496) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13498:                                            ; preds = %13470
  %13499 = add nsw i32 %13471, 2
  store i32 %13499, ptr @test_count, align 4, !tbaa !5
  %13500 = call i32 @s2n_stuffer_free(ptr noundef nonnull %114) #12
  %13501 = icmp eq i32 %13500, -1
  br i1 %13501, label %13502, label %13524

13502:                                            ; preds = %13498
  %13503 = load i32, ptr %639, align 4, !tbaa !5
  %13504 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13505 = call i32 @s2n_print_stacktrace(ptr noundef %13504) #12
  %13506 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13507 = trunc nuw i8 %13506 to i1
  br i1 %13507, label %13508, label %13512

13508:                                            ; preds = %13502
  %13509 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13510 = call i32 @fileno(ptr noundef %13509) #12
  %13511 = call i32 @isatty(i32 noundef %13510) #12
  %.not1437 = icmp eq i32 %13511, 0
  br i1 %.not1437, label %13512, label %13513

13512:                                            ; preds = %13508, %13502
  br label %13513

13513:                                            ; preds = %13508, %13512
  %.str.5.sink5957 = phi ptr [ @.str.5, %13512 ], [ @.str.2, %13508 ]
  store i32 %13503, ptr %639, align 4, !tbaa !5
  %13514 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13515 = load i32, ptr @test_count, align 4, !tbaa !5
  %13516 = load i32, ptr %585, align 4, !tbaa !5
  %13517 = call ptr @s2n_strerror(i32 noundef %13516, ptr noundef nonnull @.str.4) #12
  %13518 = load i32, ptr %585, align 4, !tbaa !5
  %13519 = call ptr @s2n_strerror_debug(i32 noundef %13518, ptr noundef nonnull @.str.4) #12
  %13520 = load i32, ptr %639, align 4, !tbaa !5
  %13521 = call ptr @strerror(i32 noundef %13520) #12
  %13522 = load i32, ptr %639, align 4, !tbaa !5
  %13523 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13514, ptr noundef nonnull %.str.5.sink5957, i32 noundef %13515, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 1055, ptr noundef %13517, ptr noundef %13519, ptr noundef %13521, i32 noundef %13522) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13524:                                            ; preds = %13498
  %13525 = load i32, ptr @test_count, align 4, !tbaa !5
  %13526 = add nsw i32 %13525, 1
  store i32 %13526, ptr @test_count, align 4, !tbaa !5
  %13527 = call i32 @s2n_stuffer_free(ptr noundef nonnull %115) #12
  %13528 = icmp eq i32 %13527, -1
  br i1 %13528, label %13529, label %13551

13529:                                            ; preds = %13524
  %13530 = load i32, ptr %639, align 4, !tbaa !5
  %13531 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13532 = call i32 @s2n_print_stacktrace(ptr noundef %13531) #12
  %13533 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13534 = trunc nuw i8 %13533 to i1
  br i1 %13534, label %13535, label %13539

13535:                                            ; preds = %13529
  %13536 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13537 = call i32 @fileno(ptr noundef %13536) #12
  %13538 = call i32 @isatty(i32 noundef %13537) #12
  %.not1436 = icmp eq i32 %13538, 0
  br i1 %.not1436, label %13539, label %13540

13539:                                            ; preds = %13535, %13529
  br label %13540

13540:                                            ; preds = %13535, %13539
  %.str.5.sink5966 = phi ptr [ @.str.5, %13539 ], [ @.str.2, %13535 ]
  store i32 %13530, ptr %639, align 4, !tbaa !5
  %13541 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13542 = load i32, ptr @test_count, align 4, !tbaa !5
  %13543 = load i32, ptr %585, align 4, !tbaa !5
  %13544 = call ptr @s2n_strerror(i32 noundef %13543, ptr noundef nonnull @.str.4) #12
  %13545 = load i32, ptr %585, align 4, !tbaa !5
  %13546 = call ptr @s2n_strerror_debug(i32 noundef %13545, ptr noundef nonnull @.str.4) #12
  %13547 = load i32, ptr %639, align 4, !tbaa !5
  %13548 = call ptr @strerror(i32 noundef %13547) #12
  %13549 = load i32, ptr %639, align 4, !tbaa !5
  %13550 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13541, ptr noundef nonnull %.str.5.sink5966, i32 noundef %13542, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 1056, ptr noundef %13544, ptr noundef %13546, ptr noundef %13548, i32 noundef %13549) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13551:                                            ; preds = %13524
  %13552 = load i32, ptr @test_count, align 4, !tbaa !5
  %13553 = add nsw i32 %13552, 1
  store i32 %13553, ptr @test_count, align 4, !tbaa !5
  %13554 = call i32 @s2n_connection_free(ptr noundef nonnull %12935) #12
  %13555 = icmp eq i32 %13554, -1
  br i1 %13555, label %13556, label %13578

13556:                                            ; preds = %13551
  %13557 = load i32, ptr %639, align 4, !tbaa !5
  %13558 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13559 = call i32 @s2n_print_stacktrace(ptr noundef %13558) #12
  %13560 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13561 = trunc nuw i8 %13560 to i1
  br i1 %13561, label %13562, label %13566

13562:                                            ; preds = %13556
  %13563 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13564 = call i32 @fileno(ptr noundef %13563) #12
  %13565 = call i32 @isatty(i32 noundef %13564) #12
  %.not1435 = icmp eq i32 %13565, 0
  br i1 %.not1435, label %13566, label %13567

13566:                                            ; preds = %13562, %13556
  br label %13567

13567:                                            ; preds = %13562, %13566
  %.str.5.sink5975 = phi ptr [ @.str.5, %13566 ], [ @.str.2, %13562 ]
  store i32 %13557, ptr %639, align 4, !tbaa !5
  %13568 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13569 = load i32, ptr @test_count, align 4, !tbaa !5
  %13570 = load i32, ptr %585, align 4, !tbaa !5
  %13571 = call ptr @s2n_strerror(i32 noundef %13570, ptr noundef nonnull @.str.4) #12
  %13572 = load i32, ptr %585, align 4, !tbaa !5
  %13573 = call ptr @s2n_strerror_debug(i32 noundef %13572, ptr noundef nonnull @.str.4) #12
  %13574 = load i32, ptr %639, align 4, !tbaa !5
  %13575 = call ptr @strerror(i32 noundef %13574) #12
  %13576 = load i32, ptr %639, align 4, !tbaa !5
  %13577 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13568, ptr noundef nonnull %.str.5.sink5975, i32 noundef %13569, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 1057, ptr noundef %13571, ptr noundef %13573, ptr noundef %13575, i32 noundef %13576) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13578:                                            ; preds = %13551
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %118) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %117) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %116) #12
  %13579 = call i32 @s2n_stuffer_free(ptr noundef nonnull %115) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %115) #12
  %13580 = call i32 @s2n_stuffer_free(ptr noundef nonnull %114) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %114) #12
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %113) #12
  call void @llvm.lifetime.start.p0(i64 168, ptr nonnull %119) #12
  call void @llvm.memcpy.p0.p0.i64(ptr noundef nonnull align 8 dereferenceable(168) %119, ptr noundef nonnull align 8 dereferenceable(168) %96, i64 168, i1 false), !tbaa.struct !56
  %13581 = load i32, ptr @test_count, align 4, !tbaa !5
  %13582 = add nsw i32 %13581, 1
  store i32 %13582, ptr @test_count, align 4, !tbaa !5
  %13583 = call i32 @s2n_psk_configure_early_data(ptr noundef nonnull %119, i32 noundef 1024, i8 noundef zeroext 19, i8 noundef zeroext 3) #12
  %13584 = icmp eq i32 %13583, -1
  br i1 %13584, label %13585, label %13607

13585:                                            ; preds = %13578
  %13586 = load i32, ptr %639, align 4, !tbaa !5
  %13587 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13588 = call i32 @s2n_print_stacktrace(ptr noundef %13587) #12
  %13589 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13590 = trunc nuw i8 %13589 to i1
  br i1 %13590, label %13591, label %13595

13591:                                            ; preds = %13585
  %13592 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13593 = call i32 @fileno(ptr noundef %13592) #12
  %13594 = call i32 @isatty(i32 noundef %13593) #12
  %.not1434 = icmp eq i32 %13594, 0
  br i1 %.not1434, label %13595, label %13596

13595:                                            ; preds = %13591, %13585
  br label %13596

13596:                                            ; preds = %13591, %13595
  %.str.5.sink5984 = phi ptr [ @.str.5, %13595 ], [ @.str.2, %13591 ]
  store i32 %13586, ptr %639, align 4, !tbaa !5
  %13597 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13598 = load i32, ptr @test_count, align 4, !tbaa !5
  %13599 = load i32, ptr %585, align 4, !tbaa !5
  %13600 = call ptr @s2n_strerror(i32 noundef %13599, ptr noundef nonnull @.str.4) #12
  %13601 = load i32, ptr %585, align 4, !tbaa !5
  %13602 = call ptr @s2n_strerror_debug(i32 noundef %13601, ptr noundef nonnull @.str.4) #12
  %13603 = load i32, ptr %639, align 4, !tbaa !5
  %13604 = call ptr @strerror(i32 noundef %13603) #12
  %13605 = load i32, ptr %639, align 4, !tbaa !5
  %13606 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13597, ptr noundef nonnull %.str.5.sink5984, i32 noundef %13598, ptr noundef nonnull @.str.147, ptr noundef nonnull @.str.1, i32 noundef 1063, ptr noundef %13600, ptr noundef %13602, ptr noundef %13604, i32 noundef %13605) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13607:                                            ; preds = %13578
  %13608 = call ptr @s2n_connection_new(i32 noundef 0) #12
  %13609 = load i32, ptr @test_count, align 4, !tbaa !5
  %13610 = add nsw i32 %13609, 1
  store i32 %13610, ptr @test_count, align 4, !tbaa !5
  %13611 = icmp eq ptr %13608, null
  br i1 %13611, label %13612, label %13634

13612:                                            ; preds = %13607
  %13613 = load i32, ptr %639, align 4, !tbaa !5
  %13614 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13615 = call i32 @s2n_print_stacktrace(ptr noundef %13614) #12
  %13616 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13617 = trunc nuw i8 %13616 to i1
  br i1 %13617, label %13618, label %13622

13618:                                            ; preds = %13612
  %13619 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13620 = call i32 @fileno(ptr noundef %13619) #12
  %13621 = call i32 @isatty(i32 noundef %13620) #12
  %.not1433 = icmp eq i32 %13621, 0
  br i1 %.not1433, label %13622, label %13623

13622:                                            ; preds = %13618, %13612
  br label %13623

13623:                                            ; preds = %13618, %13622
  %.str.5.sink5993 = phi ptr [ @.str.5, %13622 ], [ @.str.2, %13618 ]
  store i32 %13613, ptr %639, align 4, !tbaa !5
  %13624 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13625 = load i32, ptr @test_count, align 4, !tbaa !5
  %13626 = load i32, ptr %585, align 4, !tbaa !5
  %13627 = call ptr @s2n_strerror(i32 noundef %13626, ptr noundef nonnull @.str.4) #12
  %13628 = load i32, ptr %585, align 4, !tbaa !5
  %13629 = call ptr @s2n_strerror_debug(i32 noundef %13628, ptr noundef nonnull @.str.4) #12
  %13630 = load i32, ptr %639, align 4, !tbaa !5
  %13631 = call ptr @strerror(i32 noundef %13630) #12
  %13632 = load i32, ptr %639, align 4, !tbaa !5
  %13633 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13624, ptr noundef nonnull %.str.5.sink5993, i32 noundef %13625, ptr noundef nonnull @.str.51, ptr noundef nonnull @.str.1, i32 noundef 1067, ptr noundef %13627, ptr noundef %13629, ptr noundef %13631, i32 noundef %13632) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13634:                                            ; preds = %13607
  %13635 = add nsw i32 %13609, 2
  store i32 %13635, ptr @test_count, align 4, !tbaa !5
  %13636 = call i32 @s2n_connection_set_blinding(ptr noundef nonnull %13608, i32 noundef 1) #12
  %13637 = icmp eq i32 %13636, -1
  br i1 %13637, label %13638, label %13660

13638:                                            ; preds = %13634
  %13639 = load i32, ptr %639, align 4, !tbaa !5
  %13640 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13641 = call i32 @s2n_print_stacktrace(ptr noundef %13640) #12
  %13642 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13643 = trunc nuw i8 %13642 to i1
  br i1 %13643, label %13644, label %13648

13644:                                            ; preds = %13638
  %13645 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13646 = call i32 @fileno(ptr noundef %13645) #12
  %13647 = call i32 @isatty(i32 noundef %13646) #12
  %.not1432 = icmp eq i32 %13647, 0
  br i1 %.not1432, label %13648, label %13649

13648:                                            ; preds = %13644, %13638
  br label %13649

13649:                                            ; preds = %13644, %13648
  %.str.5.sink6002 = phi ptr [ @.str.5, %13648 ], [ @.str.2, %13644 ]
  store i32 %13639, ptr %639, align 4, !tbaa !5
  %13650 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13651 = load i32, ptr @test_count, align 4, !tbaa !5
  %13652 = load i32, ptr %585, align 4, !tbaa !5
  %13653 = call ptr @s2n_strerror(i32 noundef %13652, ptr noundef nonnull @.str.4) #12
  %13654 = load i32, ptr %585, align 4, !tbaa !5
  %13655 = call ptr @s2n_strerror_debug(i32 noundef %13654, ptr noundef nonnull @.str.4) #12
  %13656 = load i32, ptr %639, align 4, !tbaa !5
  %13657 = call ptr @strerror(i32 noundef %13656) #12
  %13658 = load i32, ptr %639, align 4, !tbaa !5
  %13659 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13650, ptr noundef nonnull %.str.5.sink6002, i32 noundef %13651, ptr noundef nonnull @.str.52, ptr noundef nonnull @.str.1, i32 noundef 1068, ptr noundef %13653, ptr noundef %13655, ptr noundef %13657, i32 noundef %13658) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13660:                                            ; preds = %13634
  %13661 = load i32, ptr @test_count, align 4, !tbaa !5
  %13662 = add nsw i32 %13661, 1
  store i32 %13662, ptr @test_count, align 4, !tbaa !5
  %13663 = call i32 @s2n_connection_set_cipher_preferences(ptr noundef nonnull %13608, ptr noundef nonnull @.str.31) #12
  %13664 = icmp eq i32 %13663, -1
  br i1 %13664, label %13665, label %13687

13665:                                            ; preds = %13660
  %13666 = load i32, ptr %639, align 4, !tbaa !5
  %13667 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13668 = call i32 @s2n_print_stacktrace(ptr noundef %13667) #12
  %13669 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13670 = trunc nuw i8 %13669 to i1
  br i1 %13670, label %13671, label %13675

13671:                                            ; preds = %13665
  %13672 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13673 = call i32 @fileno(ptr noundef %13672) #12
  %13674 = call i32 @isatty(i32 noundef %13673) #12
  %.not1431 = icmp eq i32 %13674, 0
  br i1 %.not1431, label %13675, label %13676

13675:                                            ; preds = %13671, %13665
  br label %13676

13676:                                            ; preds = %13671, %13675
  %.str.5.sink6011 = phi ptr [ @.str.5, %13675 ], [ @.str.2, %13671 ]
  store i32 %13666, ptr %639, align 4, !tbaa !5
  %13677 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13678 = load i32, ptr @test_count, align 4, !tbaa !5
  %13679 = load i32, ptr %585, align 4, !tbaa !5
  %13680 = call ptr @s2n_strerror(i32 noundef %13679, ptr noundef nonnull @.str.4) #12
  %13681 = load i32, ptr %585, align 4, !tbaa !5
  %13682 = call ptr @s2n_strerror_debug(i32 noundef %13681, ptr noundef nonnull @.str.4) #12
  %13683 = load i32, ptr %639, align 4, !tbaa !5
  %13684 = call ptr @strerror(i32 noundef %13683) #12
  %13685 = load i32, ptr %639, align 4, !tbaa !5
  %13686 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13677, ptr noundef nonnull %.str.5.sink6011, i32 noundef %13678, ptr noundef nonnull @.str.53, ptr noundef nonnull @.str.1, i32 noundef 1069, ptr noundef %13680, ptr noundef %13682, ptr noundef %13684, i32 noundef %13685) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13687:                                            ; preds = %13660
  %13688 = load i32, ptr @test_count, align 4, !tbaa !5
  %13689 = add nsw i32 %13688, 1
  store i32 %13689, ptr @test_count, align 4, !tbaa !5
  %13690 = call i32 @s2n_connection_append_psk(ptr noundef nonnull %13608, ptr noundef nonnull %119) #12
  %13691 = icmp eq i32 %13690, -1
  br i1 %13691, label %13692, label %13714

13692:                                            ; preds = %13687
  %13693 = load i32, ptr %639, align 4, !tbaa !5
  %13694 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13695 = call i32 @s2n_print_stacktrace(ptr noundef %13694) #12
  %13696 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13697 = trunc nuw i8 %13696 to i1
  br i1 %13697, label %13698, label %13702

13698:                                            ; preds = %13692
  %13699 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13700 = call i32 @fileno(ptr noundef %13699) #12
  %13701 = call i32 @isatty(i32 noundef %13700) #12
  %.not1430 = icmp eq i32 %13701, 0
  br i1 %.not1430, label %13702, label %13703

13702:                                            ; preds = %13698, %13692
  br label %13703

13703:                                            ; preds = %13698, %13702
  %.str.5.sink6020 = phi ptr [ @.str.5, %13702 ], [ @.str.2, %13698 ]
  store i32 %13693, ptr %639, align 4, !tbaa !5
  %13704 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13705 = load i32, ptr @test_count, align 4, !tbaa !5
  %13706 = load i32, ptr %585, align 4, !tbaa !5
  %13707 = call ptr @s2n_strerror(i32 noundef %13706, ptr noundef nonnull @.str.4) #12
  %13708 = load i32, ptr %585, align 4, !tbaa !5
  %13709 = call ptr @s2n_strerror_debug(i32 noundef %13708, ptr noundef nonnull @.str.4) #12
  %13710 = load i32, ptr %639, align 4, !tbaa !5
  %13711 = call ptr @strerror(i32 noundef %13710) #12
  %13712 = load i32, ptr %639, align 4, !tbaa !5
  %13713 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13704, ptr noundef nonnull %.str.5.sink6020, i32 noundef %13705, ptr noundef nonnull @.str.148, ptr noundef nonnull @.str.1, i32 noundef 1070, ptr noundef %13707, ptr noundef %13709, ptr noundef %13711, i32 noundef %13712) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13714:                                            ; preds = %13687
  %13715 = load i32, ptr @test_count, align 4, !tbaa !5
  %13716 = add nsw i32 %13715, 1
  store i32 %13716, ptr @test_count, align 4, !tbaa !5
  %13717 = call i32 @s2n_connection_set_server_max_early_data_size(ptr noundef nonnull %13608, i32 noundef 1024) #12
  %13718 = icmp eq i32 %13717, -1
  br i1 %13718, label %13719, label %13741

13719:                                            ; preds = %13714
  %13720 = load i32, ptr %639, align 4, !tbaa !5
  %13721 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13722 = call i32 @s2n_print_stacktrace(ptr noundef %13721) #12
  %13723 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13724 = trunc nuw i8 %13723 to i1
  br i1 %13724, label %13725, label %13729

13725:                                            ; preds = %13719
  %13726 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13727 = call i32 @fileno(ptr noundef %13726) #12
  %13728 = call i32 @isatty(i32 noundef %13727) #12
  %.not1429 = icmp eq i32 %13728, 0
  br i1 %.not1429, label %13729, label %13730

13729:                                            ; preds = %13725, %13719
  br label %13730

13730:                                            ; preds = %13725, %13729
  %.str.5.sink6029 = phi ptr [ @.str.5, %13729 ], [ @.str.2, %13725 ]
  store i32 %13720, ptr %639, align 4, !tbaa !5
  %13731 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13732 = load i32, ptr @test_count, align 4, !tbaa !5
  %13733 = load i32, ptr %585, align 4, !tbaa !5
  %13734 = call ptr @s2n_strerror(i32 noundef %13733, ptr noundef nonnull @.str.4) #12
  %13735 = load i32, ptr %585, align 4, !tbaa !5
  %13736 = call ptr @s2n_strerror_debug(i32 noundef %13735, ptr noundef nonnull @.str.4) #12
  %13737 = load i32, ptr %639, align 4, !tbaa !5
  %13738 = call ptr @strerror(i32 noundef %13737) #12
  %13739 = load i32, ptr %639, align 4, !tbaa !5
  %13740 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13731, ptr noundef nonnull %.str.5.sink6029, i32 noundef %13732, ptr noundef nonnull @.str.132, ptr noundef nonnull @.str.1, i32 noundef 1071, ptr noundef %13734, ptr noundef %13736, ptr noundef %13738, i32 noundef %13739) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13741:                                            ; preds = %13714
  %13742 = getelementptr inbounds i8, ptr %13608, i64 1688
  store i32 1, ptr %13742, align 8, !tbaa !54
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %120) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %120, i8 0, i64 40, i1 false)
  call void @llvm.lifetime.start.p0(i64 40, ptr nonnull %121) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(40) %121, i8 0, i64 40, i1 false)
  %13743 = load i32, ptr @test_count, align 4, !tbaa !5
  %13744 = add nsw i32 %13743, 1
  store i32 %13744, ptr @test_count, align 4, !tbaa !5
  %13745 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %120, i32 noundef 8092) #12
  %13746 = icmp eq i32 %13745, -1
  br i1 %13746, label %13747, label %13769

13747:                                            ; preds = %13741
  %13748 = load i32, ptr %639, align 4, !tbaa !5
  %13749 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13750 = call i32 @s2n_print_stacktrace(ptr noundef %13749) #12
  %13751 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13752 = trunc nuw i8 %13751 to i1
  br i1 %13752, label %13753, label %13757

13753:                                            ; preds = %13747
  %13754 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13755 = call i32 @fileno(ptr noundef %13754) #12
  %13756 = call i32 @isatty(i32 noundef %13755) #12
  %.not1428 = icmp eq i32 %13756, 0
  br i1 %.not1428, label %13757, label %13758

13757:                                            ; preds = %13753, %13747
  br label %13758

13758:                                            ; preds = %13753, %13757
  %.str.5.sink6038 = phi ptr [ @.str.5, %13757 ], [ @.str.2, %13753 ]
  store i32 %13748, ptr %639, align 4, !tbaa !5
  %13759 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13760 = load i32, ptr @test_count, align 4, !tbaa !5
  %13761 = load i32, ptr %585, align 4, !tbaa !5
  %13762 = call ptr @s2n_strerror(i32 noundef %13761, ptr noundef nonnull @.str.4) #12
  %13763 = load i32, ptr %585, align 4, !tbaa !5
  %13764 = call ptr @s2n_strerror_debug(i32 noundef %13763, ptr noundef nonnull @.str.4) #12
  %13765 = load i32, ptr %639, align 4, !tbaa !5
  %13766 = call ptr @strerror(i32 noundef %13765) #12
  %13767 = load i32, ptr %639, align 4, !tbaa !5
  %13768 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13759, ptr noundef nonnull %.str.5.sink6038, i32 noundef %13760, ptr noundef nonnull @.str.34, ptr noundef nonnull @.str.1, i32 noundef 1079, ptr noundef %13762, ptr noundef %13764, ptr noundef %13766, i32 noundef %13767) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13769:                                            ; preds = %13741
  %13770 = load i32, ptr @test_count, align 4, !tbaa !5
  %13771 = add nsw i32 %13770, 1
  store i32 %13771, ptr @test_count, align 4, !tbaa !5
  %13772 = call i32 @s2n_stuffer_growable_alloc(ptr noundef nonnull %121, i32 noundef 8092) #12
  %13773 = icmp eq i32 %13772, -1
  br i1 %13773, label %13774, label %13796

13774:                                            ; preds = %13769
  %13775 = load i32, ptr %639, align 4, !tbaa !5
  %13776 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13777 = call i32 @s2n_print_stacktrace(ptr noundef %13776) #12
  %13778 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13779 = trunc nuw i8 %13778 to i1
  br i1 %13779, label %13780, label %13784

13780:                                            ; preds = %13774
  %13781 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13782 = call i32 @fileno(ptr noundef %13781) #12
  %13783 = call i32 @isatty(i32 noundef %13782) #12
  %.not1427 = icmp eq i32 %13783, 0
  br i1 %.not1427, label %13784, label %13785

13784:                                            ; preds = %13780, %13774
  br label %13785

13785:                                            ; preds = %13780, %13784
  %.str.5.sink6047 = phi ptr [ @.str.5, %13784 ], [ @.str.2, %13780 ]
  store i32 %13775, ptr %639, align 4, !tbaa !5
  %13786 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13787 = load i32, ptr @test_count, align 4, !tbaa !5
  %13788 = load i32, ptr %585, align 4, !tbaa !5
  %13789 = call ptr @s2n_strerror(i32 noundef %13788, ptr noundef nonnull @.str.4) #12
  %13790 = load i32, ptr %585, align 4, !tbaa !5
  %13791 = call ptr @s2n_strerror_debug(i32 noundef %13790, ptr noundef nonnull @.str.4) #12
  %13792 = load i32, ptr %639, align 4, !tbaa !5
  %13793 = call ptr @strerror(i32 noundef %13792) #12
  %13794 = load i32, ptr %639, align 4, !tbaa !5
  %13795 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13786, ptr noundef nonnull %.str.5.sink6047, i32 noundef %13787, ptr noundef nonnull @.str.35, ptr noundef nonnull @.str.1, i32 noundef 1080, ptr noundef %13789, ptr noundef %13791, ptr noundef %13793, i32 noundef %13794) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13796:                                            ; preds = %13769
  %13797 = load i32, ptr @test_count, align 4, !tbaa !5
  %13798 = add nsw i32 %13797, 1
  store i32 %13798, ptr @test_count, align 4, !tbaa !5
  %13799 = call i32 @s2n_connection_set_io_stuffers(ptr noundef nonnull %120, ptr noundef nonnull %121, ptr noundef nonnull %13608) #12
  %13800 = icmp eq i32 %13799, -1
  br i1 %13800, label %13801, label %13823

13801:                                            ; preds = %13796
  %13802 = load i32, ptr %639, align 4, !tbaa !5
  %13803 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13804 = call i32 @s2n_print_stacktrace(ptr noundef %13803) #12
  %13805 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13806 = trunc nuw i8 %13805 to i1
  br i1 %13806, label %13807, label %13811

13807:                                            ; preds = %13801
  %13808 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13809 = call i32 @fileno(ptr noundef %13808) #12
  %13810 = call i32 @isatty(i32 noundef %13809) #12
  %.not1426 = icmp eq i32 %13810, 0
  br i1 %.not1426, label %13811, label %13812

13811:                                            ; preds = %13807, %13801
  br label %13812

13812:                                            ; preds = %13807, %13811
  %.str.5.sink6056 = phi ptr [ @.str.5, %13811 ], [ @.str.2, %13807 ]
  store i32 %13802, ptr %639, align 4, !tbaa !5
  %13813 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13814 = load i32, ptr @test_count, align 4, !tbaa !5
  %13815 = load i32, ptr %585, align 4, !tbaa !5
  %13816 = call ptr @s2n_strerror(i32 noundef %13815, ptr noundef nonnull @.str.4) #12
  %13817 = load i32, ptr %585, align 4, !tbaa !5
  %13818 = call ptr @s2n_strerror_debug(i32 noundef %13817, ptr noundef nonnull @.str.4) #12
  %13819 = load i32, ptr %639, align 4, !tbaa !5
  %13820 = call ptr @strerror(i32 noundef %13819) #12
  %13821 = load i32, ptr %639, align 4, !tbaa !5
  %13822 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13813, ptr noundef nonnull %.str.5.sink6056, i32 noundef %13814, ptr noundef nonnull @.str.55, ptr noundef nonnull @.str.1, i32 noundef 1081, ptr noundef %13816, ptr noundef %13818, ptr noundef %13820, i32 noundef %13821) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13823:                                            ; preds = %13796
  %13824 = load i32, ptr @test_count, align 4, !tbaa !5
  %13825 = add nsw i32 %13824, 1
  store i32 %13825, ptr @test_count, align 4, !tbaa !5
  %13826 = call i32 @s2n_stuffer_write(ptr noundef nonnull %120, ptr noundef nonnull %99) #12
  %13827 = icmp eq i32 %13826, -1
  br i1 %13827, label %13828, label %13850

13828:                                            ; preds = %13823
  %13829 = load i32, ptr %639, align 4, !tbaa !5
  %13830 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13831 = call i32 @s2n_print_stacktrace(ptr noundef %13830) #12
  %13832 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13833 = trunc nuw i8 %13832 to i1
  br i1 %13833, label %13834, label %13838

13834:                                            ; preds = %13828
  %13835 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13836 = call i32 @fileno(ptr noundef %13835) #12
  %13837 = call i32 @isatty(i32 noundef %13836) #12
  %.not1425 = icmp eq i32 %13837, 0
  br i1 %.not1425, label %13838, label %13839

13838:                                            ; preds = %13834, %13828
  br label %13839

13839:                                            ; preds = %13834, %13838
  %.str.5.sink6065 = phi ptr [ @.str.5, %13838 ], [ @.str.2, %13834 ]
  store i32 %13829, ptr %639, align 4, !tbaa !5
  %13840 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13841 = load i32, ptr @test_count, align 4, !tbaa !5
  %13842 = load i32, ptr %585, align 4, !tbaa !5
  %13843 = call ptr @s2n_strerror(i32 noundef %13842, ptr noundef nonnull @.str.4) #12
  %13844 = load i32, ptr %585, align 4, !tbaa !5
  %13845 = call ptr @s2n_strerror_debug(i32 noundef %13844, ptr noundef nonnull @.str.4) #12
  %13846 = load i32, ptr %639, align 4, !tbaa !5
  %13847 = call ptr @strerror(i32 noundef %13846) #12
  %13848 = load i32, ptr %639, align 4, !tbaa !5
  %13849 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13840, ptr noundef nonnull %.str.5.sink6065, i32 noundef %13841, ptr noundef nonnull @.str.133, ptr noundef nonnull @.str.1, i32 noundef 1083, ptr noundef %13843, ptr noundef %13845, ptr noundef %13847, i32 noundef %13848) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13850:                                            ; preds = %13823
  %13851 = load i32, ptr @test_count, align 4, !tbaa !5
  %13852 = add nsw i32 %13851, 1
  store i32 %13852, ptr @test_count, align 4, !tbaa !5
  %13853 = call i32 @s2n_stuffer_write(ptr noundef nonnull %120, ptr noundef nonnull %101) #12
  %13854 = icmp eq i32 %13853, -1
  br i1 %13854, label %13855, label %13877

13855:                                            ; preds = %13850
  %13856 = load i32, ptr %639, align 4, !tbaa !5
  %13857 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13858 = call i32 @s2n_print_stacktrace(ptr noundef %13857) #12
  %13859 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13860 = trunc nuw i8 %13859 to i1
  br i1 %13860, label %13861, label %13865

13861:                                            ; preds = %13855
  %13862 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13863 = call i32 @fileno(ptr noundef %13862) #12
  %13864 = call i32 @isatty(i32 noundef %13863) #12
  %.not1424 = icmp eq i32 %13864, 0
  br i1 %.not1424, label %13865, label %13866

13865:                                            ; preds = %13861, %13855
  br label %13866

13866:                                            ; preds = %13861, %13865
  %.str.5.sink6074 = phi ptr [ @.str.5, %13865 ], [ @.str.2, %13861 ]
  store i32 %13856, ptr %639, align 4, !tbaa !5
  %13867 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13868 = load i32, ptr @test_count, align 4, !tbaa !5
  %13869 = load i32, ptr %585, align 4, !tbaa !5
  %13870 = call ptr @s2n_strerror(i32 noundef %13869, ptr noundef nonnull @.str.4) #12
  %13871 = load i32, ptr %585, align 4, !tbaa !5
  %13872 = call ptr @s2n_strerror_debug(i32 noundef %13871, ptr noundef nonnull @.str.4) #12
  %13873 = load i32, ptr %639, align 4, !tbaa !5
  %13874 = call ptr @strerror(i32 noundef %13873) #12
  %13875 = load i32, ptr %639, align 4, !tbaa !5
  %13876 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13867, ptr noundef nonnull %.str.5.sink6074, i32 noundef %13868, ptr noundef nonnull @.str.134, ptr noundef nonnull @.str.1, i32 noundef 1084, ptr noundef %13870, ptr noundef %13872, ptr noundef %13874, i32 noundef %13875) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13877:                                            ; preds = %13850
  %13878 = load i32, ptr @test_count, align 4, !tbaa !5
  %13879 = add nsw i32 %13878, 1
  store i32 %13879, ptr @test_count, align 4, !tbaa !5
  %13880 = call i32 @s2n_stuffer_write(ptr noundef nonnull %120, ptr noundef nonnull %102) #12
  %13881 = icmp eq i32 %13880, -1
  br i1 %13881, label %13882, label %13904

13882:                                            ; preds = %13877
  %13883 = load i32, ptr %639, align 4, !tbaa !5
  %13884 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13885 = call i32 @s2n_print_stacktrace(ptr noundef %13884) #12
  %13886 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13887 = trunc nuw i8 %13886 to i1
  br i1 %13887, label %13888, label %13892

13888:                                            ; preds = %13882
  %13889 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13890 = call i32 @fileno(ptr noundef %13889) #12
  %13891 = call i32 @isatty(i32 noundef %13890) #12
  %.not1423 = icmp eq i32 %13891, 0
  br i1 %.not1423, label %13892, label %13893

13892:                                            ; preds = %13888, %13882
  br label %13893

13893:                                            ; preds = %13888, %13892
  %.str.5.sink6083 = phi ptr [ @.str.5, %13892 ], [ @.str.2, %13888 ]
  store i32 %13883, ptr %639, align 4, !tbaa !5
  %13894 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13895 = load i32, ptr @test_count, align 4, !tbaa !5
  %13896 = load i32, ptr %585, align 4, !tbaa !5
  %13897 = call ptr @s2n_strerror(i32 noundef %13896, ptr noundef nonnull @.str.4) #12
  %13898 = load i32, ptr %585, align 4, !tbaa !5
  %13899 = call ptr @s2n_strerror_debug(i32 noundef %13898, ptr noundef nonnull @.str.4) #12
  %13900 = load i32, ptr %639, align 4, !tbaa !5
  %13901 = call ptr @strerror(i32 noundef %13900) #12
  %13902 = load i32, ptr %639, align 4, !tbaa !5
  %13903 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13894, ptr noundef nonnull %.str.5.sink6083, i32 noundef %13895, ptr noundef nonnull @.str.135, ptr noundef nonnull @.str.1, i32 noundef 1085, ptr noundef %13897, ptr noundef %13899, ptr noundef %13901, i32 noundef %13902) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13904:                                            ; preds = %13877
  call void @llvm.lifetime.start.p0(i64 100, ptr nonnull %122) #12
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 16 dereferenceable(100) %122, i8 0, i64 100, i1 false)
  call void @llvm.lifetime.start.p0(i64 4, ptr nonnull %123) #12
  store i32 0, ptr %123, align 4, !tbaa !5
  call void @llvm.lifetime.start.p0(i64 8, ptr nonnull %124) #12
  store i64 0, ptr %124, align 8, !tbaa !42
  %13905 = load i32, ptr @test_count, align 4, !tbaa !5
  %13906 = add nsw i32 %13905, 1
  store i32 %13906, ptr @test_count, align 4, !tbaa !5
  %13907 = call i32 @s2n_recv_early_data(ptr noundef nonnull %13608, ptr noundef nonnull %122, i64 noundef 100, ptr noundef nonnull %124, ptr noundef nonnull %123) #12
  %13908 = icmp eq i32 %13907, -1
  br i1 %13908, label %13909, label %13931

13909:                                            ; preds = %13904
  %13910 = load i32, ptr %639, align 4, !tbaa !5
  %13911 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13912 = call i32 @s2n_print_stacktrace(ptr noundef %13911) #12
  %13913 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13914 = trunc nuw i8 %13913 to i1
  br i1 %13914, label %13915, label %13919

13915:                                            ; preds = %13909
  %13916 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13917 = call i32 @fileno(ptr noundef %13916) #12
  %13918 = call i32 @isatty(i32 noundef %13917) #12
  %.not1422 = icmp eq i32 %13918, 0
  br i1 %.not1422, label %13919, label %13920

13919:                                            ; preds = %13915, %13909
  br label %13920

13920:                                            ; preds = %13915, %13919
  %.str.5.sink6092 = phi ptr [ @.str.5, %13919 ], [ @.str.2, %13915 ]
  store i32 %13910, ptr %639, align 4, !tbaa !5
  %13921 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13922 = load i32, ptr @test_count, align 4, !tbaa !5
  %13923 = load i32, ptr %585, align 4, !tbaa !5
  %13924 = call ptr @s2n_strerror(i32 noundef %13923, ptr noundef nonnull @.str.4) #12
  %13925 = load i32, ptr %585, align 4, !tbaa !5
  %13926 = call ptr @s2n_strerror_debug(i32 noundef %13925, ptr noundef nonnull @.str.4) #12
  %13927 = load i32, ptr %639, align 4, !tbaa !5
  %13928 = call ptr @strerror(i32 noundef %13927) #12
  %13929 = load i32, ptr %639, align 4, !tbaa !5
  %13930 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13921, ptr noundef nonnull %.str.5.sink6092, i32 noundef %13922, ptr noundef nonnull @.str.136, ptr noundef nonnull @.str.1, i32 noundef 1092, ptr noundef %13924, ptr noundef %13926, ptr noundef %13928, i32 noundef %13929) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13931:                                            ; preds = %13904
  %13932 = load i32, ptr @test_count, align 4, !tbaa !5
  %13933 = add nsw i32 %13932, 1
  store i32 %13933, ptr @test_count, align 4, !tbaa !5
  %13934 = load i32, ptr %123, align 4, !tbaa !5
  %13935 = icmp eq i32 %13934, 0
  br i1 %13935, label %13958, label %13936

13936:                                            ; preds = %13931
  %13937 = load i32, ptr %639, align 4, !tbaa !5
  %13938 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13939 = call i32 @s2n_print_stacktrace(ptr noundef %13938) #12
  %13940 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13941 = trunc nuw i8 %13940 to i1
  br i1 %13941, label %13942, label %13946

13942:                                            ; preds = %13936
  %13943 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13944 = call i32 @fileno(ptr noundef %13943) #12
  %13945 = call i32 @isatty(i32 noundef %13944) #12
  %.not1410 = icmp eq i32 %13945, 0
  br i1 %.not1410, label %13946, label %13947

13946:                                            ; preds = %13942, %13936
  br label %13947

13947:                                            ; preds = %13942, %13946
  %.str.5.sink6101 = phi ptr [ @.str.5, %13946 ], [ @.str.2, %13942 ]
  store i32 %13937, ptr %639, align 4, !tbaa !5
  %13948 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13949 = load i32, ptr @test_count, align 4, !tbaa !5
  %13950 = load i32, ptr %585, align 4, !tbaa !5
  %13951 = call ptr @s2n_strerror(i32 noundef %13950, ptr noundef nonnull @.str.4) #12
  %13952 = load i32, ptr %585, align 4, !tbaa !5
  %13953 = call ptr @s2n_strerror_debug(i32 noundef %13952, ptr noundef nonnull @.str.4) #12
  %13954 = load i32, ptr %639, align 4, !tbaa !5
  %13955 = call ptr @strerror(i32 noundef %13954) #12
  %13956 = load i32, ptr %639, align 4, !tbaa !5
  %13957 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13948, ptr noundef nonnull %.str.5.sink6101, i32 noundef %13949, ptr noundef nonnull @.str.82, ptr noundef nonnull @.str.1, i32 noundef 1093, ptr noundef %13951, ptr noundef %13953, ptr noundef %13955, i32 noundef %13956) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13958:                                            ; preds = %13931
  %13959 = add nsw i32 %13932, 2
  store i32 %13959, ptr @test_count, align 4, !tbaa !5
  %13960 = call i32 @s2n_conn_get_current_message_type(ptr noundef nonnull %13608) #12
  %13961 = icmp eq i32 %13960, 13
  br i1 %13961, label %13984, label %13962

13962:                                            ; preds = %13958
  %13963 = load i32, ptr %639, align 4, !tbaa !5
  %13964 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13965 = call i32 @s2n_print_stacktrace(ptr noundef %13964) #12
  %13966 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13967 = trunc nuw i8 %13966 to i1
  br i1 %13967, label %13968, label %13972

13968:                                            ; preds = %13962
  %13969 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13970 = call i32 @fileno(ptr noundef %13969) #12
  %13971 = call i32 @isatty(i32 noundef %13970) #12
  %.not1411 = icmp eq i32 %13971, 0
  br i1 %.not1411, label %13972, label %13973

13972:                                            ; preds = %13968, %13962
  br label %13973

13973:                                            ; preds = %13968, %13972
  %.str.5.sink6110 = phi ptr [ @.str.5, %13972 ], [ @.str.2, %13968 ]
  store i32 %13963, ptr %639, align 4, !tbaa !5
  %13974 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13975 = load i32, ptr @test_count, align 4, !tbaa !5
  %13976 = load i32, ptr %585, align 4, !tbaa !5
  %13977 = call ptr @s2n_strerror(i32 noundef %13976, ptr noundef nonnull @.str.4) #12
  %13978 = load i32, ptr %585, align 4, !tbaa !5
  %13979 = call ptr @s2n_strerror_debug(i32 noundef %13978, ptr noundef nonnull @.str.4) #12
  %13980 = load i32, ptr %639, align 4, !tbaa !5
  %13981 = call ptr @strerror(i32 noundef %13980) #12
  %13982 = load i32, ptr %639, align 4, !tbaa !5
  %13983 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %13974, ptr noundef nonnull %.str.5.sink6110, i32 noundef %13975, ptr noundef nonnull @.str.97, ptr noundef nonnull @.str.1, i32 noundef 1093, ptr noundef %13977, ptr noundef %13979, ptr noundef %13981, i32 noundef %13982) #14
  call void @exit(i32 noundef 1) #15
  unreachable

13984:                                            ; preds = %13958
  %13985 = load i32, ptr @test_count, align 4, !tbaa !5
  %13986 = add nsw i32 %13985, 1
  store i32 %13986, ptr @test_count, align 4, !tbaa !5
  %13987 = load i64, ptr %124, align 8, !tbaa !42
  %13988 = icmp eq i64 %13987, 0
  br i1 %13988, label %14011, label %13989

13989:                                            ; preds = %13984
  %13990 = load i32, ptr %639, align 4, !tbaa !5
  %13991 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13992 = call i32 @s2n_print_stacktrace(ptr noundef %13991) #12
  %13993 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %13994 = trunc nuw i8 %13993 to i1
  br i1 %13994, label %13995, label %13999

13995:                                            ; preds = %13989
  %13996 = load ptr, ptr @stderr, align 8, !tbaa !9
  %13997 = call i32 @fileno(ptr noundef %13996) #12
  %13998 = call i32 @isatty(i32 noundef %13997) #12
  %.not1412 = icmp eq i32 %13998, 0
  br i1 %.not1412, label %13999, label %14000

13999:                                            ; preds = %13995, %13989
  br label %14000

14000:                                            ; preds = %13995, %13999
  %.str.5.sink6119 = phi ptr [ @.str.5, %13999 ], [ @.str.2, %13995 ]
  store i32 %13990, ptr %639, align 4, !tbaa !5
  %14001 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14002 = load i32, ptr @test_count, align 4, !tbaa !5
  %14003 = load i32, ptr %585, align 4, !tbaa !5
  %14004 = call ptr @s2n_strerror(i32 noundef %14003, ptr noundef nonnull @.str.4) #12
  %14005 = load i32, ptr %585, align 4, !tbaa !5
  %14006 = call ptr @s2n_strerror_debug(i32 noundef %14005, ptr noundef nonnull @.str.4) #12
  %14007 = load i32, ptr %639, align 4, !tbaa !5
  %14008 = call ptr @strerror(i32 noundef %14007) #12
  %14009 = load i32, ptr %639, align 4, !tbaa !5
  %14010 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14001, ptr noundef nonnull %.str.5.sink6119, i32 noundef %14002, ptr noundef nonnull @.str.141, ptr noundef nonnull @.str.1, i32 noundef 1094, ptr noundef %14004, ptr noundef %14006, ptr noundef %14008, i32 noundef %14009) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14011:                                            ; preds = %13984
  %14012 = add nsw i32 %13985, 2
  store i32 %14012, ptr @test_count, align 4, !tbaa !5
  %14013 = getelementptr inbounds i8, ptr %13608, i64 4088
  %14014 = load i32, ptr %14013, align 8, !tbaa !55
  %14015 = icmp eq i32 %14014, 4
  br i1 %14015, label %14038, label %14016

14016:                                            ; preds = %14011
  %14017 = load i32, ptr %639, align 4, !tbaa !5
  %14018 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14019 = call i32 @s2n_print_stacktrace(ptr noundef %14018) #12
  %14020 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14021 = trunc nuw i8 %14020 to i1
  br i1 %14021, label %14022, label %14026

14022:                                            ; preds = %14016
  %14023 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14024 = call i32 @fileno(ptr noundef %14023) #12
  %14025 = call i32 @isatty(i32 noundef %14024) #12
  %.not1413 = icmp eq i32 %14025, 0
  br i1 %.not1413, label %14026, label %14027

14026:                                            ; preds = %14022, %14016
  br label %14027

14027:                                            ; preds = %14022, %14026
  %.str.5.sink6128 = phi ptr [ @.str.5, %14026 ], [ @.str.2, %14022 ]
  store i32 %14017, ptr %639, align 4, !tbaa !5
  %14028 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14029 = load i32, ptr @test_count, align 4, !tbaa !5
  %14030 = load i32, ptr %585, align 4, !tbaa !5
  %14031 = call ptr @s2n_strerror(i32 noundef %14030, ptr noundef nonnull @.str.4) #12
  %14032 = load i32, ptr %585, align 4, !tbaa !5
  %14033 = call ptr @s2n_strerror_debug(i32 noundef %14032, ptr noundef nonnull @.str.4) #12
  %14034 = load i32, ptr %639, align 4, !tbaa !5
  %14035 = call ptr @strerror(i32 noundef %14034) #12
  %14036 = load i32, ptr %639, align 4, !tbaa !5
  %14037 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14028, ptr noundef nonnull %.str.5.sink6128, i32 noundef %14029, ptr noundef nonnull @.str.146, ptr noundef nonnull @.str.1, i32 noundef 1095, ptr noundef %14031, ptr noundef %14033, ptr noundef %14035, i32 noundef %14036) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14038:                                            ; preds = %14011
  %14039 = add nsw i32 %13985, 3
  store i32 %14039, ptr @test_count, align 4, !tbaa !5
  %14040 = call i32 @s2n_stuffer_free(ptr noundef nonnull %120) #12
  %14041 = icmp eq i32 %14040, -1
  br i1 %14041, label %14042, label %14064

14042:                                            ; preds = %14038
  %14043 = load i32, ptr %639, align 4, !tbaa !5
  %14044 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14045 = call i32 @s2n_print_stacktrace(ptr noundef %14044) #12
  %14046 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14047 = trunc nuw i8 %14046 to i1
  br i1 %14047, label %14048, label %14052

14048:                                            ; preds = %14042
  %14049 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14050 = call i32 @fileno(ptr noundef %14049) #12
  %14051 = call i32 @isatty(i32 noundef %14050) #12
  %.not1421 = icmp eq i32 %14051, 0
  br i1 %.not1421, label %14052, label %14053

14052:                                            ; preds = %14048, %14042
  br label %14053

14053:                                            ; preds = %14048, %14052
  %.str.5.sink6137 = phi ptr [ @.str.5, %14052 ], [ @.str.2, %14048 ]
  store i32 %14043, ptr %639, align 4, !tbaa !5
  %14054 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14055 = load i32, ptr @test_count, align 4, !tbaa !5
  %14056 = load i32, ptr %585, align 4, !tbaa !5
  %14057 = call ptr @s2n_strerror(i32 noundef %14056, ptr noundef nonnull @.str.4) #12
  %14058 = load i32, ptr %585, align 4, !tbaa !5
  %14059 = call ptr @s2n_strerror_debug(i32 noundef %14058, ptr noundef nonnull @.str.4) #12
  %14060 = load i32, ptr %639, align 4, !tbaa !5
  %14061 = call ptr @strerror(i32 noundef %14060) #12
  %14062 = load i32, ptr %639, align 4, !tbaa !5
  %14063 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14054, ptr noundef nonnull %.str.5.sink6137, i32 noundef %14055, ptr noundef nonnull @.str.42, ptr noundef nonnull @.str.1, i32 noundef 1097, ptr noundef %14057, ptr noundef %14059, ptr noundef %14061, i32 noundef %14062) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14064:                                            ; preds = %14038
  %14065 = load i32, ptr @test_count, align 4, !tbaa !5
  %14066 = add nsw i32 %14065, 1
  store i32 %14066, ptr @test_count, align 4, !tbaa !5
  %14067 = call i32 @s2n_stuffer_free(ptr noundef nonnull %121) #12
  %14068 = icmp eq i32 %14067, -1
  br i1 %14068, label %14069, label %14091

14069:                                            ; preds = %14064
  %14070 = load i32, ptr %639, align 4, !tbaa !5
  %14071 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14072 = call i32 @s2n_print_stacktrace(ptr noundef %14071) #12
  %14073 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14074 = trunc nuw i8 %14073 to i1
  br i1 %14074, label %14075, label %14079

14075:                                            ; preds = %14069
  %14076 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14077 = call i32 @fileno(ptr noundef %14076) #12
  %14078 = call i32 @isatty(i32 noundef %14077) #12
  %.not1420 = icmp eq i32 %14078, 0
  br i1 %.not1420, label %14079, label %14080

14079:                                            ; preds = %14075, %14069
  br label %14080

14080:                                            ; preds = %14075, %14079
  %.str.5.sink6146 = phi ptr [ @.str.5, %14079 ], [ @.str.2, %14075 ]
  store i32 %14070, ptr %639, align 4, !tbaa !5
  %14081 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14082 = load i32, ptr @test_count, align 4, !tbaa !5
  %14083 = load i32, ptr %585, align 4, !tbaa !5
  %14084 = call ptr @s2n_strerror(i32 noundef %14083, ptr noundef nonnull @.str.4) #12
  %14085 = load i32, ptr %585, align 4, !tbaa !5
  %14086 = call ptr @s2n_strerror_debug(i32 noundef %14085, ptr noundef nonnull @.str.4) #12
  %14087 = load i32, ptr %639, align 4, !tbaa !5
  %14088 = call ptr @strerror(i32 noundef %14087) #12
  %14089 = load i32, ptr %639, align 4, !tbaa !5
  %14090 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14081, ptr noundef nonnull %.str.5.sink6146, i32 noundef %14082, ptr noundef nonnull @.str.43, ptr noundef nonnull @.str.1, i32 noundef 1098, ptr noundef %14084, ptr noundef %14086, ptr noundef %14088, i32 noundef %14089) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14091:                                            ; preds = %14064
  %14092 = load i32, ptr @test_count, align 4, !tbaa !5
  %14093 = add nsw i32 %14092, 1
  store i32 %14093, ptr @test_count, align 4, !tbaa !5
  %14094 = call i32 @s2n_connection_free(ptr noundef nonnull %13608) #12
  %14095 = icmp eq i32 %14094, -1
  br i1 %14095, label %14096, label %14118

14096:                                            ; preds = %14091
  %14097 = load i32, ptr %639, align 4, !tbaa !5
  %14098 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14099 = call i32 @s2n_print_stacktrace(ptr noundef %14098) #12
  %14100 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14101 = trunc nuw i8 %14100 to i1
  br i1 %14101, label %14102, label %14106

14102:                                            ; preds = %14096
  %14103 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14104 = call i32 @fileno(ptr noundef %14103) #12
  %14105 = call i32 @isatty(i32 noundef %14104) #12
  %.not1419 = icmp eq i32 %14105, 0
  br i1 %.not1419, label %14106, label %14107

14106:                                            ; preds = %14102, %14096
  br label %14107

14107:                                            ; preds = %14102, %14106
  %.str.5.sink6155 = phi ptr [ @.str.5, %14106 ], [ @.str.2, %14102 ]
  store i32 %14097, ptr %639, align 4, !tbaa !5
  %14108 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14109 = load i32, ptr @test_count, align 4, !tbaa !5
  %14110 = load i32, ptr %585, align 4, !tbaa !5
  %14111 = call ptr @s2n_strerror(i32 noundef %14110, ptr noundef nonnull @.str.4) #12
  %14112 = load i32, ptr %585, align 4, !tbaa !5
  %14113 = call ptr @s2n_strerror_debug(i32 noundef %14112, ptr noundef nonnull @.str.4) #12
  %14114 = load i32, ptr %639, align 4, !tbaa !5
  %14115 = call ptr @strerror(i32 noundef %14114) #12
  %14116 = load i32, ptr %639, align 4, !tbaa !5
  %14117 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14108, ptr noundef nonnull %.str.5.sink6155, i32 noundef %14109, ptr noundef nonnull @.str.58, ptr noundef nonnull @.str.1, i32 noundef 1099, ptr noundef %14111, ptr noundef %14113, ptr noundef %14115, i32 noundef %14116) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14118:                                            ; preds = %14091
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %124) #12
  call void @llvm.lifetime.end.p0(i64 4, ptr nonnull %123) #12
  call void @llvm.lifetime.end.p0(i64 100, ptr nonnull %122) #12
  %14119 = call i32 @s2n_stuffer_free(ptr noundef nonnull %121) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %121) #12
  %14120 = call i32 @s2n_stuffer_free(ptr noundef nonnull %120) #12
  call void @llvm.lifetime.end.p0(i64 40, ptr nonnull %120) #12
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %119) #12
  br label %14121

14121:                                            ; preds = %10306, %14118
  %.0 = phi i32 [ 0, %14118 ], [ -1, %10306 ]
  %14122 = call i32 @s2n_free(ptr noundef nonnull %102) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %102) #12
  br label %14123

14123:                                            ; preds = %10303, %14121
  %.11156 = phi i1 [ %10308, %14121 ], [ false, %10303 ]
  %.1 = phi i32 [ %.0, %14121 ], [ -1, %10303 ]
  %14124 = call i32 @s2n_free(ptr noundef nonnull %101) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %101) #12
  br label %14125

14125:                                            ; preds = %10300, %14123
  %.21157 = phi i1 [ %.11156, %14123 ], [ false, %10300 ]
  %.2 = phi i32 [ %.1, %14123 ], [ -1, %10300 ]
  %14126 = call i32 @s2n_free(ptr noundef nonnull %100) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %100) #12
  br label %14127

14127:                                            ; preds = %10297, %14125
  %.31158 = phi i1 [ %.21157, %14125 ], [ false, %10297 ]
  %.3 = phi i32 [ %.2, %14125 ], [ -1, %10297 ]
  %14128 = call i32 @s2n_free(ptr noundef nonnull %99) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %99) #12
  br label %14129

14129:                                            ; preds = %10236, %14127
  %.41159 = phi i1 [ %.31158, %14127 ], [ false, %10236 ]
  %.4 = phi i32 [ %.3, %14127 ], [ -1, %10236 ]
  %14130 = call i32 @s2n_free(ptr noundef nonnull %98) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %98) #12
  br label %14131

14131:                                            ; preds = %10202, %14129
  %.51160 = phi i1 [ %.41159, %14129 ], [ false, %10202 ]
  %.5 = phi i32 [ %.4, %14129 ], [ -1, %10202 ]
  %14132 = call i32 @s2n_free(ptr noundef nonnull %97) #12
  call void @llvm.lifetime.end.p0(i64 24, ptr nonnull %97) #12
  %14133 = call i32 @s2n_psk_wipe(ptr noundef nonnull %96) #12
  call void @llvm.lifetime.end.p0(i64 168, ptr nonnull %96) #12
  br i1 %.51160, label %14134, label %14205

14134:                                            ; preds = %14131, %10168
  %14135 = call i32 @s2n_cleanup() #12
  %14136 = icmp eq i32 %14135, -1
  br i1 %14136, label %14137, label %14159

14137:                                            ; preds = %14134
  %14138 = load i32, ptr %639, align 4, !tbaa !5
  %14139 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14140 = call i32 @s2n_print_stacktrace(ptr noundef %14139) #12
  %14141 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14142 = trunc nuw i8 %14141 to i1
  br i1 %14142, label %14143, label %14147

14143:                                            ; preds = %14137
  %14144 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14145 = call i32 @fileno(ptr noundef %14144) #12
  %14146 = call i32 @isatty(i32 noundef %14145) #12
  %.not1418 = icmp eq i32 %14146, 0
  br i1 %.not1418, label %14147, label %14148

14147:                                            ; preds = %14143, %14137
  br label %14148

14148:                                            ; preds = %14143, %14147
  %.str.5.sink6164 = phi ptr [ @.str.5, %14147 ], [ @.str.2, %14143 ]
  store i32 %14138, ptr %639, align 4, !tbaa !5
  %14149 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14150 = load i32, ptr @test_count, align 4, !tbaa !5
  %14151 = load i32, ptr %585, align 4, !tbaa !5
  %14152 = call ptr @s2n_strerror(i32 noundef %14151, ptr noundef nonnull @.str.4) #12
  %14153 = load i32, ptr %585, align 4, !tbaa !5
  %14154 = call ptr @s2n_strerror_debug(i32 noundef %14153, ptr noundef nonnull @.str.4) #12
  %14155 = load i32, ptr %639, align 4, !tbaa !5
  %14156 = call ptr @strerror(i32 noundef %14155) #12
  %14157 = load i32, ptr %639, align 4, !tbaa !5
  %14158 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14149, ptr noundef nonnull %.str.5.sink6164, i32 noundef %14150, ptr noundef nonnull @.str.8, ptr noundef nonnull @.str.1, i32 noundef 1103, ptr noundef %14152, ptr noundef %14154, ptr noundef %14156, i32 noundef %14157) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14159:                                            ; preds = %14134
  %14160 = call i32 @s2n_in_unit_test_set(i1 noundef zeroext false) #12
  %14161 = icmp eq i32 %14160, -1
  br i1 %14161, label %14162, label %14184

14162:                                            ; preds = %14159
  %14163 = load i32, ptr %639, align 4, !tbaa !5
  %14164 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14165 = call i32 @s2n_print_stacktrace(ptr noundef %14164) #12
  %14166 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14167 = trunc nuw i8 %14166 to i1
  br i1 %14167, label %14168, label %14172

14168:                                            ; preds = %14162
  %14169 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14170 = call i32 @fileno(ptr noundef %14169) #12
  %14171 = call i32 @isatty(i32 noundef %14170) #12
  %.not1417 = icmp eq i32 %14171, 0
  br i1 %.not1417, label %14172, label %14173

14172:                                            ; preds = %14168, %14162
  br label %14173

14173:                                            ; preds = %14168, %14172
  %.str.5.sink6173 = phi ptr [ @.str.5, %14172 ], [ @.str.2, %14168 ]
  store i32 %14163, ptr %639, align 4, !tbaa !5
  %14174 = load ptr, ptr @stderr, align 8, !tbaa !9
  %14175 = load i32, ptr @test_count, align 4, !tbaa !5
  %14176 = load i32, ptr %585, align 4, !tbaa !5
  %14177 = call ptr @s2n_strerror(i32 noundef %14176, ptr noundef nonnull @.str.4) #12
  %14178 = load i32, ptr %585, align 4, !tbaa !5
  %14179 = call ptr @s2n_strerror_debug(i32 noundef %14178, ptr noundef nonnull @.str.4) #12
  %14180 = load i32, ptr %639, align 4, !tbaa !5
  %14181 = call ptr @strerror(i32 noundef %14180) #12
  %14182 = load i32, ptr %639, align 4, !tbaa !5
  %14183 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14174, ptr noundef nonnull %.str.5.sink6173, i32 noundef %14175, ptr noundef nonnull @.str.9, ptr noundef nonnull @.str.1, i32 noundef 1103, ptr noundef %14177, ptr noundef %14179, ptr noundef %14181, i32 noundef %14182) #14
  call void @exit(i32 noundef 1) #15
  unreachable

14184:                                            ; preds = %14159
  %14185 = load i8, ptr @s2n_use_color_in_output, align 1, !tbaa !11, !range !13, !noundef !14
  %14186 = trunc nuw i8 %14185 to i1
  br i1 %14186, label %14187, label %14198

14187:                                            ; preds = %14184
  %14188 = load ptr, ptr @stdout, align 8, !tbaa !9
  %14189 = call i32 @fileno(ptr noundef %14188) #12
  %14190 = call i32 @isatty(i32 noundef %14189) #12
  %.not1414 = icmp eq i32 %14190, 0
  br i1 %.not1414, label %14198, label %14191

14191:                                            ; preds = %14187
  %14192 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1416 = icmp eq i32 %14192, 0
  %14193 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1416, label %14196, label %14194

14194:                                            ; preds = %14191
  %14195 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14193, ptr noundef nonnull @.str.10, i32 noundef %14192) #12
  br label %14205

14196:                                            ; preds = %14191
  %14197 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14193, ptr noundef nonnull @.str.11) #12
  br label %14205

14198:                                            ; preds = %14187, %14184
  %14199 = load i32, ptr @test_count, align 4, !tbaa !5
  %.not1415 = icmp eq i32 %14199, 0
  %14200 = load ptr, ptr @stdout, align 8, !tbaa !9
  br i1 %.not1415, label %14203, label %14201

14201:                                            ; preds = %14198
  %14202 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14200, ptr noundef nonnull @.str.12, i32 noundef %14199) #12
  br label %14205

14203:                                            ; preds = %14198
  %14204 = call i32 (ptr, ptr, ...) @fprintf(ptr noundef %14200, ptr noundef nonnull @.str.13) #12
  br label %14205

14205:                                            ; preds = %14196, %14194, %14203, %14201, %14131
  %.6 = phi i32 [ %.5, %14131 ], [ 0, %14201 ], [ 0, %14203 ], [ 0, %14194 ], [ 0, %14196 ]
  %14206 = call i32 @s2n_psk_free(ptr noundef nonnull %7) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %7) #12
  %14207 = call i32 @s2n_psk_free(ptr noundef nonnull %6) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %6) #12
  %14208 = call i32 @s2n_psk_free(ptr noundef nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 8, ptr nonnull %5) #12
  call void @llvm.lifetime.end.p0(i64 9, ptr nonnull %4) #12
  call void @llvm.lifetime.end.p0(i64 12, ptr nonnull %3) #12
  br label %14209

14209:                                            ; preds = %279, %277, %286, %284, %14205
  %.7 = phi i32 [ %.6, %14205 ], [ 0, %284 ], [ 0, %286 ], [ 0, %277 ], [ 0, %279 ]
  ret i32 %.7
}

; Function Attrs: nofree nounwind
declare noundef i32 @fprintf(ptr nocapture noundef, ptr nocapture noundef readonly, ...) local_unnamed_addr #1

; Function Attrs: nofree nounwind
declare noundef i32 @fflush(ptr nocapture noundef) local_unnamed_addr #1

declare i32 @s2n_in_unit_test_set(i1 noundef zeroext) local_unnamed_addr #2

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

; Function Attrs: mustprogress nofree nosync nounwind willreturn memory(none)
declare ptr @__errno_location() local_unnamed_addr #4

declare i32 @s2n_print_stacktrace(ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare i32 @isatty(i32 noundef) local_unnamed_addr #5

; Function Attrs: nofree nounwind
declare noundef i32 @fileno(ptr nocapture noundef) local_unnamed_addr #1

declare ptr @s2n_strerror(i32 noundef, ptr noundef) local_unnamed_addr #2

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

declare ptr @s2n_strerror_debug(i32 noundef, ptr noundef) local_unnamed_addr #2

; Function Attrs: nounwind
declare ptr @strerror(i32 noundef) local_unnamed_addr #5

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

; Function Attrs: noreturn nounwind
declare void @exit(i32 noundef) local_unnamed_addr #7

declare i32 @s2n_enable_atexit() local_unnamed_addr #2

declare i32 @s2n_init() local_unnamed_addr #2

declare zeroext i1 @s2n_is_tls13_fully_supported(...) local_unnamed_addr #2

declare i32 @s2n_cleanup() local_unnamed_addr #2

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

declare ptr @s2n_external_psk_new() local_unnamed_addr #2

declare i32 @s2n_psk_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_psk_set_identity(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_psk_set_secret(ptr noundef, ptr noundef, i16 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_psk_configure_early_data(ptr noundef, i32 noundef, i8 noundef zeroext, i8 noundef zeroext) local_unnamed_addr #2

declare i32 @s2n_psk_set_application_protocol(ptr noundef, ptr noundef, i8 noundef zeroext) local_unnamed_addr #2

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

declare i32 @s2n_send_early_data(ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_debug_info_reset() local_unnamed_addr #2

declare ptr @s2n_connection_new(i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_cipher_preferences(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_append_psk(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_growable_alloc(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_io_stuffers(ptr noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_conn_get_current_message_type(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_recv_early_data(ptr noundef, ptr noundef, i64 noundef, ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_blinding(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_io_pair_close(ptr noundef) local_unnamed_addr #2

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

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

declare i32 @s2n_connection_get_early_data_status(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate_test_server_and_client(ptr noundef, ptr noundef) local_unnamed_addr #2

declare void @s2n_atomic_flag_clear(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_init(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_init(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_skip_write(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_read_bytes(ptr noundef, ptr noundef, i32 noundef) local_unnamed_addr #2

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

declare i32 @s2n_connection_ptr_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_is_evp_apis_supported(...) local_unnamed_addr #2

declare i32 @s2n_psk_wipe(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_psk_init(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_free(ptr noundef) local_unnamed_addr #2

declare i32 @s2n_blob_alloc_from_hex_with_whitespace(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_connection_set_server_max_early_data_size(ptr noundef, i32 noundef) local_unnamed_addr #2

declare i32 @s2n_stuffer_write(ptr noundef, ptr noundef) local_unnamed_addr #2

declare i32 @s2n_negotiate(ptr noundef, ptr noundef) local_unnamed_addr #2

; 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 = { nofree nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #2 = { "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #3 = { mustprogress nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) }
attributes #4 = { mustprogress nofree nosync nounwind willreturn memory(none) "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #5 = { nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #6 = { mustprogress nocallback nofree nosync nounwind speculatable willreturn memory(none) }
attributes #7 = { noreturn nounwind "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #8 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: readwrite) }
attributes #9 = { mustprogress nocallback nofree nounwind willreturn memory(argmem: write) }
attributes #10 = { inlinehint nounwind uwtable "min-legal-vector-width"="0" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+cmov,+cx8,+fxsr,+mmx,+sse,+sse2,+x87" "tune-cpu"="generic" }
attributes #11 = { 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, !6, i64 148}
!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 = !{!18, !18, i64 0}
!43 = !{!7, !7, i64 0}
!44 = !{!16, !12, i64 4080}
!45 = !{!16, !12, i64 4081}
!46 = distinct !{!46, !47}
!47 = !{!"llvm.loop.mustprogress"}
!48 = !{!32, !6, i64 28}
!49 = !{!32, !6, i64 24}
!50 = distinct !{!50, !47}
!51 = !{!16, !18, i64 2256}
!52 = !{!25, !10, i64 0}
!53 = !{!25, !6, i64 8}
!54 = !{!16, !6, i64 1688}
!55 = !{!16, !6, i64 4088}
!56 = !{i64 0, i64 4, !5, i64 8, i64 8, !9, i64 16, i64 4, !5, i64 20, i64 4, !5, i64 24, i64 1, !43, i64 32, i64 8, !9, i64 40, i64 4, !5, i64 44, i64 4, !5, i64 48, i64 1, !43, i64 56, i64 4, !5, i64 60, i64 4, !5, i64 64, i64 8, !42, i64 72, i64 8, !9, i64 80, i64 4, !5, i64 84, i64 4, !5, i64 88, i64 1, !43, i64 96, i64 4, !5, i64 100, i64 1, !43, i64 104, i64 8, !9, i64 112, i64 8, !9, i64 120, i64 4, !5, i64 124, i64 4, !5, i64 128, i64 1, !43, i64 136, i64 8, !9, i64 144, i64 4, !5, i64 148, i64 4, !5, i64 152, i64 1, !43, i64 160, i64 8, !42}


; Effective O3 passes: CorrelatedValuePropagationPass,EarlyCSEPass,GVNPass,GlobalOptPass,IPSCCPPass,IndVarSimplifyPass,InferAlignmentPass,InferFunctionAttrsPass,InstCombinePass,InstSimplifyPass,LCSSAPass,LoopRotatePass,LoopSimplifyPass,LoopUnrollPass,PostOrderFunctionAttrsPass,SROAPass,SimplifyCFGPass,TailCallElimPass